《机器学习实战》读书笔记8

2017-06-24  本文已影响52人  whybask

线性回归算法概述

前面的2~7章节讲解的是“分类”算法,本章开始将介绍“回归”算法。

“回归”和“分类”都属于监督学习算法,不同的是:分类的目标变量是标称型数据,而回归的目标变量是连续的数值型数据。

“回归”(regression)一词的来历
今天我们所知道的归回是由达尔文的(Charles Darwin)表兄弟Francis Galton发明的。Galton于1877年完成了第一次回归预测,目的是根据上一代豌豆种子(双亲)的尺寸来预测下一代豌豆种子(孩子)的尺寸。Galton在大量对象上应用了回归分析,甚至包括人的身高。他注意到,如果双亲的高度比平均高度高,他们的子女也趋向于比平均高度高,但尚不及双亲。孩子的高度向着平均高度回退(回归,regression)。Galton在多项研究上都注意到这个现象,所以尽管这个英文单词跟数值预测没有任何关系,但这种研究方法仍被称做回归。

假如你要预测姐姐男友汽车功率的大小,可能会这么计算:
马力=0.0015*年收入 - 0.99*每月房贷
上面的公式就是所谓的回归方程(regression equation),其中的0.0015和-0.99称作回归系数(regression weight),求这些回归系数的过程就是回归。显而易见,一旦有了回归系数,在给定输入,做预测就非常容易了。

优点:结果易于理解,计算上不复杂。
缺点:对非线性的数据拟合不好。
使用数据类型:数值型和标称型数据。

入门案例

本章节主要讲解的是线性回归(linear regression),具体的做法是用回归系数乘以输入值,再将结果全部加在一起,就得到了预测值。

如上图所示的散点图,利用线性回归算法,从训练数据中计算出回归系数后,就能得到最佳拟合直线。 显然纯粹的线性回归会导致较大的误差,因此产生了局部加权线性回归算法(Locally Weighted Linear Regression, LWLR)。在该算法中,需要我们对附近的数据点指定权重大小,上图是k=0.01时的拟合线段,可以看到该模型更好地体现了数据的潜在规则。 上图是权重k=1.0时,局部加权线性回归算法得到的效果,可以看出其与纯粹的线性回归没有区别。 上图是权重k=0.003时,局部加权线性回归算法得到的效果,该权重值纳入了太多的噪声,进而导致了过拟合现象。

在局部加权线性回归算法中,对权重系数k的取值是比较重要的,这就要求我们对模型进行多次试算,得到最佳效果。

工作原理

在回归方程里,求得特征对应的最佳回归系数的方法是最小化误差的平方和(方差)。在训练集上得到的回归方程并不一定意味着它是最佳的,可以使用测试集加以验证,验证的方法是用预测值和原始值的偏差来度量回归方程的好坏。偏差和方差折中是一个重要的概念,可以帮助我们理解现有模型并做出改进,从而得到更好的模型。

在两种情况下,线性回归算法会失效:
1.当数据的样本数比特征数还少的时候,会因为无法对矩阵求逆导致错误。即便当样本数比特征数多的时候,仍然有可能无法直接计算,这是因为特征有可能高度相关。出现这样的情况时,可以考虑使用“岭回归”或“逐步线性回归”算法。
2.预测值与特征之间是非线性关系,这种情况下使用线性的模型就难以拟合。

一般流程

1.收集数据:采用任意方法收集数据;
2.准备数据:回归需要数值型数据,应将标称型数据做相应的转换;
3.分析数据:绘制出数据的可视化二维图有助于对数据做出理解和分析,在采用缩减法求得回归系数后,可以将新拟合线绘制在图上作为对比;
4.训练算法:找到回归系数;
5.测试算法:使用预测值和数据的拟合度,来分析模型的效果;
6.使用算法:使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升,因为这样可以预测连续型数据而不仅仅是离散的类别标签。

可使用场景

1.预测鲍鱼的年龄
2.预测二手乐高玩具的交易价
3.预测机票价格
......

同类笔记可点击这里查阅

上一篇下一篇

猜你喜欢

热点阅读