目录
1 什么是激活函数? activation function
3.3.2 是连续区间的[0,1] , 可以天然等价视为概率!
一般是神经网络/ 感知机 用到的判断 神经元是否被激活的函数
函数形式 y=f(x)
- 可以说是 分段函数,或 阶跃函数/单位阶跃函数
- f(x)=0, if x<0
- f(x)=1, if x>=0
import numpy as np
import matplotlib.pyplot as plt
plt.figure()
X=np.linspace(-5,5,100)
Y=[]
for x in X:
if x<0:
y=-1
Y.append(y)
elif x>=0:
y=1
Y.append(y)
plt.plot(X,Y)
plt.show
sigmod函数比较经典
- sigmod函数形式,y=f(x)
- f(x)=1/(1+e^(-x))
- f(x)=1/(1+np.exp(-X))? ?#python内调用 numpy写法
import numpy as np
import matplotlib.pyplot as plt
plt.figure()
X=np.linspace(-5,5,100)
Y=[]
y2=1/(1+np.exp(-X)) # 注意写法需要用数组X,用x是错的 y2=1/(1+np.exp(-x))
for x in X:
if x<0:
y=-1
Y.append(y)
elif x>=0:
y=1
Y.append(y)
plt.plot(X,Y)
plt.plot(X,y2)
plt.show
ValueError: x and y must have same first dimension, but have shapes (100,) and (1,)
def sigmoid(x):
return 1/(1+np.exp(-x))
plt.figure()
X=np.linspace(-10,10,100)
y2=sigmoid(X)
# y2=1/(1-np.exp(-x)) #这样不行
plt.plot(X,y2)
plt.show
?
激活函数2,另外一种
还有的函数,分段函数图形是直的,但是上下限也是[-1,1]
f(x)=1, if x>0
f(x)=-1, if x<=0
类似的例子比如
1/2Σi=1~n(Yi-f(x)i)^2 ,加上1/2 就是为了微分结果导数更简单
?
激活函数3
如果有2个输出结果,就不适合 感知机的模式了?
最原始的
最小二乘法
最小误差之和