【引言】本章节代码实现基于python3.7环境
同部西瓜书学习,对应《机器学习实战》第八章——预测数值型数据:回归
(Page136-158)
本章首先介绍线性回归,包括其名称的由来和python实现。在这之后引入了局部平滑技术,分析如何更好地拟合数据。接下来,本章将探讨回归在欠拟合情况下地缩减技术,探讨偏差和方差的概念。最后将融合所有技术,预测鲍鱼的年龄和玩具的售价。此外还将介绍一些python进行书去采集的工作。
8.1用线性回归找到最佳拟合直线
@概念
优点:结果易于理解,计算上不复杂;
缺点:对非线性的数据拟合不好;
适合数据类型:数值型和标称型数据。
*回归的目的是预测数值型的目标值。*所谓回归方程,就是常见的y=kx+b,其中k称为回归系数,而求回归系数的过程就是回归。一旦有了恒定且最优的回归系数,那么用来做预测就显得轻而易举了。回归一般指的是线性回归。
回归的一般方法:
(1)收集数据;
(2)准备数据,预处理成数值型数据;
(3)分析数据,利用可视化和缩减法求出不同的回归系数;(4)训练算法,找到回归系数;
(5)测试算法,用均方、平方误差法分析模型效果、泛化能力;
(6)使用算法。
本节采用平方误差法,w作为回归系数向量写作:
∑ i = 1 m ( y i − x i T w ) 2 \sum_{i=1}^{m}(y_i-x_i^Tw)^2 i=1∑m(yi−xiTw)2
写为矩阵形式如西瓜书上详细推导过程求解可知,对w求导,得到:
X T ( Y − X w ) X^T(Y-Xw) XT(Y−Xw)
令其等于0,解出w如下:
w ^ = ( X T X ) − 1 X T y \hat{w}=(X^TX)^{-1}X^Ty w^=(XTX)