본문 바로가기

Data Engineering/Language

[Python] Sigmoid vs Softmax 함수 정리

(1) sigmoid

Sigmoid 함수는 모든 범위의 실수를 취하고 0에서 1 사이의 출력 값을 반환합니다. 

시그모이드 함수는 "S" 형태의 포함될 커브를 생성합니다.

 

시그모이드는 이진분류에서 사용되는 함수입니다.

   1) 양수 및 0에 수렴 : 숫자가 0보다 크거나 같은 경우
   2) 음수 및 0에 수렴 : 숫자가 0보다 작거나 같은 경우


시그모이드 함수 사용
1) 로지스틱 회귀 모델에서 이진 분류에 사용되는 시그모이드 함수.
2) Activation function 기능으로 사용

 

xvals = np.arange(-5,5,0.0001)
def sigmoid(x):
    return 1/ (1+np.exp(-x))
    
yvals = sigmoid(xvals)
plt.plot(xvals,yvals)
plt.grid()
plt.title('sigmoid')
plt.show()

 

(2) Softmax 함수

 

네이버 출처

Softmax 함수는 'n'개의 클래스에 대해 각 대상 클래스의 확률을 계산합니다.
Softmax의 범위는 0에서 1이며, 모든 확률의 합은 1과 같습니다.
softmax 함수가 다중 분류 모델에 사용되면 각 클래스의 확률을 반환하며 대상 클래스는 높은 확률을 갖습니다.
수식은 주어진 입력 값의 지수 (e- 전력)와 입력의 모든 값의 지수 값 합계를 계산합니다.

softmax 함수의 특징
계산 된 확률은 0에서 1 사이입니다.
모든 확률의 합은 1과 같습니다.

softmax 함수의 사용
다중 분류 로지스틱 회귀 모델에 사용

 

- sigmoid(시그모이드) : binary-classification에서 사용
- softmax(소프트맥스) : multi-classification
에서 사용

 

반응형