机器学习 | 回归问题

机器学习 | 回归问题

更多内容,关注wx公众号:数据分析这件小事儿

对于监督学习,其基本问题就是使用特征向量x预测响应变量y,如果响应变量y为连续变量,则称为回归问题。

用x来预测y,是否存在一个最优的预测函数g(x),一般使用均方误差(MSE)来作为预测优良程度的度量:

机器学习 | 回归问题
最小二乘法
普通最小二乘法(OLS)是估计线性回归模型的基本方法,以一元线性回归为例,有一个特征变量x,OLS的任务就是根据训练数据来估计回归方程y=a+bx,其思想是在平面上找到一条最佳拟合直线,使得所有样本点到此拟合线的距离最近。
机器学习 | 回归问题
在此平面上,任意给定一条直线,可以计算每个观测点到这条直线的距离,称为残差:
机器学习 | 回归问题
最小二乘法就是要求残差平方和达到最小时的未知参数估计值,”二乘”即”平方”。在数学上,OLS的目标函数也称为损失函数:
机器学习 | 回归问题
若是二元回归,就是要寻找最佳拟合的回归平面。
机器学习 | 回归问题
使用OLS回归的前提是不存在严格多重共线性,并且一般不适用于高维数据,对于高维回归一般需进行正则化处理,即在损失函数中加入惩罚项,进行惩罚回归。
拟合优度
OLS的样本回归线(超平面)为离所有样本点最近的直线(超平面),但此最近的直线,究竟离这些样本有多近呢?需要有一个绝对的度量,来衡量样本回归线对数据的拟合优良程度。
如果回归方程有常数项,则可将响应变量的离差平方和分解为:
机器学习 | 回归问题
即导致偏离样本均值的因素可分为两部分,可由模型解释的部分(等式右边第一项),以及无法由模型解释的部分(等式右边第二项)。如果可解释部分所占的比重较大,则样本回归线的拟合程度较好,拟合优度(又称可决系数)可定义为:
机器学习 | 回归问题
(R^2)越大,则拟合程度越好。

显然如果在回归方程中增加特征向量,则拟合优度必然只增不减,因为新增变量的系数至少为0,这说明,过高的拟合优度可能意味着样本内过度拟合,反而导致其样本外预测能力的下降。
过拟合与正则化
当样本内拟合的越来越完美的时候,意味着回归函数也拟合了大量的噪声,而噪声对于样本外的预测毫无意义。因此,在过拟合的情况下,虽然样本内的拟合优度很高,但样本外的预测能力比较差,而机器学习恰恰需要的是样本外的预测能力,即将模型应用于未见过的数据。

所具有的推广预测能力就是泛化能力。

为了防止过拟合的现象,在进行最优模型的选择时,要选择复杂度适度的模型,常用的模型选择方法:正则化与交叉验证。

正则化就是结构经验最小化原则,在经验风险上加一个正则化项或罚项,正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大,正则化的作用是选择经验风险和模型复杂度同时较小的模型。

机器学习 | 回归问题
正则化符合奥卡姆剃刀原则,也就是在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型。
偏差与方差的权衡
随着模型复杂度的增加,测试误差一般呈现U形的曲线特征。测试误差受两种不同的力量的影响,一种是偏差,它反映了估计量是否有系统误差,给定x,其估计量的偏差可表示为:
机器学习 | 回归问题
另一种是方差,衡量的是在大量重复抽样过程中,估计量本身围绕其期望值的波动幅度:
机器学习 | 回归问题
如果把估计量的均方误差进行分解,正好是偏差的平方、方差、扰动项方差之和,其中偏差的平方、方差均可降低。
机器学习 | 回归问题
低偏差、高方差就是”过拟合”现象,高偏差、低方差就是”欠拟合”现象。

通常情况下,偏差平方与方差之间存在着此消彼长的替代关系,模型过于简单,估计量的偏差就会大,但方差较小,随着复杂度的增加,估计值慢慢接近真实值,偏差减小,但方差也随之增大,容易出现过拟合。因此在选择模型时,需要选偏差-方差合理的组合,使得均方误差达到最小。

机器学习 | 回归问题
AIC与BIC准则
训练误差可能是对测试误差的糟糕估计,为了纠正此误差,统计学的传统方法是使用信息准则,对过于复杂的模型进行惩罚,常用的是AIC信息准则:
机器学习 | 回归问题
右边第一项是对模型拟合度的奖励(减少均方误差MSE),第二项是对变量过多的惩罚(模型过于复杂),通过选择合适的变量个数P,最小化AIC,达到在模型拟合度与简洁性之间的权衡,以避免过拟合。
另一种常用的信息准则为贝叶斯信息准则BIC:
机器学习 | 回归问题

BIC准则对于变量过多的惩罚比AIC严格,BIC准则更强调模型的简洁性。

但信息准则依赖于大数定理的一些假设,在有限样本中未必能预测出最优的模型,因此机器学习一般不用信息准则来评估模型,而采用再抽样或重采样来度量模型的泛化能力。泛化能力是指该方法学习到的模型对未知数据的预测能力,如果一种方法学习的模型比另一种方法学习的模型有更小的泛化误差,那么这种方法就更有效。
验证集法
在数据充足的情况下,进行模型选择的一种简单的方法就是随机的将数据集切分成三部分,分别为训练集、验证集、测试集。训练集用来训练数据,验证集用来模型的选择,测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。

但现实中往往数据是不充足的,此时可用交叉验证的思想:重复的使用数据,把给定的数据进行切分,将切分的数据集组合为训练集和测试集,在此基础上反复进行训练、测试以及模型选择。

(1)简单交叉验证 :将数据随机分为两部分,一部分做训练集,一部分做测试集,比如:70%的数据做训练集,30%的数据做测试集。

机器学习 | 回归问题
(2)K折交叉验证:将数据随机的切分为K个互不相交、大小相同的子集,然后利用K-1个子集的数据训练模型,利用余下的子集测试数据,以训练集估计模型,然后在验证集中进行预测,并计算验证集的均方误差。最后将所有验证集的均方误差进行平均,作为对测试误差的估计。机器学习常用的是k=5或10折交叉验证。

如果留出第K折所得的验证集均方误差为MSEk,则K折交叉验证误差为:

机器学习 | 回归问题
机器学习 | 回归问题
(3)留一交叉验证:

留一法就是每次只留下一个样本做测试集,其它样本做训练集,如果有k个样本,则需要训练k次,测试k次。留一法样本利用率最高,评估的模型往往比较准确,适合于小样本的情况,数据量较大的时候,计算繁琐。

(4)自助法

自助法是一种”有放回”的再抽样方法,即每次随机抽取一个观测值,再将其放回样本,如此反复,直至得到n个观测值。

参考资料:

1.陈强 《机器学习及Python应用》高等教育出版社

2.李航 《统计学习方法(第二版)》清华大学出版社

3.周志华 《机器学习》清华大学出版社

Original: https://blog.csdn.net/qq_43267034/article/details/120085812
Author: 热心网友小周
Title: 机器学习 | 回归问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/635200/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球