机器学习——线性回归
- 如何预测上海浦东的房价?
- 未来的股票市场⾛向?
- 身⾼1.85m,体重100kg的男⼈穿什么尺码的T恤?
- 根据肿瘤的体积、患者的年龄来判断良性或恶性?
线性回归的概念
是⼀种通过属性的线性组合来进 ⾏预测的线性模型,其⽬的是找 到⼀条直线或者⼀个平⾯或者更⾼维的超平⾯,使得预测值与真实值之间的误差最⼩化。
由上述所说,线性关系不仅仅只能存在 2 个变量(二维平面)。3 个变量时(三维空间),线性关系就是一个平面,4 个变量时(四维空间),线性关系就是一个体。以此类推…
线性回归(LR)可分为:简单一元线性回归和多元线性回归,也就是我们平时接触的一次线性方程和多次线性方程,二者的主要区别也就是未知项的个数。
接下来定义符号...
符号定义
m 代表训练集中样本的数量
n 代表特征的数量
x 代表特征/输入变量
y 代表目标变量/输出变量
(x,y)代表训练集中的样本
代表第i个观察样本
h 代表学习算法的解决方案或函数也称为假设(hypothesis)
,代表预测的值
单变量线性回归(简单一元线性回归)
这里可以设X0为1,
损失函数(Loss Function)度量单样本预测的错误程度,损失函数值越⼩,模型就越好。常⽤的
损失函数包括:0-1损失函数、平⽅损失函数、 绝对损失函数、对数损失函数等
代价函数(Cost Function)度量全部样本集的平均误差。
常⽤的代价函数包括均⽅误差、均⽅根误差、平均绝对误差等。
对于损失函数,这里采用平方和损:
(其中1/2是为了便于计算)
要找到一组w(w0,w1),使得残差平方和最小:
这里的代价函数是MSE:
如何求解此时的单变量线性回归?可以用最小二乘法、梯度下降等等,这里主要介绍梯度下降
梯度下降(单变量)
梯度下降法的目标是最小化损失函数 J(w)
。对于线性回归问题,通常使用均方误差(MSE)作为损失函数
梯度是损失函数对参数的偏导数,表示损失函数在参数空间中的变化方向。对于线性回归,梯度计算如下:
做法:
对于其中的学习率选取要注意,不能太小,不然梯度下降太缓慢,也不能太大,可能导致无法收敛,甚至发散。
对于上述公式,结合我们前面的线性回归模型的公式:
那么:
最终:
而对于梯度下降按照训练样本的使用,可以分为批量梯度下降、随机梯度下降、小批量梯度下降。
对于批量梯度下降,梯度下降的每⼀步中,都⽤到了所有的训练样本,对于参数更新:
对于随机梯度下降,梯度下降的每⼀步中,⽤到⼀个样本,在每⼀次计算之后便更新参数, ⽽不需要⾸先将所有的训练集求和,对于参数更新:
对于小批量梯度下降,梯度下降的每一步中,用到了一定批量的训练样本,每次计算常数b次训练实例,便更新一次参数w,对应参数更新:
多变量梯度下降(多元线性回归)
其实就是增加了X...其他与单变量一致...
当其中n=1时,就是单变量线性回归,当n>=时,

数据归一化/标准化
归一化(最大-最小规范化)
将数据映射到[0,1]区间
数据归⼀化的目的是使得各特 征对⽬标变量的影响⼀致,会将特 征数据进⾏伸缩变化,所以数据归 ⼀化是会改变特征数据分布的。
Z-Score标准化
处理后的数据均值为0,方差为1
数据标准化为了不同特征之间具备 可⽐性,经过标准化变换之后的特征数 据分布没有发⽣改变。
为什么进行归一化/标准化?
提升模型精度:不同维度之间的 特征在数值上有⼀定⽐较性,可 以⼤⼤提⾼分类器的准确性。
加速模型收敛:最优解的寻优过程明 显会变得平缓,更容易正确的收敛到 最优解。
所有数据都需要数据归一化/标准化?
需要做数据归⼀化/标准化
线性模型,如基于距离度量的模型包括KNN(K近邻)、K-means聚类、感知 机和SVM。另外,线性回归类的⼏个模型⼀般情况下也是需要做数据归⼀化/ 标准化处理的。
不需要做数据归⼀化/标准化
决策树、基于决策树的Boosting和Bagging等集成学习模型对于特征取值⼤ ⼩并不敏感,如随机森林、XGBoost、LightGBM等树模型,以及朴素⻉叶斯, 以上这些模型⼀般不需要做数据归⼀化/标准化处理
正规方程
除了梯度下降,也可以利用正规方程来求解...
对于单变量,就是解决:
对于多变量,就是:
最小二乘法(LSM)
要找到一组w,使得 J(w)最小,也就是最小化
我们这里么将向量表达式转化为矩阵表达式,也就是:
其中的X为m行n+1列的矩阵(m是样本个数,n为特征个数),w为n+1行1列的矩阵(包含了w_0)Y为m行1列的矩阵,则:
所以对于正规方程有:
TIPS:对于那些不可逆的矩阵,正规⽅程⽅法是不能⽤的。
这可能会出现欠拟合和过拟合现象。。。
过拟合处理
1.获得更多的训练数据
使⽤更多的训练数据是解决过拟合问题最有效的⼿段,因为更多的样本能够让模 型学习到更多更有效的特征,减⼩噪声的影响。
2.降维
即丢弃⼀些不能帮助我们正确预测的特征。可以是⼿⼯选择保留哪些特征,或者 使⽤⼀些模型选择的算法来帮忙(例如PCA)。
3.集成学习⽅法
集成学习是把多个模型集成在⼀起,来降低单⼀模型的过拟合⻛险。
4.正则化
正则化(regularization)的技术,保留所有的特征,但是减少参数的⼤⼩(magnitude),它可以改善或者减少过拟合问题。
欠拟合处理
1.添加新特征
当特征不⾜或者现有特征与样本标签的相关性不强时,模型容易出现⽋拟 合。通过挖掘组合特征等新的特征,往往能够取得更好的效果。
2.增加模型复杂度
简单模型的学习能⼒较差,通过增加模型的复杂度可以使模型拥有更强的 拟合能⼒。例如,在线性模型中添加⾼次项,在神经⽹络模型中增加⽹络层数 或神经元个数等。
3.减⼩正则化系数
正则化是⽤来防⽌过拟合的,但当模型出现⽋拟合现象时,则需要有针对 性地减⼩正则化系数。
代价函数
对于其中λ的选择也很重要,λ过大可能出现:
此时梯度下降,能够得到:
其中:
常见的正则化
其中L1正则化是指在损失函数中加入权值向量W的绝对值只和,功能是使得权重稀疏
L2是在损失函数中加入权值向量W的平方和,功能是使得权重平滑,能降低参数范数的总和
梯度下降与正规方程的比较
线性回归的评价指标
对于指标,更具体的可以看我上章的内容...