python deeplearning 출력층 활성함수 softmax

 

softmax

신경망의 출력층에서는 다른 종류의 활성함수를 사용한다. 대표적으로 ‘softmax’ 가 있다. 여기서는 해당 함수를 구현한다.

python 코드


import numpy as np


a = np.array([0.3, 2.9, 4.0])


def softmax(a):
    c = np.max(a)
    exp_a = np.exp(a-c)
    sum_exp_a = np.sum(exp_a)
    y = exp_a/sum_exp_a

    return y



  • 출력층에서는 활성화 함수가 달라진다.
  • 일반적으로 회귀에는 항등 함수 분류에는 소프트맥스 함수를 사용한다.
\[y_k = {\exp(a_k) \over \sum_{i=1}^n \exp(a_i)}\]
  • 소프트맥스 함수는 분자는 입력신호의 지수함수, 분모는 모든 입력신호의 지수함수의 합이다

reference : 밑바닥부터 배우는 딥러닝