유튜브/대충 배우는 머신러닝 AI(영상삭제) 25

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