본문 바로가기

도서,강의 요약/모두를 위한 머신러닝

ML lec 6-2: Softmax classifier 의 cost함수

해당 자료는 "모두를 위한 머신러닝/딥러닝 강의"를 보고 개인적으로 정리한 내용입니다.

http://hunkim.github.io/ml/

 

모두를 위한 머신러닝/딥러닝 강의

 

hunkim.github.io

 

매트릭스를 이용해 N개의 값을 Classification

  • 매트릭스를 각 각 곱하여 Y햇 3가지 값을 구할 수 있음
  • classification는 0,1 2가지로 구분이 되어야 하지만, W와 X곱 연산은 여러가지 값이 발생
  • 이를 0 ~ 1 사이의 값으로 변환해주기 위한 것이 시그모이드 함수

Softmax Classifier

Softmax Classifier를 통해 Y햇 값을 0~1사이의 값으로 변환 가능

변환된 값은 P라고 표현하고 합은 1이 됨. 즉 P는 확률로도 볼 수 있음

WX의 연산으로 얻은 Y값들을 0~1사이의 값으로 변환. P의 합은 1

 

변환된 P값은 확률이므로, 확률값에 따라 0 또는 1로 변환 가능

Cost function

  • cross entropy 라고도 부름
  • D(S,L) 함수는 L(0또는 1로 변환된 값) * logS(softmax를 통해 얻은 값(예측된 Y값)을 log) 한 값들의 합의 마이너스
  • 즉, S와 L의 차이를 구해야 함

 

위 그림의 공식 형태를 변환

Cost Function의 상세 설명(위 함수가 어떻게 0,1값의 Cost를 구할 수 있는지)

  • Cost함수의 목적은 실제값과 맞으면 Cost 값을 최대한 작게, 실제값과 틀리면 Cost값을 최대한 큰 값을 얻어야 함

실제의 값이 B인 경우

예측이 맞은 경우 Cost는 0
예측이 틀린 경우 Cost는 무한대

Logistic cost 와 Cross Entropy

  • Logistic Classification에서 구한 방정식과 Cross Entopy는 같음
  • 왜 같은지에 대해서는 추가 공부 필요

 

Cost Function의 최종 형태

  • 각 Cost 값에 대한 평균

 

Cost Function의 최적화

  • 동일하게 Gradient descent 알고리즘을 통해 가능