感知器训练

输出y=f(wx+b).。。。。。。  (1)

激活函数为阶跃函数f(z),当z>0时,f(z)=1,当z=otherwise时,f(z)=0

利用感知器训练算法,即感知器规则迭代的修改Wi和b,直到训练完成。

Wi=Wi+△Wi

b=b+△b

△Wi=n(t-y)Xi

△b=n(t-y)

Wi是与输入Xi对应的权重项,b是偏置项。事实上,可以把b看作是值永远为1的输入Xb所对应的权重。t是训练样本的实际值,一般称之为label。而有y是感知器的输出值,它是根据公式(1)计算得出。n是一个称为学习速率的常数,其作用是控制每一步调整权的幅度。

每次从训练数据中取出一个样本的输入向量x,使用感知器计算其输出y,再根据上面的规则来调整权重。每处理一个样本就调整一次权重。经过多轮迭代后(即全部的训练数据被反复处理多轮),就可以训练出感知器的权重,使之实现目标函数。

感知器可以拟合任何的线性函数,任何线性分类线性回归问题都可以用感知器来解决。


感知器有一个问题,当面对的数据集不是线性可分的时候,『感知器规则』可能无法收敛,这意味着我们永远也无法完成一个感知器的训练。为了解决这个问题,我们使用一个可导线性函数来替代感知器的阶跃函数,这种感知器就叫做线性单元。线性单元在面对线性不可分的数据集时,会收敛到一个最佳的近似上。

为了简单起见,我们可以设置线性单元的激活函数f

f(x)=x

这样替换了激活函数f之后,线性单元将返回一个实数值而不是0,1分类。因此线性单元用来解决回归问题而不是分类问题。

线性单元的模型

y=h(x)=w*x+b   (1)

函数h(x)叫做假设,而w、b是它的参数

线性单元的目标函数

E(w)=1/2∑(t-y)∧2    (2)

t表示训练样本里面的标记,也就是实际值;y表示模型计算的出来的预测值

模型的训练,实际上就是求取到合适w,使(式2)取得最小值。这在数学上称作优化问题,而E(w)就是我们优化的目标,称之为目标函数

梯度下降优化算法

梯度下降算法的公式

Xnew=Xold-倒△f(x)

由式2梯度下降算法可以写成

Wnew=Wold-倒△E(w)

倒△E(w)=-∑(t-y)xi

线性单元的参数修改规则最后是这个样子

Wnew=Wold+n∑(t-y)xi

函数的梯度的定义就是它相对于各个变量的偏导数,倒△E(w)就是E(w)的梯度

https://www.zybuluo.com/hanbingtao/note/448086



猜你喜欢

转载自blog.csdn.net/fuge92/article/details/80407003