softmax란? 신경망의 출력층에서 사용하는 activation function으로, 분류문제에 주로 쓰이는 함수
※ 회귀에서는 주로 항등함수(입력을 그대로 출력하는 함수)가 사용된다.
import numpy as np
def softmax(a) :
exp_a = np.exp(a) // np.exp(a)는 e^a이다.
sum_exp_a = np.sum(exp_a)
y = exp_a / sum_exp_a
return y
위의 코드는 a의 값이 커지면 컴퓨터가 표현할 수 있는 수의 범위를 넘어서는 오버플로 문제가 발생 할 수 있음으로 아래와 같은 코드로 변경하였다.
def softmax(a) :
c = np.max(a) //a는 array
exp_a = np.exp(a-c)
sum_exp_a = np.sum(exp_a)
y = exp_a / sum_exp_a
return y
softmax 함수의 출력은 0~1사이의 실수이며, 출력의 총합은 1이다. 따라서 이를 '확률'로 해석할 수 있다.
'정리필요 > AI' 카테고리의 다른 글
[개념] classification model 성능평가지표 (0) | 2021.03.18 |
---|---|
[개념] Regression model 평가 지표 (0) | 2021.03.17 |
[개념] Encoding이란? (0) | 2021.03.16 |