ML/ETC

ML 개념 정리 - Activation function&Loss function(Softmax, multiclass SVM) 18.11.26

양갱맨 2018. 11. 26. 21:22

loss function = data예측이 얼마나 안좋은지를 나타냄

Dataset에서 각 N개의 샘플의 loss들의 평균을 구한다.

-> W 중에 loss를 최소화하는 W를 구하는 것.






<1. Multiclass SVM>

이진 SVM의 일반화된 형태로 여러 클래스를 다루기 위함.


image , label 가 주어질 때,

각 클래스에 대한 score를 나타내는 vector는 


이때 SVM loss의 형태는


여기서 +1은 margin 값을 나타낸다.

SVM loss 해석을 해보면

True인 카테고리를 제외한 나머지 카테고리  y의 합을 구한다.

올바르지 않은 카테고리와 정답 카테고리의 score s비교

정답 카테고리의 score가 아닌 카테고리 score+margin보다 크거나 같으면 loss를 0으로 준다.

그리고 나머지의 경우는 정답이 아닌 카테고리- 정답카테고리 + margin으로 loss를 준다.

이 loss값들을 다 더하면 total loss가 된다.





Q) 만약 가 된다면?

정답 카테고리의 score까지 loss에 더해지게 되니까 +1이 되는 것이다.

즉, min이 0이 될 수 없다.




Q) 를 적용하게 되면?

정답이 아닌 클래스 score에 더 민감해진다.

squared hinge loss 형태가 된다.





<2. softmax>


multi SVM와 다르게 softmax는 score에 의미를 부여한다.

softmax는 cross-entropy를 사용한다.


            -> score를 통해 class 별 확률 분포를 구한다.

= 지수를 취해 score들이 양수가 되도록 한다.

   그리고 그 지수를 다 더하고 normalize한다.

확률 분포를 얻어 어느 클래스에 해당하는지에 대한 "확률"을 얻는 것. [0~1]


정답 클래스에 해당하는 클래스는 1에 가까운 확률이 나와야한다.






Softmax

 Multi SVM


 계속 성능을 개선한다


일정 이상이 되면 개선 X 

 

정답클래스 확률을 1로 만들기 위해

정답 score는 양의 무한대, 

그 외는 음의 무한대로 보냄


해당 class마다 정답 class의 score가 

제일 높으면 예측 good 


 








<Regularization>

network의 overfitting을 해결하고 network가 복잡해지는 것을 막는다.

좀 더 단순한 형태의 weight를 선택해서 다른 data에도 적용할 수 있게 한다.


Regularization은 나중에 뒤에서 더 살펴볼것.







이 포스팅은 http://cs231n.stanford.edu 바탕으로 작성했습니다.

* 잘못된 부분들은 댓글 부탁드립니다