반응형
활성 함수를 그리는 파이썬 프로그램 작성하기
요구사항 파악 : 1x4의 step, logistic sigmoid, tanh(hyperbolic tangent), ReLU and softplus 활성 함수를 그리는 프로그램을 만들어야 한다. 격자 간격, 그래프 선 색깔, 격자무늬를 설정해야 한다. 오타 나지 않게 조심.
파이썬 코드
import numpy as np
import matplotlib.pyplot as plt
# Step 함수
def step(x):
return np.where(x >= 0, 1, -1)
# Sigmoid 함수
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# Tanh 함수
def tanh(x):
return np.tanh(x)
# ReLU 함수
def relu(x):
return np.maximum(0, x)
# Softplus 함수
def softplus(x):
return np.log(1 + np.exp(x))
# x 범위 설정
x = np.linspace(-6, 6, 5000)
# 그래프 그리기
plt.figure(figsize=(15, 3))
# Step 함수 그리기
plt.subplot(1, 4, 1)
plt.plot(x, step(x), color='blue')
plt.title('Step')
plt.grid(True) # 격자무늬 추가
# Sigmoid 함수 그리기
plt.subplot(1, 4, 2)
plt.plot(x, sigmoid(x), color='blue')
plt.title('logistic sigmoid')
plt.grid(True)
# Tanh 함수 그리기
plt.subplot(1, 4, 3)
plt.plot(x, tanh(x), color='blue')
plt.title('tanh(hyperbolic tangent)')
plt.grid(True)
# ReLU 함수와 Softplus 함수 그리기
plt.subplot(1, 4, 4)
plt.plot(x, softplus(x), color='red', label='Softplus')
plt.plot(x, relu(x), color='blue', label='ReLU')
plt.title('ReLU and Softplus')
plt.legend()
plt.grid(True)
# 그래프 출력
plt.tight_layout()
plt.show()
활성함수 그래프
잘 그려졌다. plt.figure(figsize=(15, 3)) 이 사이즈가 가장 비슷하게 그려지는 것 같다.
반응형
'코딩 학원(국비지원)' 카테고리의 다른 글
108일차 코딩학원 (Tensorflow, @tf.function) (0) | 2023.06.27 |
---|---|
107일차 코딩학원 (1) | 2023.06.26 |
105일차 코딩학원 (시각화의 중요성) (2) | 2023.06.22 |
104일차 코딩학원 (신경망과 활성화함수) (1) | 2023.06.21 |
103일차 코딩학원 (DL) (3) | 2023.06.20 |