안녕하세요. 위기의코딩맨입니다.
오늘은 TensorFlow의 소프트맥스 회귀, 크로스엔트로피, 원핫인코딩의 의미에 대해 간단하게 알아보도록 하겠습니다.
[ Softmax Regression ]
다중분류를 위한 기법이며, 소프트맥스 회귀기법은 앞에서 알아보았던 Linear Regression에 결과 값에서 Softmax함수를 적용해서 모델의 출력 값을 각각의 확신의 정도로 출력할 수 있도록 만들어주는 기법입니다.
결과 값(logits)을 Softmax함수는 Normalization함수로 결과 값들의 합을 1(확신의 정도)로 변경해줍니다.
[ Cross-Entropy ]
분류에 대한 문제에서는 크로스 엔트로피 손실함수도 많이 사용되는데
평균제곱오차, 즉 MSE와 같이 모델의 예측 값이 참값과 비슷하면 작은값, 참값과 다르면 큰값의 형태를 제공합니다.
해당 수식으로 나타내는데, q(xi)는 참값, x는 모델의 예측 값을 나타내며, MSE보다 학습이 더 잘되는것으로 나타납니다.
그래서 대부분 MSE보다 크로스엔트로피 함수를 사용합니다.
[ One-Hot-Encoding ]
자연어 처리에서는 문자를 숫자로 바꾸는 여러가지 기법들이 있습니다. 그중 대표적인 기법이며,
범주형 값을 이진화된 값으로 바꿔 표현하는 기법을 의미합니다.
사자, 호랑이, 표범의 범주형 데이터가 있을때 Intger Encoding의 방식으로 표현하면
[“사자” =1, “호랑이”=2,”표범”=3]
One-Hot-Encoding 기법으로 표현하면
“사자”=[1,0,0],”호랑이”=[0,1,0],”표범”=[0,0,1]으로 표현하게 됩니다.
예제에서 나타나듯이 해당하는 레이블에 인덱스 1로 나타내고 나머지는 0으로 표현됩니다.
One-Hot-Encoding을 사용하는 이유로는 Intger Encoding의 문제점인 머신러닝 알고리즘의 정수 값으로부터 잘못된 경향성을 학습할 수있기 때문에 조금 더 정확하게 학습할수 있도록 도움을 주기 위해 One-Hot-Encoding을 사용합니다.
오늘은 소프트맥스 회귀, 크로스엔트로피 손실함수, 원핫인코딩의 의미와 표현을 간단하게 알아보았습니다.
조금씩 배워나가보도록 하겠습니다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/002.gif)
'Python > Tensorflow' 카테고리의 다른 글
[We-Co] Bidirectional RNN 예제 - MDB Movie Review (0) | 2021.10.02 |
---|---|
[We-Co] Softmax regression MNIST 예제 - Tensorflow (0) | 2021.10.01 |
[We-Co] 선형회귀 숫자 예측 - TensorFlow Linear Regression (0) | 2021.09.27 |
[We-Co] TensorFlow 변수,상수선언과 Session() (0) | 2021.07.22 |
[We-Co] random_normal(), random_uniform() 난수텐서 초기화 (0) | 2021.07.22 |