Sigmoid
2021. 10. 19. 21:44ㆍMath
728x90
Sigmoid
정의
실함수로써 유계이고 미분가능하며, 모든 점에서 음이 아닌 미분값을 가지고 단 하나의 변곡점을 가진다.
성질
일반적으로 단조함수이며 종 모양의 1차 미분 그래프를 가진다. $x \to\pm \infty$ 일 때, 한 쌍의 수평 점근선으로 수렴한다. 시그모이드 함수는 0보다 작은 값에서 볼록하고 0보다 큰 값에서 오목하다.
로지스틱 함수
$f(x)=\frac {1} {1 + e^{-x}} = \frac {e^x} {e^x+1}$
def sigmoid(x):
return 1 / (1+math.e**(-x))
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
장점
- not blowing up activation
- 0~1 사이의 범위여서 activation function이 급격히 커지지 않는다.
- smooth gradient while converging
- 수렴시에 gradient가 ReLU처럼 급격히 변하는 점이 없고 gradient가 연속이다.
- one of the best normarlized functions
- 좋은 정규화 함수중의 하나이다.
- clear prediction(classification) with 1 & 0
- 무한대로 발산 시 0과 1로 점근하기 때문에 0과 1로 분류하는 문제에 좋다.
단점
- vanishing gradient
- 계속해서 미분을하면 소수점이 무한히 곱해지며 0으로 수렴해 Layer를 많이 거칠 수록 정보가 사라진다.
- not a zero-centric functions(Always positive values)
- 중심점이 (0,1/2)로 (0,0) 대칭이 아니다.
- computationally expensive function(exponential in nature)
- 지수함수 이기 때문에 숫자가 급격히 커지고 그에 따라 계산량이 많아진다.
$S'(a) = S(a)(1-S(a))$
when $a \to \infty$
$S'(a)=S(a)(1-S(a)) = 1*(1-1) = 0$
Reference
https://en.wikipedia.org/wiki/Sigmoid_function
https://www.linkedin.com/pulse/top-10-activation-functions-advantages-disadvantages-dash/
https://www.kaggle.com/getting-started/157710