Deep Learning/혼공 머신 러닝 - 딥러닝

[DL] 소프트맥스 (softmax)

KimTory 2022. 1. 3. 23:12

▶ 소프트 맥스 / 정의

 

① 시그모이드 함수는 하나의 선형 방정식의 출력값을 0~1 사이로 압축하여 사용 되나,

    소프트 맥스는 함수 여러 개의 선형 방정식의 출력값을 0~1사이로 압축하고 전체 합이 1이 되도록 만듦

② 지수 함수를 사용 하기에 정규화된 지수 함수라고도 칭함

④ CNN에서 뉴런의 출력값에 대해 Classification 마지막 단계에서 출력값에 대한 정규화를 해주는 역할

 → 소프트 맥스 함수의 특징은 결과물의 수치의 합 : 1.0

 

https://wikidocs.net/35476 참고

 

[ 밑바닥부터 시작하는 딥러닝 참고]

 

# 함수 정의
import numpy as np
import pandas as pd

a = np.random.uniform(low=0.0, high=10.0, size=3)

def softmax(arr):
    m = np.argmax(arr)
    arr = arr - m
    arr = np.exp(arr)
    return arr / np.sum(arr)

y = softmax(a)


// Result
y
array([0.40425513, 0.02291779, 0.57282709])
y.sum() 
1.0 # 소프트 맥스 함수의 결과치의 도합은 항상 1.0이다

[ 결론 ]

-. 신경망에서 sigmoid는 활성화 함수로 softmax는 출력층에 사용되지만, 수학적으로는 서로 같은 함수

-. 다중 클래스 분류 모델과 확률적 분류에 구분에 주로 사용됨

'Deep Learning > 혼공 머신 러닝 - 딥러닝' 카테고리의 다른 글

[DL] 심층 신경망  (0) 2022.01.04
[DL] 인공 신경망 / 정의  (0) 2022.01.04
[DL] 22.01.02 메모  (0) 2022.01.02
[DL] DL에서 사용 하는 활성화 함수의 역할  (0) 2022.01.02
[DL] 주성분 분석  (0) 2021.12.21