-
활성화 함수 - 시그모이드 함수(Sigmoid function) 란?Deep Learning (DL) 2022. 10. 29. 02:19
활성화 함수(Activation function)
활성화 함수는 가중 합의 출력 값이 입력되었을 때, 그대로 출력 하지 않고
값을 증폭 시키거나, 감소 시키는 등 얼마 만큼의 신호로 출력 할 지 정해주는 함수이다.
2. 시그모이드 함수
계단 함수의 신호를 컴퓨터가 받기에는 제한되는 부분이 있어
(임계 값 지점에서 미분이 불가능하고, 나머지 지점에서는 미분 값이 0 이 나옴)
이를 개선하기 위하여 시그모이드 함수가 고안되었다.
(계단 함수를 활성화 함수로 채택하면 학습이 제대로 이루어 지지 않음)
시그모이드 함수는 1 과 0 두 가지 분류인 2진 분류 문제 적합한 함수이다.
계단 함수의 그래프와 유사하지만 부드러움이 추가된 곡선의 형태를 띄고 있다.
계단 함수처럼
임계 값 ( 0 ) 보다 작은 부분은 0 에 가까워 지고, 큰 부분은 1에 가까워 진다.
하지만 위에서 언급한 것처럼,
곡선의 형태를 띄고 있어 모든 지점에서 미분이 가능하며, 미분 값도 0 이 아니다.
코드 예시
def sigmoid(x): return 1/ (1+np.exp(-x)) # np.exp : 밑이 자연상수 e 를 지수함수(e^x) 의 형태로 변환해줌. # np.exp(0) == e^0 == 1.0 # np.exp(1) == e^1 == 2.718.. x = np.array([-5, -1, 0, 0.1, 5, 500000]) print(sigmoid(x)) # [0.00669285 0.26894142 0.5 0.52497919 0.99330715 1. ] x = np.linspace(-10, 10, 100) plt.plot(x, sigmoid(x)) plt.xlabel("x") plt.ylabel("Sigmoid(X)") plt.show()
'Deep Learning (DL)' 카테고리의 다른 글
활성화 함수 - 소프트맥스 함수 (Softmax function) 란? (0) 2022.10.29 활성화 함수 - ReLU 함수 (ReLU function) 란? (0) 2022.10.29 활성화 함수 - 계단 함수 (Step function) 란? (0) 2022.10.29 퍼셉트론의 도식화 (Feat. 가중치, 가중합) (0) 2022.10.28 퍼셉트론 (Perceptron) 이란? (0) 2022.10.27