一.核岭回归
线性分类模型加入了L2正则化以后,最佳解是w关于z的线性组合,因此带有L2正则化的线性分类模型能引入核函数,也就是把线性模型变成核函数的形式。
在线性回归模型中,损失函数为:
当给线性回归模型加入L2正则化以后得到的解是解析解,且解是w关于z的线性组合,此时的回归是岭回归。
因此我们可以引入核函数,把岭回归中解w变为解
可以采用梯度下降法来求解。
求出
要使得损失最小,则令∇Eaug(β) = 0则有解析解:
由于K 是半正定的,因此公式中的逆矩阵一定存在。
核岭回归的时间复杂度为
从上图可以看出,使用线性岭回归的时候得到的拟合曲线是线性的,采用核岭回归的时候拟合曲线是非线性的,但是线性岭回归在计算时间上的开销比核岭回归小。当数据量大的时候不适合采用核岭回归。核函数的引入增加了模型选择的余地,但是增加了计算量。
二.支持向量回归
现在分别采用soft-margin SVM和核岭回归对同一个数据集分类,上图是分类的结果,方框框起来的是支撑向量,我们发现采用LSSVM(最小平方SVM,也就是核岭回归)时候每个样本点都是suport vectors,尽管两个模型得到的分类面相似,但是由于LSSVM有更多的支持向量,就导致了解出来的
该怎么做才能使得LSSVM解出来的
tube 回归
由于我们在做回归分析,我们希望找到一个能够很好的拟合数据集的拟合曲线,因此假设这个拟合曲线是一个tube(隧道),落入tube中的样本点,我们视而不见,认为没有拟合出错,认为落入tube外的样本点是犯错了,我们的拟合曲线没能很好的拟合。
现在假设上图中的tube的高度为
通常称该损失函数为insensitive error,也就是说对落入tube内的样本点‘漠不关心’。
我们可以采用L2正则化的tube回归来获得稀疏的
比较tube 回归误差与最小平方误差,可以发现当两者误差小时,两者的误差几乎一样,而且tube不那么受到异常值的影响。因此可用tube回归误差代替最小平方误差。
我们希望tube误差最小,则有,优化目标为:
由于tube回归误差存在不可微分的点,因此不能用梯度下降算法,采用引入核函数的解法不能保证得到稀疏解,因此我们采用模仿标准SVM:
去掉max,
去掉绝对值符号,这就是SVR:
分类时的效果:
参数C:重视正则化还是重视tube 回归的误差
参数
这是一个QP问题,一共有
为了去掉限制条件,因此引入了拉格朗日函数。
三.支持向量回归的对偶问题
KKT条件:
写出拉格朗日函数L,然后求出L对w的导数并令其为0,则有:
求出L对b的导数,并令其为0,则有:
经过推导最终可以得到SVR的对偶问题:
我们将岭回归改进为LSSVM的原因是希望得到更加复杂的模型,但是又不会有太差的泛化能力,但是在LSSVM中,我们求出的参数
当样本点落在tube中,则
四.核模型总结
第二排可用LIBLINEAR。
第一排由于表现不怎么好,所以不经常使用;第三排由于求得的参数
核函数:多项式核函数、高斯核函数,如果自己设计核函数,那么要使得设计的核函数满足 Mercer’s condition。
最近迷恋上了python全栈,一个大坑,浪费了很多时间,使得听课出现了脱节,感觉掌握的不够深,需要重新刷两遍视频。