Sigmoid

2021. 10. 19. 21:44Math

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