활성화 함수
3403 단어 Python
스텝 함수 import numpy as np
import matplotlib.pyplot as plt
def step_function(x):
return np.where(x<=0,0,1)
x = np.linspace(-5,5)
y = step_function(x)
print(x,y) #plt.plot(x,y)
plt.show()
[-5. -4.79591837 -4.59183673 -4.3877551 -4.18367347 -3.97959184
-3.7755102 -3.57142857 -3.36734694 -3.16326531 -2.95918367 -2.75510204
-2.55102041 -2.34693878 -2.14285714 -1.93877551 -1.73469388 -1.53061224
-1.32653061 -1.12244898 -0.91836735 -0.71428571 -0.51020408 -0.30612245
-0.10204082 0.10204082 0.30612245 0.51020408 0.71428571 0.91836735
1.12244898 1.32653061 1.53061224 1.73469388 1.93877551 2.14285714
2.34693878 2.55102041 2.75510204 2.95918367 3.16326531 3.36734694
3.57142857 3.7755102 3.97959184 4.18367347 4.3877551 4.59183673
4.79591837 5. ] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1]
장점
신경원의 흥분 상태를 1이나 0으로 표현할 수 있어 실현하기가 매우 간단하다
결점
0 이나 1로만 표현할 수 있는 것들.
신호 함수
import numpy as np
import matplotlib.pylab as plt
def sigmoid_function(x):
return 1/(1+np.exp(-x))
x = np.linspace(-5, 5)
y = sigmoid_function(x)
plt.plot(x, y)
plt.show()
장점
명령 함수는 계단 함수보다 더 매끄럽게 표시할 수 있으며, 0과 1 사이의 중간값을 나타낼 수 있다
미분 처리하기 쉽다
tanh(초회색조)
import numpy as np
import matplotlib.pylab as plt
def tanh_function(x):
return np.tanh(x)
x = np.linspace(-5, 5)
y = tanh_function(x)
plt.plot(x, y)
plt.show()
장점
0 중심의 차트 모양 표시
ReLU(램프 함수)
import numpy as np
import matplotlib.pylab as plt
def relu_function(x):
return np.where(x <= 0, 0, x)
x = np.linspace(-1, 3)
y = relu_function(x)
plt.plot(x, y)
plt.show()
장점
간단하고 단계가 많아져도 안정적으로 공부할 수 있다
항등함수
AI/머신러닝의 신경 네트워크의 항등함수(Identity function)나 선형함수(Lireer function)는 모든 입력 값을 완전히 같은 수치(=원형)로 변환해 출력하는 함수다.import numpy as np
import matplotlib.pylab as plt
x = np.linspace(-1, 3)
y = x
plt.plot(x, y)
plt.show()
장점
출력 범위가 무제한으로 연속되기 때문에 연속 수치를 예측하기에 적합하다
소프트 최대 함수import numpy as np
def softmax_function(x):
return np.exp(x)/np.sum(np.exp(x))
y = softmax_function(np.array([1,2,3]))
print(y)
출력[0.09003057 0.24472847 0.66524096]
제어가 0~1에 있음을 알 수 있다
장점
소프트 최대 함수는 신경원에 대응하는 상자에 분류될 확률을 나타낼 수 있다
Reference
이 문제에 관하여(활성화 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/salem333/items/315f35770d0886ccd4e3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
import matplotlib.pyplot as plt
def step_function(x):
return np.where(x<=0,0,1)
x = np.linspace(-5,5)
y = step_function(x)
print(x,y) #plt.plot(x,y)
plt.show()
[-5. -4.79591837 -4.59183673 -4.3877551 -4.18367347 -3.97959184
-3.7755102 -3.57142857 -3.36734694 -3.16326531 -2.95918367 -2.75510204
-2.55102041 -2.34693878 -2.14285714 -1.93877551 -1.73469388 -1.53061224
-1.32653061 -1.12244898 -0.91836735 -0.71428571 -0.51020408 -0.30612245
-0.10204082 0.10204082 0.30612245 0.51020408 0.71428571 0.91836735
1.12244898 1.32653061 1.53061224 1.73469388 1.93877551 2.14285714
2.34693878 2.55102041 2.75510204 2.95918367 3.16326531 3.36734694
3.57142857 3.7755102 3.97959184 4.18367347 4.3877551 4.59183673
4.79591837 5. ] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1]
import numpy as np
import matplotlib.pylab as plt
def sigmoid_function(x):
return 1/(1+np.exp(-x))
x = np.linspace(-5, 5)
y = sigmoid_function(x)
plt.plot(x, y)
plt.show()
import numpy as np
import matplotlib.pylab as plt
def tanh_function(x):
return np.tanh(x)
x = np.linspace(-5, 5)
y = tanh_function(x)
plt.plot(x, y)
plt.show()
import numpy as np
import matplotlib.pylab as plt
def relu_function(x):
return np.where(x <= 0, 0, x)
x = np.linspace(-1, 3)
y = relu_function(x)
plt.plot(x, y)
plt.show()
import numpy as np
import matplotlib.pylab as plt
x = np.linspace(-1, 3)
y = x
plt.plot(x, y)
plt.show()
import numpy as np
def softmax_function(x):
return np.exp(x)/np.sum(np.exp(x))
y = softmax_function(np.array([1,2,3]))
print(y)
[0.09003057 0.24472847 0.66524096]
Reference
이 문제에 관하여(활성화 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/salem333/items/315f35770d0886ccd4e3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)