본문 바로가기

코딩 학원(국비지원)

활성(Activation)함수 그래프 그리기. (106일차 코딩학원)

반응형

활성 함수를 그리는 파이썬 프로그램 작성하기

요구사항 파악 : 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()

 

활성함수 그래프

활성함수(Activation)함수 그래프

잘 그려졌다. plt.figure(figsize=(15, 3)) 이 사이즈가 가장 비슷하게 그려지는 것 같다. 

 

 

 

반응형