해당 게시물은 Edwith에서 제공하는
머신러닝과 딥러닝 BASIC을 듣고 요약 정리한 글입니다.
Cost function
목표는 global minimum을 찾는 것
하나의 local에서 기울기가 변하지 않는 구간을 최솟값으로 잘못 인지 가능
기존의 Linear Regression의 Cost function 사용 불가
New cost function for logistic
cost(W)=m1∑c(H(x),y)
C(H(x),y)={−log(H(x))−log(1−H(x)):y=1:y=0
log함수를 사용하는 이유
예시) y
가 1일 경우
H(x)=1→cost(1)=0
H(x)=0→cost(1)=∞
예시) y
가 0일 경우
H(x)=0→cost(0)=0
H(x)=1→cost(1)=∞
위의 결과로 원하는 결과 값과 멀어질수록 무한대로 수렴
원하는 결과 값과 가까워질수록 0으로 수렴하도록 하기위해 log함수 사용
Cost function
C(H(x),y)=−ylog(H(x))−(1−y)log(1−H(x))
Minimize cost - Gradient decent algorithm
cost(W)=−m1∑ylog(H(x))+(1−y)log(1−H(x))
W:=W−ασWσcost(W)
파이썬 코드 예시
cost = tf.reduce_mean(
-tf.reduce_sum(Y * tf.log(hypothesis) + (1 - Y) * tf.log(1 - hypothesis))
)
a = tf.Variable(0.1)
optimizer = tf.train.GradientDescentOptimizer(a)
train = optimizer.minimize(cost)