유튜브 34

14 - multinomial logistic classification 실습

# Lab 7 Learning rate and Evaluation import tensorflow.compat.v1 as tf tf.disable_v2_behavior() tf.set_random_seed(777) # for reproducibility x_data = [[1, 2, 1, 1], [2, 1, 3, 2], [3, 1, 3, 4], [4, 1, 5, 5], [1, 7, 5, 5], [1, 2, 5, 6], [1, 6, 6, 6], [1, 7, 7, 7]] y_data = [[0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0]] X = tf.placeholder("float", [None, 4..

13 - multinomial logistic classification

지금까지 분류를 Yes or No로 만 했습니다. 예를 들면 합격 불합격으로 정의했었죠? 그런데 저는 이 것은 여러가지 타입으로 하고 싶습니다. 예를 들면 학점을 생각할 수 있겠죠? 자, 만약에 아래와 같은 애가 있다고 생각해보겠습니다. 점수1 점수2 결과 50 70 A 40 30 B 20 20 C 60 80 A 40 40 B 얘를 한번 찍어보면 아래와 같이 나옵니다. 얘를 구분선으로 한번 구분해보면 이렇게 구분이 가능합니다. A or Not B or Not C or Not 정도로 구분이 가능하겠죠?? 그러면 A or Not부터 보겠습니다. 얘를 간단하게 수식으로 해보면 f(x) = w1x1 + w2x2 +b 가 되겠죠? 얘를 행렬로 해보면 얘를 A or Not, B or Not 등등 나머지 애들도 다 ..

12 - logistic classification 실습

import tensorflow.compat.v1 as tf tf.disable_v2_behavior() # 학습할 데이터들 # 공부시간 x_data = [[1, 2],[2, 3],[3, 1],[4, 3],[5, 3],[6, 2]] # 결과 0은 불합 1은 합격 y_data = [[0],[0],[0],[1],[1],[1]] X = tf.placeholder(tf.float32, shape=[None, 2]) Y = tf.placeholder(tf.float32, shape=[None, 1]) W = tf.Variable(tf.random_normal([2, 1]), name='weight') b = tf.Variable(tf.random_normal([1]), name='bias') # sigmode 만..

11 - logistic classification cost

이번에도 regression에서 했던 것 처럼 함수를 만든 것의 cost를 알아봐야겠죠? 근데 이 sigmoid 함수가 좀 이상하게 생겼습니다. linear regression는 일자 선으로 나와서 편했는데, 얘는 구불구불해요 그래서 얘의 cost function을 그려보면 아래와 같이 생긴게 아니라 아래와 같이 조금 구불구불하게 생겼습니다. 그러면 여기서 경사하강법을 사용한다고 가정해보면 위의 파란점에서 시작하면 주황색 점이 cost가 가장 적은 곳이라고 판단할 수도 있습니다. 그래서 이런 형태의 cost 함수를 사용합니다. 얘를 그려보면 아래와 같이 됩니다. 그래서 얘를 수식으로 정리하면 아래와 같은 애가 됩니다. 얘를 이용해서 학습을 시킵니다. 참조 [1] - https://www.youtube.c..

10 - Logistic Classification

Logistic Classification에 대해서 알아보겠습니다. 간단하게 생각하면 그냥 분류입니다. 스팸이냐, 스팸이 아니냐 암이냐, 암이 아니냐 등에 대해 Yes or No로 구분하는 방법을 말합니다. 네이버에 합격하기 위해 기술면접을 봤다고 생각해보겠습니다. 어느 특정한 시간을 기준으로, 이 기준보다 많이 공부한 사람들이 합격을 하고, 그 기준보다 적게 공부하면 실패를 합니다. 그렇다면 이제 얘네들을 가지고 이전에 배웠던 가설 함수를 그려봅니다. 위와 같이 그려지는데 그러면 얘를 중간값(0.5)를 기준으로 선을 그어보겠습니다. 그러면 0.5왼쪽에 있는 애들 실패, 오른쪽에 있는 애들 성공 이라고 이렇게 선을 그어서 판단할 수 있습니다. 여기에서 끝. 이면 좋겠지만 이런 경우가 생깁니다. 공부를 굉..

8 - regression 실습2

import tensorflow.compat.v1 as tf tf.disable_v2_behavior() # 재사용을 위한 설정 tf.set_random_seed(777) # Data들 x1, x2, x3 x1_data = [73., 93., 89., 96., 73.] x2_data = [80., 88., 91., 98., 66.] x3_data = [75., 93., 90., 100., 70.] # Data y 결과값 y_data = [152., 185., 180., 196., 142.] # https://gdyoon.tistory.com/5 # 텐서플로우 data type? 변수선언? x1 = tf.placeholder(tf.float32) x2 = tf.placeholder(tf.float32) x..

7 - regression 실습

우선은 conda install tensorflow를 해줍니다. 윈도우는 Anaconda Prompt에서 해주고, 맥에서는 그냥 콘솔에 해주시면 됩니다. 코드를 치면 아래와 같이 됩니다. # import tensorflow as tf # print(tf.__version__) # 2.0일 때는 아래의 코드로 import tensorflow.compat.v1 as tf tf.disable_v2_behavior() print(tf.__version__) # https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/api_docs/python/constant_op.html#set_random_seed # 재사용을 위해 설정 tf.set_random_se..

6 - 가설(Hyposthesis)

자, 아까 아빠키와 아들키에 대한 것을 잠시 봤습니다. 여기 라인을 보면 H(x) = Wx + b 와 같은 일차함수 형태로 나타낼 수 있습니다. 그런데 데이터가 많아지면서, 저런 라인을 아래와 같이 여러개를 그을 수 있겠죠? 그러면 어떤 라인을 쓰는 것이 가장 효율적인가? 라는 말이 어떤 라인을 쓰는 것이 머신러닝의 정확도가 높은가? 라는 말과 같다고 생각할 수 있습니다. 이 가설이 이 라인에서 얼마나 떨어져 있는가? 에 대한 값을 알아봅니다. 아까 봤던 저 위에 애들의 점을 확대해보겠습니다. 여기 보시면 저 점들이, 라인이랑 조금조금씩 떨어져 있습니다. 그래서 얘들이 얼마나 떨어져있는지 주황색 선으로 나타내 봤습니다. 그래서 여기서 드는 생각이, 저 주황색 선을 다 더한 값이 가장 작은 선을 구하면, ..

5 - 회귀(linear regression)

회귀(regression)에 대해서 알아보겠습니다. 회귀에 대해서 이야기하기 전에 잠깐 보고 갈 것이 있습니다. 기존에 코딩과 머신러닝이 다른 것은 기존 코딩에서는 이런 계산을 할 때 X+Y라는 수식을 적어주는데 머신러닝에서는 아래와 같이 이런식으로 수식을 지정해놓지 않고 무엇인가를 알아서 컴퓨터가 배우도록 합니다. 이걸 다시 보고 회귀로 돌아와보겠습니다. 저는 이 regression이라는 말을 들었을 때 이게 도대체 무슨소리인가 싶었는데 애를 찾아보면 위키백과에서 - 회귀 회귀 분석은 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한뒤 적합도를 측정해 내는 분석 방법이다. - 선형 회귀 선형 회귀 종속 변수 y가 한개 이상의 독립 변수 x와의 선형 상관 관계를 모델링하는 회귀분석 자 예네들을 이..