感知机一文中提到了感知机模型在分类问题上的应用,如果,我们需要将其使用于回归问题呢,应该怎样处理呢?
其实只要修改算法的最后一步,
sign(x)={+1−1,x≥0,x<0(1.1)sign(x)={+1−1,x≥0,x<0(1.1)
函数即可。经过sign函数的处理,只可能是两个值,要么1,要么-1,。如果将最后的sign函数改成该函数:
f(x)=x(1.2)f(x)=x(1.2)
那么,最后的输出值就是一个实数而不是1或-1中的一个值了,这样就达到了回归的目的。
2. 损失函数
在实际问题中,损失函数是根据不同的问题进行设计的,因此,单单改变了激活函数还不够,还需要改变损失函数,通常情况下,回归问题使用的损失函数为:
e=12(y−yˆ)2(2.1)e=21(y−y^)2(2.1)
在公式(2.1)中,yy表示训练样本里面的标记,也就是实际值;yˆy^表示模型计算的出来的预测值。ee叫做单个样本的误差。至于为什么前面要乘1/21/2,是为了后面计算方便。
根据公式(2.1),在nn个样本的数据集中,可以将总误差EE记为:
E=12∑i=1n(y(i)−yˆ(i))2(2.2)E=21i=1∑n(y(i)−y^(i))2(2.2)
在公式(2.2)中,y(i)y(i)表示第ii个样本的真实值,yˆ(i)y^(i)表示第ii个样本的预测值。且
yˆ(i)=h(x(i))=wTx(i)(2.3)y^(i)=h(x(i))=wTx(i)(2.3)
我们的目的,是训练模型:求取到合适的ww,使(2.2)取得最小值。
3. 求参数的方法
3.1 极大似然估计
该方法之前有提到过,大致思路为让损失函数对参数求导并令其为0,求出参数的值。具体的可以参考线性回归模型 ,但该方法仅适用于激活函数为f(x)=xf(x)=x的情况。
3.2 梯度下降算法
该方法是计算机通过强大的计算能力,一步步把极值点“试”出来,大致过程如下:
还记的感知机学习的步骤吗?主要是解决两个问题:
- 往哪走?
- 走多远?
首先随机选择一个点xx,在之后的过程中每次修改该点,经过数次迭代之后最终到达函数的最小值点。根据梯度的性质:梯度的反方向是函数值下降最快的方向,每次沿着梯度相反的方向修改xx的值,最后是有可能走到极小值附近的。该公式可以表示为:
xnew=xold−η∇f(x)(3.1)xnew=xold−η∇f(x)(3.1)
将其应用于我们的目标函数的权值中时,则有
wnew=wold−η∇E(w)(3.2)wnew=wold−η∇E(w)(3.2)
对∇E(w)∇E(w)则有:
∇E(w)=∂∂wE(w)=∂∂w12∑i=1n(y(i)−yˆ(i))2=12∂∂w∑i=1n(y(i)2−2yˆ(i)y(i)+yˆ(i)2)=12∂∂w∑i=1n(−2yˆ(i)y(i)+yˆ(i)2)=12∑i=1n[−2y(i)∂yˆ(i)∂w+∂yˆ(i)2∂w]=12∑i=1n[−2y(i)∂wTx(i)∂w+2yˆ(i)∂wTx(i)∂w]=12∑i=1n[−2y(i)x(i)+2yˆ(i)x(i)]=−∑i=1n(y(i)−yˆ(i))x(3.3)∇E(w)=∂w∂E(w)=∂w∂21i=1∑n(y(i)−y^(i))2=21∂w∂i=1∑n(y(i)2−2y^(i)y(i)+y^(i)2)=21∂w∂i=1∑n(−2y^(i)y(i)+y^(i)2)=21i=1∑n[−2y(i)∂w∂y^(i)+∂w∂y^(i)2]=21i=1∑n[−2y(i)∂w∂wTx(i)+2y^(i)∂w∂wTx(i)]=21i=1∑n[−2y(i)x(i)+2y^(i)x(i)]=−i=1∑n(y(i)−y^(i))x(3.3)
所以,梯度更新公式为:
wnew=wold+η∑ni=1(y(i)−yˆ(i))x(i)(3.4)wnew=wold+ηi=1∑n(y(i)−y^(i))x(i)(3.4)
若有M+1个特征,(常数项也包括在内),则w,xw,x是M+1维列向量,所以(3.4)可以写成
⎡⎣⎢⎢⎢⎢w0w1w2...wm⎤⎦⎥⎥⎥⎥new=⎡⎣⎢⎢⎢⎢w0w1w2...wm⎤⎦⎥⎥⎥⎥old+η∑ni=1(y(i)−yˆ(i))⎡⎣⎢⎢⎢⎢⎢⎢1x(i)1x(i)2...x(i)m⎤⎦⎥⎥⎥⎥⎥⎥⎣⎢⎢⎢⎢⎡w0w1w2...wm⎦⎥⎥⎥⎥⎤new=⎣⎢⎢⎢⎢⎡w0w1w2...wm⎦⎥⎥⎥⎥⎤old+ηi=1∑n(y(i)−y^(i))⎣⎢⎢⎢⎢⎢⎡1x1(i)x2(i)...xm(i)⎦⎥⎥⎥⎥⎥⎤
4. 与分类器的比较
算法 |
分类 |
回归 |
模型 |
sign(x)={+1−1,x≥0,x<0sign(x)={+1−1,x≥0,x<0 |
f(x)=xf(x)=x |
训练规则 |
w←w+η(y−yˆ)xw←w+η(y−y^)x |
w←w+η(y−yˆ)xw←w+η(y−y^)x |
5. 参考文献