where is sigmoid? 그림 중에 빨간색으로 표시되어 있는 부분은 예측된 Y의 값이다. 이것을 우리는 Y hat이라고 부른다. 이 값은 W에 X를 곱하기 때문에 굉장히 크거나 작은 값일 수 있기에 0과 1사이로 값을 표현할 것이다. Softmax softmax는 점수로 나온 결과를 전체 합계가 1이 되는 0과 1 사이의 값으로 변경해 준다. 모두 더했을 때 1이 되는 이유는 0과 1사이의 값으로 나온 값이 확률이기 때문이다. 예를 들어 0.7이라는 것은 70%확률이 된다는 뜻이다. 검정 상자 안에 0과 1로 변환시켜 주는 softmax를 구현공식이 있는데, tensorflow에서는 softmax라는 함수가 있어서 그냥 호출해서 쓰면 된다. 굳이 구현을 하자고 하면 나의 크기가 전체 크기 중에서 ..
Logistic Regression을 부르는 다른 이름은 binary calassification이다. 데이터를 1과 0의 두 가지 그룹으로 나누기 위해 사용하는 모델이다. softmax는 데이터를 2개 이상의 그룹으로 나누기 위해 binary classification을 확장한 모델이다. 앞에서 배운 logistic regression을 보여주는 그림이다. 좌표상에 표현된 데이터를 2개의 그룹으로 나누는 decision boundary 직선이 인상적이다. 여기서 중요한 것은 Wx의 결과로 z가 나오고, S로 표현되는 sigmoid에 전달되고 최종적으로 Y를 예측한다. Y에 모자를 씌운 Y bar은 Y를 예측한 값을 의미한다. 여러 개의 label을 갖는 multinomial classification을..
Logistic classification Tensorflow-예습 복습에 따른 시험 합격 불합격 예측x_data=[예습횟수,복습횟수]y_data=[불합격or합격] 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf # y_data는 0과 1의 값만 가진다.x_data = [[1, 2], [2, 3], [3, 1], [4, 3], [5, 3], [6, 2]]y_data = [[0], [0], [0], [1], [1], [1]] # pl..
Logistic (regression) classification: cost function & gradient decent Linear Regression에서 배운 hypothesis와 이번에 배울 hypothesis를 비교해서 보여준다. hypothesis는 cost함수를 구성하는 핵심이기에 여기서도 cost함수가 달라져야 한다고 한다. 우리가 이전에 배운 hypothesis를 cost함수로 표현해 minimize하면 오른쪽 그림과 같이 나타난다. 왜냐하면 직선을 구부려 놓은 것이기 때문이다. 하지만 새로운 hypothesis를 이용해 cost함수를 식으로 나타내면 왼쪽 그림과 같이 울퉁불퉁하게 나타나게 된다. 왜냐하면 sigmoid를 구부려서 연결했기 때문이다. 이렇게 sigmoid를 구부려서 만든..
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함수로 나타내..
피보나치 수열(Fibonacci Sequence)피보나치 수열은 앞엣것 두 개 더해서 현재의 수를 만들어가는 수열이다. 수열의 n번째 값 = 수열의 n-1번째 값 + 수열의 n-2번째 값 따라서 피보나치 수열의 n번째 위치의 값을 반환하는 함수는 수학적으로 다음과 같이 표현이 되낟. 그럼 이를 코드로 옯겨보겠다. 12345678int Fibo(int n) { if (n == 1) return 0; else if (n == 2) return 1; else return Fibo(n - 1) + Fibo(n - 2);}Colored by Color Scriptercs 우리는 피보나치 수열을 모두 표현한 것이다. 보통 우리는 '이 함수가 호출이 되고, 그 다음은 저 함수가 호출되네' 라고 하면서 함수의 호출순서..