cost function이 1/(1+e^-W^TX) 일 경우 linear 하지 않으므로
중간에 다른 값에서 멈출 수 있어서 사용할 수 없다.
그래서 cost function 을 바꿔야한다.
cost(W) = 1/m(시그마 c(H(x),y)
c(H(x),y) = -log(H(x)) : y = 1
-log(1-H(x)) : y = 0
e 함수를 역함수인 로그로 바꿈
cost 함수는 예측 값과 실제 값이 같으면 작아지고 틀리면 커지는 것
y=1
H(x) = 1 -> cost(1) = 0
H(x) = 0 -> cost = 무한 잘못
y=0
H(x) = 0, cost = 0
H(x) = 1, cost = 무한 잘못
C(H(x),y) = -log(H(x)) - (1-y)log(1-H(x)) //if문을 없애서 표현
y=1, c=-log(H(x))
y=0, c=-log(1-H(x))
똑같음
W는 [2,1] X가 2 Y가 1 이기 때문에
b는 1, Y가 1이기 때문에
HL(X) = WX
Z=HL(X), g(Z)
g(Z) = 1/(1+e^-z)
HR(X) = g(HL(X))
X -> W함수 -> Z -> sigmoid함수 -> Y햇
여러 값이 있을 때 여러 개의 나누는 함수
3개가 분포되어 있을 때 한 개씩 나눈다. (A인지 아닌지, B인지 아닌지, C인지 아닌지)
[w1 w2 w3] [w1
w2
w3]
-> [3*3] [3*1] 행렬의 곱으로 확장시키면 된다.
'Studying > Deep Learning' 카테고리의 다른 글
[모두를 위한 딥러닝] 6일차 (0) | 2017.04.02 |
---|---|
[모두를 위한 딥러닝] 5일차 (0) | 2017.03.27 |
[모두를 위한 딥러닝] 3일차 (0) | 2017.03.24 |
[모두를 위한 딥러닝] 2일차 (0) | 2017.03.22 |
[모두를 위한 딥러닝] 1일차 (0) | 2017.03.20 |