多种线性回归,及向非线性回归的转化
标签:
it |
分类: 机器学习算法详解 |
一、Linear regression工作原理
1、根据training data训练参数http://s2/bmiddle/004mfPsMzy7m6wOlHih11&690,求得待测样本点的输出值。
二、linear regression参数求解过程
Way1、http://s15/bmiddle/004mfPsMzy7m6wSx7pI2e&690
缺陷:这种求解方式存在一个局限,即当http://s15/bmiddle/004mfPsMzy7m6wWEpZ40e&690值。
针对http://s16/bmiddle/004mfPsMzy7m6wYaI7Z8f&690不可逆的问题,我们可以采用“岭回归”解决:
岭回归的目标函数为:http://s5/bmiddle/004mfPsMzy7m6x0451ia4&690
此时,参数的求解公式变为:http://s2/bmiddle/004mfPsMzy7m6x1Q6w9b1&690;
岭回归最初是用来解决“特征数”多于“样本数”的情况,现在也用于在估计中加入偏差,从而减小样本预测时的方差。
与Linear regression相比,岭回归目标函数实际上是在linear regression目标函数的基础上,加了一个限制条件:http://s12/bmiddle/004mfPsMzy7m6x5q6wjcb&690;
Lasso回归与岭回归一样,都是在Linear regression目标函数的基础上加了一个“限制条件”,其“限制条件”为:http://s13/bmiddle/004mfPsMzy7m6xc7QGE0c&690很小的情况下,w中的某些分量能够被压缩为0,因而能更好的反应数据特性。但是,lasso限制条件的计算复杂度较岭回归大很多,为了降低计算复杂度,在实际应用中我们可以利用“前向逐步回归算法”来实现Lasso回归。
前向逐步回归
http://s9/bmiddle/004mfPsMzy7m6xmrDba38&690
Way2、利用梯度下降算法来求解参数http://s4/bmiddle/004mfPsMzy7m6xsacnNc3&690。
梯度下降算法有batch-gradient descend和stocastic-gradient descend两种,当training data样本量较多时,由于batch-GD迭代一次需要计算所有的training data,计算量较大,此时用stocastic-GD较好;另外,与stocastic-GD相比,batch-GD更容易陷入“局部最优解”中。因此,基于上述两方面的考量,stocastic-GD要比batch-GD效果好。
Way3、利用local weighted linear regression algorithm求解参数http://s1/bmiddle/004mfPsMzy7m6xumHG870&690
该算法的目标函数为:http://s8/bmiddle/004mfPsMzy7m6xw1xfp97&690
对于给定的一个待测样本点x,可以计算出wi,然后优化目标函数,求得使目标函数值最小的参数http://s6/bmiddle/004mfPsMzy7m6xD8OkB55&690
三、linear regression的non-linear transform
根据映射:http://s16/bmiddle/004mfPsMzy7m6xON4Qvbf&690,可以将linear regression转化为non-linear regression:http://s9/bmiddle/004mfPsMzy7m6yijMJq88&690例如:转化后的特征空间可以是:z=(1,x(1),x(2),[x(1)]2,[x(2)]2,x(1)x(2))。这种特征空间的转化可以提高模型的复杂度,使得模型能够得到更小的“偏差”,但是,与此同时,也可能出现overfitting,从而增加“方差”,为减少模型overfitting的危险,我们可以引入“正则化”;
四、Regularization
上述non-linear regression经正则化后的目标函数可表示为:http://s16/bmiddle/004mfPsMzy7m6yq2OSPdf&690可用(1)梯度下降法;(2)牛顿法;求解。
Way1:把c类问题转化为c个两类问题:构造c个线性判别函数,每一个线性判别函数用来判断待测样本是否属于某个类别。对于某一待测样本,计算c个线性判别函数http://s8/bmiddle/004mfPsMzy7m6yvEgD5a7&690,则待测样本属于i类。
延伸:kesler构造法
对于一个c类分类问题,假设存在一个线性机,能将所有样本正确分类,我们称这个样本集是线性可分的。假设线性机的c个线性分类器的参数分别为http://s13/bmiddle/004mfPsMzy7m6yyZoa84c&690,则说明样本x属于i类。
我们可以利用kesler构造将上述“多分类预测问题”转化为“矩阵运算”。
首先,构造一个参数矩阵:http://s13/bmiddle/004mfPsMzy7m6yIT6wI4c&690,则说明待测样本属于i类。
Kesler构造方法的主要作用是:在证明多分类问题的收敛性时,kesler可通过将“多类误差校正法”转化为“两类问题”来实现多分类问题收敛性的证明。
Way2:把样本分为c个类别,构造http://s2/bmiddle/004mfPsMzy7m6yNWxBT31&690个线性判别函数的分类结果,最后,将投票数最多的类别作为待测样本的分类结果。

加载中…