본문 바로가기

AI & Deep Learning/이론

Logistic Classification Cost 함수

6. Logistic Classification Cost 함수 소개

 


- cost function 

cost function

: linear 와는 다르게 classification  cost 함수에서는 어느 지점에서 시작하느냐에 따라 도착지점이 달라지게 됨

: 부분부분의 최소점을 Local minimum,

최종적인 전체에서의 최소점을 Global minimum 이라고 함

 

: 학습이 local에서 멈춰버리면 나쁜 prediction 이 됨

-> 따라서 cost 함수를 바꾸어야 함

 

- binary classification 이므로, y=0/y=1 일 때의 경우를 나누어 cost 함수를 적용


: 실제로 

 에서

 

 (지수함수) 의 곡선의 형태를 상쇄시켜주는 것이 로그함수, 따라서 실제 값 0 or 1에 따라 다른 로그 함수를 적용

 


 1) y=1 인 경우,

y=1

 : cost = g(z) = -log(H(x))

 

 : z = H(x) =1 이면 (성공적으로 예측하면) cost=0

H(x)=0 이면 cost= ∞

 


2) y=0 일 때,

: cost = -log(1-H(x))

 

: H(x)=0 으로 성공적으로 예측하면, cost=0

H(x)=1 으로 잘못 예측하면, cost=∞

 

-> 예측을 틀리면, cost 가 굉장히 커져서 시스템에 벌을 줌

 

-> 다 좋은데 실제로 구현할 때 if case 를 만나면 복잡해지므로 

if 조건을 없애 만든 수식


: y=1 , 두번째 항의 식이0이 되어 없어짐, c = -log(H(x))

: y=0,앞 항의 식이0이 되어 없어짐, c = -1 * log(1-H(x))

 

-> 하나의 줄이 되어 프로그래밍 할 때 편리해짐

 

 

 - Cost minimize : gradient decent

cost(W)

: 함수의 기울기를 구하기 위해 미분,

어느 정도 차이로 내려갈지를 알파 (0.1) 로 둠

 

: tensorflow에 그대로 cost 를 적어주고, 


실제로 미분 파트(W)는 라이브러리가 있기 때문에 그대로 사용해서 구현 가능

: Variavle(0.1) 라이브러리 - 알파(0.1)

 

 

 

 

출처 : 모두의 딥러닝 https://hunkim.github.io/ml/