Softmax function

CODEDRAGON Development/Big Data, R, ...

반응형

 

 

 

Softmax function

·         소프트맥스는 총합이 1 형태로 바꿔서 계산해 주는 함수입니다.

·         실제 신경망의 응용에서는 출력단에서 SoftMax 함수를 많이 사용 하며, 특히 분류기(classifier) 관련 application SoftMax 함수를 쓰면 훨씬 좋습니다.

 

https://bit.ly/2WIJ0Vo

https://bit.ly/2If0Fei

https://en.wikipedia.org/wiki/Softmax_function

 

 

 

  

Softmax function 수식

 

 

K-차원을 갖는 벡터 z (0,1) 범위를 갖는 σ(z) 치환시키는 것과 같습니다.

자세히 보면, 확률 분포와 같다는 것을 수가 있으며, logistic regression이라고도 불리워집니다.

 

 

Zk 대해 편미분을 실시하면, j = k 때는 양수이고, j k 때는 음수가 됩니다.

, Zk 증가시키면 해당 뉴런의 출력값 σ(z) 증가하고, 다른 뉴런의 출력값은 감소하게 되는 성질을 갖게 됩니다.

 

 

 

Softmax function 활용 1

학습 결과에 대한 상과 벌을 보상(reward)으로 학습을 진행한다는 개념이기 때문에 SoftMax 개념과 맞아떨어진다고 있어 강화 학습(reinforcement learning) 매우 유용합니다.

 

SoftMax 수식을 살펴보면 있는 것처럼,

모든 뉴런의 출력값들의 합하면 '1' 되기 때문에 평균화(normalization) 효과 얻게 됩니다. 그렇기 때문에 문자 인식이나 숫자 인식과 같은 분류를 목적으로 하는 신경망의 최종단에 SoftMax 함수를 쓰면, 해당 값이 나올 확률을 수가 있으며, 가장 값이 나오는 쪽으로 분류가 됨을 있습니다.

 

 

 

Softmax function 활용 2

특정 항목의 변화가 최종 출력에 어떤 영향을 끼치는지를 바로 파악 가능한 효과도 덤으로 얻을 있습니다.