Cross entropy loss in machine learning
20 Jan 2019 0 Comments | cross entropy loss deep learning machine learningCross entropy loss in machine learning
맨날 그냥 사용하기만 하는 cross entropy loss에 대해 공부해보려 한다.
- 손실함수는 신경망 학습의 목적
- Cross-entropy는 squared loss와 더불어 양대 손실함수
- Cross-entropy는 신경망 출력을 확률로 간주할 수 있는 경우에 사용되는 매우 중요한 손실함수
Cost/Loss function
Squared loss
Mean squared loss
Information
- 어떤 사건을 수치로 나타낸 것
- 확률을 이용한다
- : 동전의 앞면이 나올 때(event)
- : 확률변수, random process
- (모두 같은 표현)
사건을 수치화 하기
- 사건이 드물게 발생할수록 정보가 커야 함.
- 의 확률을 수치화 해 보면?
- log는 곱셈을 덧셈 연산으로 바꿔줌
- 의 양 변에 log를 취한게 최종 정보량으로 정의 됨
-
-
Entropy
- 정보량의 기댓값
- 확률변수 의 기댓값에 대한 공식
- : 확률변수 의 분포함수(확률질량함수, 확률밀도함수)
- 이므로
- 가 성립함
- 따라서, 에 대해서 다음이 성립
-
-
Cross entropy
- 다른 사건의 확률을 곱해서 entropy를 계산한 것
- 예를 들어 0 또는 1만 가지는 확률변수 가 있을 때(Bernoulli),
-
-
신경망의 손실함수로 활용
- 일 때,
-
- 우 항 sum 안쪽의 식은 베르누이 확률변수를 n회 시행해서 얻은 샘플로부터 베르누이 확률변수의 평균과 분산을 추정하는 어떤 방법으로부터 유도 가능
- Maximum likelihood estimation
Cross-entropy 그래프
- 아래로 볼록 모양으로 최소값을 구할 수 있음
- 부호를 바꾸면 최댓값을 구할 수 있음.
- 성공(1) 또는 실패(0)만 나오는 경우, 이렇게 나오게 되는 확률이 가장 크게 되는 x의 값을 얼마로 추정?
- 성공과 실패가 반반 나온 경우
- 성공 70%과 실패 30% 나온 경우
결론
-
- 신경망 출력이 0~1 사이의 확률로 나오는 경우 loss 함수로 사용 할 수 있음
- [참고글]
https://www.slideshare.net/jaepilko10/ss-91071277