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
- oracle
- Python
- 자바 열거형
- openai
- 스프링 부트3
- Selenium
- URI 원칙
- conda remove
- Java
- 컬렉션 프레임웍
- 머신러닝
- 쓰레드 풀
- WinError5
- 사이킷런 회귀
- 자바 로그 레벨
- 오라클
- 프로그래머스
- h2 데이타베이스
- 컬렉션 인터페이스
- 사이킷런
- 셀레니움
- REST API
- streamlit
- 알고리즘
- 완주하지못한선수
- 파이썬
- db
- GIT
- 스프링 부트
- 차원증가
Archives
- Today
- Total
노트 :
활성화 함수 구현하기 본문
먼저 numpy와 matplotlib 라이브러리를 임포트한다.
import numpy as np
import matplotlib.pyplot as plt
각각의 함수를 구현한다.
1. 계단함수
1) 정의: 0을 경계로 출력이 0에서 1(또는 1에서 0)으로 바뀌는 함수로, 그래프의 결과가 계단처럼 생김
2) 코드
def step_function(x):
return np.array(x > 0, dtype = np.int)
x = np.arange(-5.0, 5.0, 0.1) #-5.0에서 5.0 전까지 0.1간격의 넘파이 배열 생성
y = step_function(x)
plt.plot(x, y)
plt.ylim(-0.1, 1.1) #y축의 범위 지정
plt.show()
3) 실행결과
2. 시그모이드(Sigmoid) 함수
1) 정의: 0 또는 1을 반환하는 계단 함수와 달리 실수 값을 반환하는 함수로, 매끄러운 S자 모양의 비선형 함수
2) 코드
def sigmoid(x):
return 1 / (1 + np.exp(-x)) #np.exp(-x)는 자연상수e의 -x승을 의미
x = np.arange(-5.0, 5.0, 0.1)
y = sigmoid(x)
plt.plot(x, y)
plt.ylim(-0.1, 1.1)
plt.show()
3) 실행결과
3. ReLU(Rectified Linear Unit) 함수
1) 정의: 입력이 0을 넘으면 그 입력 그대로 출력하고, 0이하이면 0을 출력하는 함수, 0을 기준으로 상승하는 형태
2) 코드
def relu(x):
return np.maximum(0, x)
x = np.arange(-5.0, 5.0, 0.1)
y = relu(x)
plt.plot(x, y)
plt.ylim(-0.1, 1.1)
plt.show()
3) 실행결과
출처: 「밑바닥부터 시작하는 딥러닝」, 사이토 고키 지음, 개앞맵시 옮김, 한빛미디어
'ML' 카테고리의 다른 글
Scikit-learn - 데이터 인코딩 (0) | 2023.04.08 |
---|---|
피처 스케일링과 정규화 (0) | 2023.03.27 |
반응형 머신러닝 앱을 만드는 가장 빠른 방법 - gradio (0) | 2023.03.04 |
DALL-E 2 (0) | 2023.03.03 |
ChatGPT (0) | 2023.01.29 |