机器学习实战-线性回归提高篇之乐高玩具套件二手价预测

作者:崔家华

编辑:王抒伟

线性回归

前言:

本篇文章讲解线性回归的缩减方法,岭回归以及逐步线性回归,同时熟悉sklearn的岭回归使用方法,对乐高玩具套件的二手价格做出预测。

岭回归:

如果数据的特征比样本点还多应该怎么办?很显然,此时我们不能再使用上文的方法进行计算了,因为矩阵X不是满秩矩阵,非满秩矩阵在求逆时会出现问题。为了解决这个问题,统计学家引入岭回归(ridge regression)的概念。

1、岭回归是啥子?

岭回归即我们所说的L2正则线性回归,在一般的线性回归最小化均方误差的基础上增加了一个参数w的L2范数的罚项,从而最小化罚项残差平方和:

简单说来,岭回归就是在普通线性回归的基础上引入单位矩阵。回归系数的计算公式变形如下

上式中,矩阵I是一个mxm的单位矩阵,加上一个λI从而使得矩阵非奇异,进而能对矩阵求逆。

岭回归最先用来处理特征数多于样本数的情况,现在也用于在估计中加入偏差,从而得到更好的估计。这里通过引入λ来限制了所有w之和,通过引入该惩罚项,能够减少不重要的参数,这个技术在统计学中也可以叫做缩减(shrinkage)。

缩减方法可以去掉不重要的参数,因此能更好地裂解数据。此外,与简单的线性回归相比,缩减法能够取得更好的预测效果。

为了使用岭回归和缩减技术,首先需要对特征做标准化处理。因为,我们需要使每个维度特征具有相同的重要性。本文使用的标准化处理比较简单,就是将所有特征都减去各自的均值并除以方差。

2、编写代码

代码很简单,只需要稍做修改,其中,λ为模型的参数。我们先绘制一个回归系数与log(λ)的曲线图,看下它们的规律,编写代码如下:

来看看运行结果:

上图绘制了回归系数与log(λ)的关系。

在最左边,即λ最小时,可以得到所有系数的原始值(与线性回归一致);

而在右边,系数全部缩减成0;在中间部分的某个位置,将会得到最好的预测结果。

想要得到最佳的λ参数,可以使用交叉验证的方式获得,文章的后面会继续讲解。

前向逐步线性回归:

前向逐步线性回归算法属于一种贪心算法,即每一步都尽可能减少误差。我们计算回归系数,不再是通过公式计算,而是通过每次微调各个回归系数,然后计算预测误差。那个使误差最小的一组回归系数,就是我们需要的最佳回归系数。

前向逐步线性回归实现也很简单。当然,还是先进行数据标准化,编写代码如下:

运行结果如下:

还是,我们打印了迭代次数与回归系数的关系曲线。可以看到,有些系数从始至终都是约为0的,这说明它们不对目标造成任何影响,也就是说这些特征很可能是不需要的。逐步线性回归算法的优点在于它可以帮助人们理解有的模型并做出改进。

当构建了一个模型后,可以运行该算法找出重要的特征,这样就有可能及时停止对那些不重要特征的收集

总结一下:

缩减方法(逐步线性回归或岭回归),就是将一些系数缩减成很小的值或者直接缩减为0。这样做,就增大了模型的偏差(减少了一些特征的权重),通过把一些特征的回归系数缩减到0,同时也就减少了模型的复杂度。

消除了多余的特征之后,模型更容易理解,同时也降低了预测误差。但是当缩减过于严厉的时候,就会出现过拟合的现象,即用训练集预测结果很好,用测试集预测就糟糕很多。

多谢大家支持公众号

本文来自企鹅号 - 燕哥带你学算法媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏计算机视觉战队

CVPR 2018文章解读——腾讯AI Lab

该主要提出了一种全新的自动图像标注的生成式模型,名为多样性和独特性图像标注(D2IA)。受到人类标注集成的启发,D2IA将产生语义相关,独特且多样性的标签。

8320
来自专栏深度学习计算机视觉

计算机视觉中的物体检测方法

本文适合刚入门物体检测的人群学习,不涉及公式推理。 目录 *摘要 *相关物体检测数据集介绍 *现有的主流物体检测算法 *物体检测的难点与挑战 *相关术语介绍 *...

30940
来自专栏机器学习算法工程师

全面直观认识深度神经网络

作者:石文华 编辑:赵一帆 01 深度学习的精准定义 一类通过多层非线性变换对高复杂性数据建模算法的集合。它的两个非常重要的特征是多层性和非线性。俗称多层非线...

36280
来自专栏企鹅号快讯

机器学习之白话adaboost元算法

阅读本文大约需要5分钟 作为(曾)被认为两大最好的监督分类算法之一的adaboost元算法(另一个为前几节介绍过的SVM算法),该算法以其简单的思想解决复杂的分...

20860
来自专栏目标检测和深度学习

综述:深度学习时代的目标检测算法

来源:https://zhuanlan.zhihu.com/p/33277354 目前目标检测领域的深度学习方法主要分为两类:two stage的目标检测算法;...

43650
来自专栏应用案例

机器学习三人行-手写数字识别实战

前面三个系列我们分别从机器学习入门,洞悉数据,已经数据预处理,回归建模等方面进行了系统的学习。 今天我们根据mnist手写数字的数据集来对0-9共10个数字进行...

29550
来自专栏机器之心

深度 | L2正则化和对抗鲁棒性的关系

两个高维聚类由一个超平面分离,考虑超平面和图中水平线之间的夹角,在线性分类中,这个夹角取决于 L2 正则化的程度,你知道为什么吗?上图:L2 正则化程度较小;下...

19510
来自专栏机器之心

CVPR2018 | 海康、UCLA、北理联合提出3D DescriptorNet:可按条件生成3D形状,克服模式崩溃

选自arXiv 作者:Jianwen Xie等 机器之心编译 参与:Huiyuan Zhuo、刘晓坤 近日,海康威视、UCLA、北理工联合提出了新的模型 3D ...

355110
来自专栏AI研习社

「目标检测算法」连连看:从 Faster R-CNN 、 R-FCN 到 FPN

在这个系列中,我们将对目标检测算法进行全面探讨。 第1部分,我们介绍常见的基于区域的目标检测器,包括Fast R-CNN,Faster R-CNN,R-FCN和...

18130
来自专栏hadoop学习笔记

非局部神经网络,打造未来神经网络基本组件

将非局部计算作为获取长时记忆的通用模块,提高神经网络性能在深度神经网络中,获取长时记忆(long-range dependency)至关重要。对于序列数据(例如...

14900

扫码关注云+社区

领取腾讯云代金券