Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 모두를 위한 RL
- 리스트
- Deep Learning
- reinforcement learning
- 유니티
- ML-Agent
- Jacobian Matrix
- Laplacian
- unity
- statistics
- Linear algebra
- 판다스
- convex optimization
- list
- machine learning
- Series
- rl
- optimization
- 데이터 분석
- David Silver
- Python Programming
- 사이킷런
- 딥러닝
- 강화학습
- 논문
- neural network
- paper
- Hessian Matrix
- 김성훈 교수님
- pandas
Archives
RL Researcher
Activation Function(sigmoid 함수) 본문
1. Sigmoid Function
sigmoid함수는로지스틱 회귀분석 또는 Neural Network의 binaray classification 마지막 레이어의 활성함수로 사용합니다.
$$\sigma (x) = \frac{1}{1+e^{-x}}$$
로지스틱 회귀분석이란?
- 데이터를 두개의 그룹으로 분류하는 가장 기본적인 방법입니다.
※ 회귀분석과의 차이는 사용자가 원하는 것이 실수인 예측값이기 때문에 종속변수의 범위가 실수이지만 로지스틱 회귀분석에서는 종속변수 y의 값이 0 또는 1을 가집니다. 따라서, 로지스틱 회귀분석을 사용할 때는 주어진 데이터를 분류할 때 0인지 1인지 예측하는 모델을 만들어야 합니다.
sigmoid 함수는 별로 인기가 없었다가, Gradient vanishing이라는 널리 알려진 문제를 극복한 활성화 함수라서 최근에 많이 사용합니다.
# module import
import numpy as np
# function definition
def sigmoid(x):
return 1 / (1 + np.exp(-x))
x = np.array([-1.0,1.0,2.0])
sigmoid(x)
========================================================================
<output>
array([0.26894142, 0.73105858, 0.88079708])
이 함수가 ndarray형태도 처리할 수 있는 것은 numpy의 Broacast에 있습니다.
※ 브로드캐스트(Broadcast) : ndarray와 Scalar값의 연산을 ndarray의 원소 각각과 Scalar값의 연산으로 바꿔 수행하는 것
t = np.array([1.0,2.0,3.0])
print(1.0 + t)
========================================================================
<output>
array([2., 3., 4.])
print(1.0 / t)
========================================================================
<output>
array([1. , 0.5 , 0.33333333])
위의 2개의 예제와 같이 Scalr값과 ndarray의 각 원소 사이에서 연산이 이뤄지고, 연산 결과는 ndarray로 출력되었습니다.
다음은 sigmoid함수를 그래프로 그려보겠습니다.
x = np.arange(-5.0,5.0,0.1)
y = sigmoid(x)
plt.plot(x,y)
plt.ylim(-0.1, 1.1)
plt.grid()
plt.show()
'Machine-Learning > Algorithm' 카테고리의 다른 글
결정계수(coeffcient of determination, R2) (0) | 2020.12.27 |
---|---|
평균 절댓값 오차 - MAE(Mean Absolute Error) (0) | 2020.12.27 |
평균 제곱근 오차(RMSE(Root Mean Squared Error)) (0) | 2020.12.25 |
가중치(weight), 편향(bias) (0) | 2020.12.25 |
평균제곱오차(Mean Square Error) (0) | 2020.12.23 |
Comments