계단함수
Sigmoid 함수
Softmax 함수
계단함수, Sigmoid 함수
"퍼셉트론에서는 활성화 함수로 계단 함수를 이용한다"라고 할수 있다.
반면, 신경망에서는 활성함수로 시그모이드 함수를 이용하여 신호로 변환하고, 그 변환된 신호를 다음 뉴런에 전달한다.
# 계단 함수
def step_function(x):
y = x > 0
return y.astype(np.int)
# 시그모이드 함수
def sigmoid_function(x):
return 1 / (1 + np.exp(-x))
계단함수와 시그모이드 함수 공통점
- 비 선형 함수
※ 신경망에서 층을 깊에 쌓은 것에 대한 혜택을 받고 싶다면, 활성함수로 반드시 비선형 함수를 사용해야 한다.
Relu 함수
# Relu 함수
def relu(x):
return np.maximum(0, x)
Softmax 함수
- 출력층의 각 뉴런이 모든 입력신호에서 영향을 받는다.
def softmax(x):
exp_x = np.exp(x) # x는 배열
sum_exp_x = np.sum(exp_x)
y = exp_x / sum_exp_x
return y
소프트 맥스 함수는 모든 입력 신호로 부터 화살표를 받는다.
출력 층의 각 뉴런이 모든 입력 신호에서 영향을 받는다.
※ 활성화 함수는 문제의 성질에 맞게 정한다.
- 회귀에는 항등함수를
- 이진 클래스 분류에는 시그모이드 함수를
- 다중 클래스 분류에는 소프트맥스 함수를 사용하는 것이 일반적이다.
출처 : 밑바닥 부터 시작하는 딥러닝1
반응형
'데이터 과학 > 딥러닝(Deep Learning)' 카테고리의 다른 글
PCA(주성분 분석) 정리 (0) | 2021.02.10 |
---|---|
Autoencoder 설명 (0) | 2021.02.06 |
Transformer 설명 (0) | 2021.01.14 |
Attention 모델 - 구현편 (0) | 2020.12.27 |
RNN & LSTM 설명 및 구현 (2) | 2020.11.10 |