ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

感知机回归

2020-02-21 12:02:29  阅读:460  来源: 互联网

标签:partial 回归 2y 感知机 frac mathrm hat 1n


感知机一文中提到了感知机模型在分类问题上的应用,如果,我们需要将其使用于回归问题呢,应该怎样处理呢?

其实只要修改算法的最后一步,
sign(x)={+1,x01,x<0(1.1) sign(x)=\left\{\begin{matrix}+1 &, x\geq 0\\ -1 &, x< 0\end{matrix}\right.\tag{1.1}sign(x)={+1−1​,x≥0,x<0​(1.1)
函数即可。经过sign函数的处理,只可能是两个值,要么1,要么-1,。如果将最后的sign函数改成该函数:
f(x)=x(1.2) f(x)=x\tag{1.2}f(x)=x(1.2)
那么,最后的输出值就是一个实数而不是1或-1中的一个值了,这样就达到了回归的目的。


2. 损失函数

在实际问题中,损失函数是根据不同的问题进行设计的,因此,单单改变了激活函数还不够,还需要改变损失函数,通常情况下,回归问题使用的损失函数为:
e=12(yy^)2(2.1) e=\frac{1}{2}(y-\hat{y})^2\tag{2.1}e=21​(y−y^​)2(2.1)
在公式(2.1)中,y yy表示训练样本里面的标记,也就是实际值;y^ \hat{y}y^​表示模型计算的出来的预测值。e ee叫做单个样本的误差。至于为什么前面要乘1/2 1/21/2,是为了后面计算方便。

根据公式(2.1),在n nn个样本的数据集中,可以将总误差E EE记为:
E=12i=1n(y(i)y^(i))2(2.2) \begin{aligned}E&=\frac{1}{2}\sum_{i=1}^{n}(y^{(i)}-\hat{y}^{(i)})^2\end{aligned}\tag{2.2}E​=21​i=1∑n​(y(i)−y^​(i))2​(2.2)
在公式(2.2)中,y(i) y^{(i)}y(i)表示第i ii个样本的真实值,y^(i) \hat{y}^{(i)}y^​(i)表示第i ii个样本的预测值。且
y^(i)=h(x(i))=wTx(i)(2.3) \begin{aligned}\hat{y}^{(i)}&=h(\mathrm{x}^{(i)})\\&=\mathrm{w}^T\mathrm{x^{(i)}}\end{aligned}\tag{2.3}y^​(i)​=h(x(i))=wTx(i)​(2.3)
我们的目的,是训练模型:求取到合适的w \mathrm{w}w,使(2.2)取得最小值。


3. 求参数的方法

3.1 极大似然估计

该方法之前有提到过,大致思路为让损失函数对参数求导并令其为0,求出参数的值。具体的可以参考线性回归模型 ,但该方法仅适用于激活函数为f(x)=x f(x)=xf(x)=x的情况。

3.2 梯度下降算法

该方法是计算机通过强大的计算能力,一步步把极值点“试”出来,大致过程如下:
在这里插入图片描述
还记的感知机学习的步骤吗?主要是解决两个问题:

  1. 往哪走?
  2. 走多远?

首先随机选择一个点x xx,在之后的过程中每次修改该点,经过数次迭代之后最终到达函数的最小值点。根据梯度的性质:梯度的反方向是函数值下降最快的方向,每次沿着梯度相反的方向修改x xx的值,最后是有可能走到极小值附近的。该公式可以表示为:
xnew=xoldηf(x)(3.1) \mathrm{x}_{new}=\mathrm{x}_{old}-\eta\nabla{f(x)}\tag{3.1}xnew​=xold​−η∇f(x)(3.1)
将其应用于我们的目标函数的权值中时,则有
wnew=woldηE(w)(3.2) \begin{aligned}\mathrm{w}_{new}=&\mathrm{w}_{old}-\eta\nabla{E(\mathrm{w})}\\\tag{3.2}\end{aligned}wnew​=​wold​−η∇E(w)​(3.2)
E(w) \nabla{E(\mathrm{w})}∇E(w)则有:
E(w)=wE(w)=w12i=1n(y(i)y^(i))2=12wi=1n(y(i)22y^(i)y(i)+y^(i)2)=12wi=1n(2y^(i)y(i)+y^(i)2)=12i=1n[2y(i)y^(i)w+y^(i)2w]=12i=1n[2y(i)wTx(i)w+2y^(i)wTx(i)w]=12i=1n[2y(i)x(i)+2y^(i)x(i)]=i=1n(y(i)y^(i))x(3.3) \begin{aligned}\nabla{E(\mathrm{w})}&=\frac{\partial}{\partial\mathrm{w}}E(\mathrm{w})\\&=\frac{\partial}{\partial\mathrm{w}}\frac{1}{2}\sum_{i=1}^{n}(y^{(i)}-\hat{y}^{(i)})^2\\&=\frac{1}{2}\frac{\partial}{\partial\mathrm{w}}\sum_{i=1}^{n}(y^{(i)2}-2\hat{y}^{(i)}y^{(i)}+\hat{y}^{(i)2})\\&=\frac{1}{2}\frac{\partial}{\partial\mathrm{w}}\sum_{i=1}^{n}(-2\hat{y}^{(i)}y^{(i)}+\hat{y}^{(i)2})\\&=\frac{1}{2}\sum_{i=1}^{n}[-2y^{(i)}\frac{\partial \hat{y}^{(i)}}{\partial\mathrm{w}}+\frac{\partial \hat{y}^{(i)2}}{\partial \mathrm{w}}]\\&=\frac{1}{2}\sum_{i=1}^{n}[-2y^{(i)}\frac{\partial \mathrm{w}^T\mathrm{x^{(i)}}}{\partial\mathrm{w}}+2\hat{y}^{(i)}\frac{\partial \mathrm{w}^T\mathrm{x^{(i)}}}{\partial \mathrm{w}}]\\&=\frac{1}{2}\sum_{i=1}^{n}[-2y^{(i)}\mathrm{x^{(i)}}+2\hat{y}^{(i)}\mathrm{x^{(i)}}]\\&=-\sum_{i=1}^{n}(y^{(i)}-\hat{y}^{(i)})\mathrm{x}\tag{3.3}\end{aligned}∇E(w)​=∂w∂​E(w)=∂w∂​21​i=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)=21​i=1∑n​[−2y(i)∂w∂y^​(i)​+∂w∂y^​(i)2​]=21​i=1∑n​[−2y(i)∂w∂wTx(i)​+2y^​(i)∂w∂wTx(i)​]=21​i=1∑n​[−2y(i)x(i)+2y^​(i)x(i)]=−i=1∑n​(y(i)−y^​(i))x​(3.3)
所以,梯度更新公式为:
wnew=wold+ηi=1n(y(i)y^(i))x(i)(3.4) \mathrm{w}_{new}=\mathrm{w}_{old}+\eta\sum_{i=1}^{n}(y^{(i)}-\hat{y}^{(i)})\mathrm{x}^{(i)}\tag{3.4}wnew​=wold​+ηi=1∑n​(y(i)−y^​(i))x(i)(3.4)
若有M+1个特征,(常数项也包括在内),则w,x \mathrm{w},\mathrm{x}w,x是M+1维列向量,所以(3.4)可以写成
[w0w1w2...wm]new=[w0w1w2...wm]old+ηi=1n(y(i)y^(i))[1x1(i)x2(i)...xm(i)] \begin{bmatrix}w_0 \\w_1 \\w_2 \\... \\w_m \\\end{bmatrix}_{new}=\begin{bmatrix}w_0 \\w_1 \\w_2 \\... \\w_m \\\end{bmatrix}_{old}+\eta\sum_{i=1}^{n}(y^{(i)}-\hat{y}^{(i)})\begin{bmatrix}1 \\x_1^{(i)} \\x_2^{(i)} \\... \\x_m^{(i)} \\\end{bmatrix}⎣⎢⎢⎢⎢⎡​w0​w1​w2​...wm​​⎦⎥⎥⎥⎥⎤​new​=⎣⎢⎢⎢⎢⎡​w0​w1​w2​...wm​​⎦⎥⎥⎥⎥⎤​old​+ηi=1∑n​(y(i)−y^​(i))⎣⎢⎢⎢⎢⎢⎡​1x1(i)​x2(i)​...xm(i)​​⎦⎥⎥⎥⎥⎥⎤​

4. 与分类器的比较

算法 分类 回归
模型 sign(x)={+1,x01,x<0 sign(x)=\left\{\begin{matrix}+1 &, x\geq 0\\ -1 &, x< 0\end{matrix}\right.sign(x)={+1−1​,x≥0,x<0​ f(x)=x f(x)=xf(x)=x
训练规则 ww+η(yy^)x \mathrm{w}\gets\mathrm{w}+\eta(y-\hat{y})\mathrm{x}w←w+η(y−y^​)x ww+η(yy^)x \mathrm{w}\gets\mathrm{w}+\eta(y-\hat{y})\mathrm{x}w←w+η(y−y^​)x

5. 参考文献

  • 西瓜书
  • 统计学习方法
  • 零基础入门深度学习

标签:partial,回归,2y,感知机,frac,mathrm,hat,1n
来源: https://www.cnblogs.com/hichens/p/12340797.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有