Python机器学习核心算法编程实例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 线性模型

给定样本,用列向量表示该样本。样本有个特征,我们用表示样本的第个特征。线性模型(linear model)的形式为

式中,为每个特征对应的权重生成的权重向量。权重向量直观地表达了各个特征在预测中的重要特性。

线性模型中的“线性”其实就是一系列一次特征的线性组合,在二维空间中是一条直线,在三维空间中是一个平面,然后推广到维空间,可以理解为广义线性模型。

线性模型非常简单,易于建模,应用广泛,有多种推广形式,常见的广义线性模型包括岭回归、lasso回归、Elastic Net、逻辑回归、线性判别分析等。

在介绍各种回归分析前,先介绍两个概念:回归是什么,以及其一般方法有什么。

1.回归的由来

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

2.回归的一般方法

回归的一般方法有:

(1)收集数据:采用任意方法收集数据。

(2)准备数据:回归需要数值型数据,标称型数据将被转成二值型数据。

(3)分析数据:绘出数据的可视化二维图形将有助于对数据做出理解和分析,在采用缩减法求得新回归系数后,可以将新拟合线绘在图上进行对比。

(4)训练算法:找到回归系数。

(5)测试算法:使用或预测值和数据的拟合度,来分析模型的效果。

(6)使用算法:使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升,因为这样可以预测连续型数据而不仅仅是离散的类别标签。