MY MEMO
[MACHINE LEARNING - Sung Kim] Softmax classification 본문
[MACHINE LEARNING - Sung Kim] Softmax classification
l_j_yeon 2017. 4. 5. 15:56Lecture 6-1,2
softmax classification : Multinomial classification
이 전에 우리는 Logistic regression을 공부했습니다.
데이터를 바탕으로 일차함수를 찾았는데 우리는 이 일차함수가 가장 큰값이 1 작은 값이 0으로 가게 만들고 싶어서
Logistic 함수를 썼습니다.
multinomial classification
A,B,C학점을 부여하고 싶을 때 위와 같은 좌표를 그릴 수 있다.
왼쪽부터 좌표를 1,2,3이라고 가정하면 1번 좌표에서 그래프를 그렸을 때, C학점을 찾을 수 있다.
2번째 좌표는 B학점을 찾을 수 있고, 3번째는 A학점을 찾을 수 있다.
위를 계산하기 위해서는 아래와 같은 방법을 이용해야한다.
matrix로 나타내면 위와 같이 되고 위는 matrix의 곱으로 쉽게구할 수 있다.
그럼 sigmoid는 어떻게 구할까?
위의 식으로부터 나온 Xa Xb Xc에 Sigmoid함수의 모듈을 곱하여 나타낼 수 있다.
+) sigmoid를 구한다?
=> matrix의 곱으로부터 나온 결과값의 범위가 0부터 1사이로 나오도록 만드는 것이 sigmoid를 구한다고 말한다.
위처럼 결과값의 합이 0부터 1사이이며 세개의 합이 1이 나오도록 하는 것을 원한다.
하지만 sigmoid모듈을 곱하지 않고 더 쉽게 값을 구하는 방법은 없을까?
그 방법이 바로 softmax이다!
softmax를 사용하면 결과값이 바로 우리가 원하는 0부터 1사이의 값으로 나타내어진다.
이렇게 0부터 1사이로 나온 값을 우리는 확률로 볼 수 있다
즉 모든 수를 더하면 1이 나오는 것이다.
+) 이중에서 하나만 나타내줘! => one hot encoding (아래에서는 가장 큰 0.7값을 1로 바꾸어 나타냈다)
softmax의 cost function
왼쪽 (우리가 예측한) 값과 오른쪽 (정답,실제) 값의 차이가 얼마나 되는지 위의 함수로 추측할 수 있다.
(Si즉 우리가 예측한 값은 softmax를 통과하는 값이기 때문에 항상 0에서 1사이를 유지한다.)
왜 이 함수가 적합한 함수일까?
위의 식을 보자.
정답값이 즉 실제값이 L이고 우리가 추측한 값이 Y라고 하면
첫번째 Y값은 실제값과 동일하고 두번째 값은 실제값과 차이가 있다.
위를 cost function에 넣어보면 첫번째 Y값의 cost function은 0 두번째 Y의 cost function은 무한대로 나타내어진다.
따라서 위의 식은 알맞게 계산이 된다.
+) 시그마 Li뒤의 *은 각각의 element를 곱해준다는 뜻이다.
즉 matrix의 곱이 아닌 각각의 element끼리의 곱이라는 의미이다.
위의 식을 보면 결국 logistic cost와 cross entropy의 식은 같다는 것을 알 수 있다.
여러개의 training set이 있을 때 cost function의 식을 나타내보면 아래와 같다.
cost function을 알아봤으면 당연 gradient descent도 살펴보아야한다.
위의 step밑의 식을 이용해서 step을 구할 수 있다.
식이 복잡해졌고 미분또한 복잡해져 현재는 계산하지 않지만 직관적으로 미분은 기울기를 의미한다는 것을 알 수 있다.
'MACHINE LEARNING > Sung Kim - 이론' 카테고리의 다른 글
[MACHINE LEARNING - Sung Kim] Application & Tips (0) | 2017.04.05 |
---|---|
[MACHINE LEARNING - Sung Kim] Learning Rate, Data Processing, Overfitting (0) | 2017.04.05 |
[MACHINE LEARNING - Sung Kim] Logistic Classification (0) | 2017.04.03 |
[MACHINE LEARNING - Sung Kim] Multi Variable Linear Regression (0) | 2017.04.03 |
[MACHINE LEARNING - Sung Kim] Cost function과 Gradient Descent algorithm (0) | 2017.04.03 |