1、多项式回归
1.1、前言
简单线性回归:输入特征为一维
多元线性回归:输入特征为多为
但在线性回归中有很强的假设条件,数据存在线性关系。而在实际场景中,大多数数据并不具有明显的线性关系,因此对线性回归法进行改性,使用多项式回归法,可对非线性数据进行处理
研究一个因变量与一个或多个自变量间多项式的回归分析方法,叫多项式回归。多项式回归属于线性回归模型的一种,其回归函数关于回归系数是线性的
若自变量只有1个,叫一元多项式回归
若自变量有多个,叫多元多项式回归
1.2、解决方案
创建新的特征
将X数据集进行多次方转换,然后将原矩阵与转换后的多次方矩阵拼接,形成新的矩阵,再进行fit
1.3、Pipeline
将以上添加新特征,数据归一化,训练模型合并为一种处理函数,像管道一样处理数据
1.4、总结
其实多项式回归在算法并没有什么新的地方,完全是使用线性回归的思路,关键在于为数据添加新的特征,而这些新的特征是原有的特征的多项式组合,采用这样的方式就能解决非线性问题。
这样的思路跟PCA这种降维思想刚好相反,而多项式回归则是升维,添加了新的特征之后,使得更好地拟合高维数据。
2、偏差和方差
2.1、定义
- 偏差(bias):偏差衡量了模型的预测值与实际值之间的偏离关系。例如某模型的准确度为96%,则说明是低偏差;反之,如果准确度只有70%,则说明是高偏差。
- 方差(variance):方差描述的是训练数据在不同迭代阶段的训练模型中,预测值的变化波动情况(或称之为离散情况)。从数学角度看,可以理解为每个预测值与预测均值差的平方和的再求平均数。通常在模型训练中,初始阶段模型复杂度不高,为低方差;随着训练量加大,模型逐步拟合训练数据,复杂度开始变高,此时方差会逐渐变高。
结果描述:
- 低偏差,低方差:这是训练的理想模型,此时蓝色点集基本落在靶心范围内,且数据离散程度小,基本在靶心范围内;
- 低偏差,高方差:这是深度学习面临的最大问题,过拟合了。也就是模型太贴合训练数据了,导致其泛化(或通用)能力差,若遇到测试集,则准确度下降的厉害;
- 高偏差,低方差:这往往是训练的初始阶段;
- 高偏差,高方差:这是训练最糟糕的情况,准确度差,数据的离散程度也差。
2.2、模型误差
模型误差 = 偏差(bais)+ 方差(variance)+ 不可避免的误差(如噪音)
2.3、偏差、方差产生原因
- 一个模型有偏差,主要的原因可能是对问题本身的假设是不正确的,或者欠拟合。如:针对非线性的问题使用线性回归;或者采用的特征和问题完全没有关系,如用学生姓名预测考试成绩,就会导致高偏差。
- 方差表现为数据的一点点扰动就会较大地影响模型。即模型没有完全学习到问题的本质,而学习到很多噪音。通常原因可能是使用的模型太复杂,如:使用高阶多项式回归,也就是过拟合。
- 有一些算法天生就是高方差的算法,如kNN算法。非参数学习算法通常都是高方差,因为不对数据进行任何假设。
- 有一些算法天生就是高偏差算法,如线性回归。参数学习算法通常都是高偏差算法,因为对数据有迹象。
关于解决方差和偏差的问题中:
我们要知道偏差和方差是无法完全避免的,只能尽量减少其影响。
在避免偏差时,需尽量选择正确的模型,一个非线性问题而我们一直用线性模型去解决,那无论如何,高偏差是无法避免的。
有了正确的模型,我们还要慎重选择数据集的大小,通常数据集越大越好,但大到数据集已经对整体所有数据有了一定的代表性后,再多的数据已经不能提升模型了,反而会带来计算量的增加。而训练数据太小一定是不好的,这会带来过拟合,模型复杂度太高,方差很大,不同数据集训练出来的模型变化非常大。
最后,要选择合适的模型复杂度,复杂度高的模型通常对训练数据有很好的拟合能力。
其实在机器学习领域,主要的挑战来自方差。处理高方差的手段有:
- 降低模型复杂度
- 减少数据维度;降噪
- 增加样本数
- 使用验证集
2.4 总结
偏差衡量了模型的预测值与实际值之间的偏离关系,主要的原因可能是对问题本身的假设是不正确的,或者欠拟合。方差描述的是模型预测值的变化波动情况(或称之为离散情况),模型没有完全学习到问题的本质,通常原因可能是使用的模型太复杂,过拟合。
参数或者线性的算法一般是高偏差低方差;非参数或者非线性的算法一般是低偏差高方差。所以我们需要调整参数来去衡量方差和偏差的关系。
3、模型正则化
3.1、定义
1.1 什么是模型正则化
模型正则化(Regularization),对学习算法的修改,限制参数的大小,减少泛化误差而不是训练误差。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。
正则化的策略包括:约束和惩罚被设计为编码特定类型的先验知识 偏好简单模型 其他形式的正则化,如:集成的方法,即结合多个假说解释训练数据
在实践中,过于复杂的模型不一定包含数据的真实的生成过程,甚至也不包括近似过程,这意味着控制模型的复杂程度不是一个很好的方法,或者说不能很好的找到合适的模型的方法。实践中发现的最好的拟合模型通常是一个适当正则化的大型模型。
3.2、lasso回归与岭回归
L1正则化就是在损失函数后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多),一般来说L1正则化较常使用。
L2正则化就是损失后边所加正则项为L2范数,加上L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。