Skip to content

Sigmoid function

The logistic curve

시그모이드 함수(Sigmoid function)는 S와 같은 형태(Sigmoid curve)를 가진 함수를 말한다. 로지스틱 함수 (Logistic function)의 특별한 형태이기도 하다. 주로 학습 곡선등을 나타내는 함수로, 0에 가까운 작은 값에서 일정한 유한값에 점근하는 함수이다.

등식은 아래와 같다:

$$ S(t) = \frac{1}{1 + e^{-t}} $$

시그모이드 함수는 \(\sigma\)(Sigma)로 나타내기도 한다.

Derivative

Logistic function#Derivative항목에 풀이를 정리했다. 결과만 말하자면 아래와 같다:

$$ \frac{d}{dx} \sigma(x) = \sigma(x) \cdot (1 - \sigma(x)) $$

Sigmoid neuron

위의 시그모이드 함수를 사용하여 input \(x_1, x_2, ...\)와 weight \(w_1, w_2, ...\)그리고 bais \(b\)를 가진 sigmoid neuron은 아래와 같다.

$$ \begin{eqnarray} \frac{1}{1+\exp(-\sum_j w_j x_j-b)}. \end{eqnarray} $$

이 것은 \(\Delta \mbox{output}\)\(\Delta w_j\)\(\Delta b\)의 1차 함수로 표현할 수 있다는 말이다. 이러한 선형성은 output에서 발생하는 작은 변화가 우리가 원하는 방식으로 만들어 질 수 있도록 weight와 bias를 바꾸기 쉽다는 것을 의미한다. 그렇기 때문에 sigmoid neuron은 perceptron의 형태와 질적으로 많이 비슷하며, 어떻게 weight와 bias를 바꿀지를 알아내는 것이 훨씬 쉽다.

그렇다면 sigmoid neuron의 output을 어떻게 해석해야 할까? perceptron과 sigmoid neuron의 가장 큰 변화는 sigmoid neuron은 0 또는 1 이외의 output을 가질 수 있다는 점이다. 0과 1 사이의 어떠한 실수가 될 수 있기 때문에 0.173과 0.689 와 같은 값들이 output이 될 수 있다. 이러한 속성은 매우 유용한데, 예를 들면 우리가 한 이미지 안에 있는 픽셀들의 평균 intensity를 neural network의 output으로 나타낼 수 있다는 점이다. 하지만 이러한 속성은 때때로는 매우 성가실 때도 있다. 만약 우리가 "이미지가 9다" 또는 "이미지가 9가 아니다" 이렇게 두가를 output으로 가지는 network가 있다고 가정해 보자. 이러한 경우에는 당연히 output을 0과 1로 표현하는 것이 훨씬 쉬울것이다. 하지만 output을 0.5보다 크거나 같은지에 따라 "9"인지 "9"가 아닌지를 결정하게 된다면 쉽게 문제를 해결할 수 있다.

See also

Favorite esite

References


  1. Sigmoid_Function_of_Artificial_Neural_Network.pdf