-
활성화 함수 - 계단 함수 (Step function) 란?Deep Learning (DL) 2022. 10. 29. 01:57
활성화 함수(Activation function)
활성화 함수는 가중 합의 출력 값이 입력되었을 때, 그대로 출력 하지 않고
값을 증폭 시키거나, 감소 시키는 등 얼마 만큼의 신호로 출력 할 지 정해주는 함수이다.
활성화 함수는
크게 4가지 종류가 있다.
1. 계단 함수 ( Step function )
입력 값이 임계값을 넘기면 1, 그렇지 않으면 0 을 출력하는 함수이다.
주로,
생물체의 전기적인 신호를 보낸다=1, 보내지 않는다=0 의 형태로 대화하기 때문에
이를 모사하기 위하여 계단 함수가 고안되었다.
임계값이란?
귀무가설 하 검정 통계량의 분포에서
귀무가설을 기각해야 하는 값의 집합을 정의하는 점 이다.
이 집합은 임계 또는 기각 영역이라고 한다.
(예시 이미지의 그래프 에서는 임계값이 0 으로 주어져 있다.)
Step function
위 그래프를 토대로 출력 값(==가중 합 == 0.5)을 입력 해 보면,
1 이 출력 됨을 알 수 있다.
코드 예시
###python 코드 # 필요한 패키지를 import 해줍니다. import numpy as np import matplotlib.pyplot as plt import math # 입력할 샘플 데이터를 만들고 확인합니다. x = np.array([-1, 1, 2]) print("input : ", x) # 입력 값이 임계값(0)을 넘기는지 판단합니다. y = x>0 print("Logic : ", y) # 논리(boolean)형태를 정수형으로 바꾸어 0과 1로 나타냅니다. y = y.astype(np.int) print("Boolean : ", y) >>> input : [-1 1 2] >>> Logic : [False True True] >>> Boolean : [0 1 1] ### 함수 def step_function(x): return np.array(x>0, dtype=np.int) # 함수가 제대로 만들어 졌는지 값을 출력해봅니다. print(step_function(-1)) # 0 print(step_function(0.5)) # 1 print(step_function(500000)) # 1 # 구현한 계단 함수의 값을 바탕으로 그래프를 그려봅시다. x = np.linspace(-1, 1, 100) plt.step(x, step_function(x)) plt.show()
'Deep Learning (DL)' 카테고리의 다른 글
활성화 함수 - 소프트맥스 함수 (Softmax function) 란? (0) 2022.10.29 활성화 함수 - ReLU 함수 (ReLU function) 란? (0) 2022.10.29 활성화 함수 - 시그모이드 함수(Sigmoid function) 란? (0) 2022.10.29 퍼셉트론의 도식화 (Feat. 가중치, 가중합) (0) 2022.10.28 퍼셉트론 (Perceptron) 이란? (0) 2022.10.27