즐거운프로그래밍

[딥러닝] 딥러닝 활성화 함수(sigmoid, ReLU, 계단 함수)

수수께끼 고양이 2023. 10. 28. 22:02
728x90
반응형

 

1. sigmoid 함수 그려보기(계단 함수, 역전파)

import numpy as np

def sigmoid(x):
    return 1/(1+np.exp(-x))

# x=np.random.uniform(-10,10,1000)
x=np.random.uniform(-10,100,10000)
y=sigmoid(x)

import matplotlib.pyplot as plt

plt.plot(x,y,'r.')
plt.show()

 

 

 


2. ReLU 함수 그려보기

import numpy as np

def ReLU(x):
    return x*(x>0)

x=np.random.uniform(-10,10,1000)
y=ReLU(x)

import matplotlib.pyplot as plt

plt.plot(x,y,'g.')
plt.show()

 

 

 


3. 계단 함수 그려보기

import numpy as np
def step(x):
    return x>0

x=np.random.uniform(-10,10,1000)
y=step(x)

import matplotlib.pyplot as plt

plt.plot(x,y,'b.')
plt.show()

 

 

 


 

* 계단 함수를 matplotlib 라이브러리와 FuncAnimation 클래스를 이용하여 표현하기

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

fig,ax=plt.subplots()
ax.set_xlim(-10,10)
ax.set_ylim(-0.1,1.1)

data=np.random.uniform(-10,10,1000)
x,y=[],[]
line,=plt.plot([],[],'b.')

def step(x):
    return x>0

def update(frame):
    x.append(frame)
    y.append(step(frame))
    line.set_data(x,y)
    
ani=FuncAnimation(fig, update, frames=data, interval=20)
plt.show()

 

점점 그래프가 그려지는 과정을 보실 수 있습니다

 

 

 

 

728x90
반응형