Logistic(regression) classification이번에는 Linear Regression을 활용해서 데이터를 분류하는 모델을 설명해 보겠다. 이름은 Logistic Classification이라고 부른다. 분류에서 가장 단순한 모델로 2가지 중에 하나를 찾는 모델이다. 위 그림은 두 가지 불류를 활용할 수 있는 몇 가지 예제를 설명하고 있다. 스팸 메일 탐지, 페이스북 피드 표시, 신용카드 부정 사용은 두 가지 값 중의 하나를 선택하게 된다. 이번 그래프는 학생들의 성적을 선처리(preprocessing)해서 모든 점수를 0 또는 1로 변환했다는 것을 전제로 한다. linear regression은 Wx+b 공식을 통해서 직선을 긋고 이걸 토대로 결과를 예측하는 방식이다. 하지만 Wx+b공..
Hypothesis using matrix여러 개의 입력(variable, feature)을 가진 linear regression을 텐서플로우로 직접 구현해 보겠다. 데이터가 3개인 경우는 이렇게 나타낼 수 있다. 그럼 이처럼 데이터가 3개인 경우를 tensorflow로 직접 구현해 보자 1234567891011121314151617181920212223242526272829import tensorflow as tfx1_data=[73.,93.,89.,96.,73.]x2_data=[80.,88.,91.,96.,73.]x3_data=[75.,88.,91.,100.,70.]y_data=[152.,185.,180.,195.,142.] x1=tf.placeholder(tf.float32)x2=tf.placeho..
multi-variable linear regression저번엔느 문제를 쉽게 하기 위해 입력 변수(feature)가 하나밖에 없는 단순 모델을 보여줬지만, 여기서는 여러 개의 입력 변수를 다루기 위한 전초적으로 2개의 입력을 처리하는 것을 보여주겠다.시험 성적을 예로 들어 보겠다. 왼쪽 모델은 시험 성적을 공부 시간으로만 판단하는 것이다. 하지만 성적에 영향을 줄 수 있는 것에는 공부시간뿐만 아니라, 졸린 상태였는지, 휴대폰을 만지면서 하였는지 모두 살펴봐야 한다. 원래 우리가 쓰던 hypothesis이다. 위의 경우는 공부시간만 넣은 경우다. 휴대폰 사용시간, 티비 시청 시간 등 값을여러개 넣고 싶을 경우에는 어떻게 해야 할까? 이와 같이 표현하면 된다. 위 Hypothesis를 cost함수로 나타내..
Simplified hypothesis 여기서는 간략한 hypothesis를 사용하겠습니다.(b생략) cost 최소화의 tensorflow 구현x축은 w가 되고 y축은 cost가 된다. 1234567891011121314151617181920212223import tensorflow as tfimport matplotlib.pyplot as plt X=[1,2,3] Y=[1,2,3] W=tf.placeholder(tf.float32)hypothesis=X*W cost=tf.reduce_mean(tf.square(hypothesis-y)) sess=tf.Session()sess.run(tf.global_variables_initializer()) W_val=[] cost_val=[]for i in rang..
Hypothesis and cost function 위의 것을 텐서플로우를 구현할 것이다. 자세한 내용은 아래 링크에서 확인할 수 있습니다. http://jwlee010523.tistory.com/8?category=81 Linear Regression 구현하기 cost는 W,b의 함수이다. 학습을 한다는 것은, W와 b를 조절해서 cost를 minimize하는 것을 말한다. 이를 파이썬을 이용해 구현해 보자 123456789101112131415161718192021222324252627282930import tensorflow as tf x_train=[1,2,3]y_train=[1,2,3] #실제 x,y 데이터들 W=tf.Variable(tf.random_normal([1]),name="weight..
Tensorflow의 기본적인 OperationsTensorflow란?텐서플로우는 Machine Intelligence을 위해 구글에서 만든 오픈소스 라이브러리이다.Data flow Graph를 이용해 수치 계산(numerical computaion)을 할 수 있다.Data Flow GraphData Flow Graph는 수학 계산과 데이터의 흐름을 노드(Node)와 엣지(Edge)를 사용한 방향 그래프(Directed Graph)로 표현한다. 위 그림은 텐서플로우가 그래프라고 하는 자료구조(Data Structure)처럼 동작한다는 것을 알려주는 그림이다. 그래프는 정거장처럼 보이는 노드가 간선(edge)으로 연결된 다른 노드로 이동할 수 있다는 것을 전제로 한다. 연결되어 있기만 하면 어디든 가기 때..
cost function의 최소화 Hypothesis와 그것의 cost를 구하는 함수는 아래와 같습니다.우리느 여기서의 cost function을 가장 작게 하고 싶은 것입니다. 최소의 cost를 가지는 것을 어떻게 찾는가?위 표의 데이터를 이용하여 각 W를 가정하고 cost를 구해 봅시다. W=1, cost(W) = 0w=0, cost(W) = 4.67W=1, cost(W) = 4.67 W가 1일 때 값이 0, W가 0일 때 값이 4.67, W가 2일 때 값이 4.67가 나옵니다. 이러한 것들을 컴퓨터를 이용해 그려보면이러한 형태의 2차 방정식이 나오게 됩니다. 여기서 우리의 목적은 cost 함수의 최소화의 지점을 찾는 것이 목적이 됩니다. cost 최소화 알고리즘(Gradient descent alg..
Linear Regression이란?Linear : 직선Regression : 회귀이 두단어를 합쳐보면 Linear Regression(직선 회귀)가 됩니다. 말 그대로 입니다 기계가 학습을 할려면 학습을 하기 위해 많은 데이터가 필요합니다. x데이터는 공부한 시간, y데이터는 점수를 나태나는 데이터입니다.이러한 데이터를 training data라고 합니다.위 데이터를 regression 모델에 학습을 시키고 나서, x로 6를 regression 모델에 입력하면 출력으로 65정도 되는 점수가 출력 될 것입니다. 위 과정들이 Linear Regression을 모두 표현한 것입니다. Hypothesis(가설)세상에는 정말 많은 Linear Regression이 있습니다.예를 들면, 공부하는 시간이 많으면 성..