일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- sorted
- 안드류응
- 코세라
- 프로그래머스
- 머신러닝강의
- 경제공부
- programmers
- DATE_FORMAT
- 코세라강의
- 파이썬
- Algorithm
- POP
- sql
- mysql
- sql오답노트
- Andrew NG
- 인프런sql강의
- groupby
- Machine Learning
- coursera
- SQL공부
- map
- orderby
- 코세라머신러닝강의
- 프로그래머스SQL
- WHERE
- 머신러닝
- 코세라머신러닝
- PYTHON
- 알고리즘
Archives
- Today
- Total
미래를 예측하는 데이터분석가
[딥러닝] 정보이론, 엔트로피(Entropy), KL divergence, 크로스엔트로피(Cross-Entropy) 개념, 정리, TIL 복습하기!!!! 본문
PYTHON/Deep Learning
[딥러닝] 정보이론, 엔트로피(Entropy), KL divergence, 크로스엔트로피(Cross-Entropy) 개념, 정리, TIL 복습하기!!!!
잘하다연 2024. 12. 21. 17:42정보이론: 엔트로피, KL 발산, 크로스엔트로피
1. 정보량과 엔트로피: 불확실성의 총합
- 정보량: 어떤 사건이 발생할 확률이 낮을수록 정보량이 큽니다.
- 예:
- "내일 해가 뜹니다"는 너무 당연해서 정보량이 낮음.
- "내일 외계인이 방문합니다"는 매우 희박하니 정보량이 큼.
- 예:
- 수식: 정보량 ( I(x) = -\log P(x) )
- ( P(x) ): 사건이 일어날 확률 (0~1).
- ( P(x) )가 1에 가까울수록 ( I(x) )는 작아지고, 0에 가까울수록 ( I(x) )는 커짐.
엔트로피
- 엔트로피는 전체 사건에 대한 평균 정보량입니다.
- 확률이 골고루 분포되어 있을수록(불확실성이 클수록) 엔트로피가 커집니다.
- 예:
- 동전을 던질 때 앞/뒤가 나올 확률이 같으면 엔트로피가 최대.
- 항상 "앞"만 나오면 엔트로피는 0.
- 수식: ( H(X) = -\sum P(x) \log P(x) )
- 모든 사건 ( x )에 대해 확률 ( P(x) )와 그 정보량 ( \log P(x) )의 곱을 더함.
2. Kullback-Leibler(KL) 발산: 분포 간의 차이
- KL 발산은 두 확률 분포 ( P )와 ( Q ) 간의 차이를 계산합니다.
- ( P ): 실제 분포 (기준).
- ( Q ): 내가 예측한 분포.
- ( P ) 관점에서 ( Q )가 얼마나 멀리 떨어져 있는지 측정.
- 비대칭적: ( D_{KL}(P||Q) \neq D_{KL}(Q||P) ).
- 수학적으로 거리(distance)가 아니라 발산(divergence).
- 수식:
D_{KL}(P||Q) = \sum P(x) \log \frac{P(x)}{Q(x)}
- ( Q(x) )가 ( P(x) )와 비슷해질수록 KL 발산은 작아짐.
활용
- KL 발산은 두 분포를 비슷하게 만드는 데 사용됩니다.
- 예: 머신러닝에서 모델의 예측 분포 ( Q )를 실제 데이터 분포 ( P )와 가깝게 조정.
3. 크로스엔트로피: 예측 성능 평가
- 크로스엔트로피는 KL 발산과 비슷하지만, 예측 분포 ( Q )와 실제 분포 ( P ) 간의 차이를 더 명확히 측정합니다.
- 수식:
H(P, Q) = H(P) + D_{KL}(P||Q)
- 크로스엔트로피는 실제 엔트로피 ( H(P) )에 KL 발산을 더한 값.
- ( Q )가 ( P )와 비슷할수록 값이 작아짐.
활용
- 크로스엔트로피는 딥러닝에서 예측 성능을 평가하는 데 자주 사용됩니다.
- 분류 문제에서 실제 클래스 ( P )와 모델 예측 ( Q )의 차이를 계산.
- ( Q )가 ( P )에 가까워질수록(정확히 예측할수록) 크로스엔트로피 값이 낮아짐.
요약
- 엔트로피: 정보의 혼란도를 나타내며, 확률이 골고루 분포될수록 높아짐.
- KL 발산: 실제 분포 ( P )와 예측 분포 ( Q ) 간의 차이를 측정.
- 크로스엔트로피: 실제 데이터와 예측 데이터의 차이를 계산하며, 예측 성능을 평가하는 데 사용됨.
실제 사례
- 딥러닝 모델 학습
- 이미지 분류, 음성 인식 등에서 크로스엔트로피를 손실 함수로 사용.
- 모델의 예측 분포 ( Q )를 실제 분포 ( P )에 가깝게 만듦.
- 자연어 처리
- 텍스트 예측 모델에서 다음 단어를 예측하는 데 크로스엔트로피 활용.
- 추천 시스템
- 사용자 선호도(실제 데이터)와 추천 결과(예측 분포) 간의 차이를 KL 발산으로 측정해 추천 성능 개선.
요약
엔트로피는 얼마나 예측하기 어려운가?
KL발산은 실제랑 내가 얼마나 다른가? - 차이측정
크로스엔트로피는 내 예측이 얼마나 잘못됐나? - 예측 성능 평가