优化基础模型
- 训练均方误差与测试均方误差
- 当我们的模型的训练均方误差达到很小时,测试均方误差反而很大。模型在训练误差很小,但是测试均方误差很大时,我们称这种情况叫模型的过拟合。
- 偏差-方差的权衡:
- 我们的测试均方误差的期望值可以分解为
f
^
(
x
0
)
\hat{f}(x_0)
f^(x0)的方差、
f
^
(
x
0
)
\hat{f}(x_0)
f^(x0)的偏差平方和
ε
\varepsilon
ε误差项的方差(建模人物难度/不可约误差)。
- 一般来说,模型的复杂度越高,f的方差就会越大。
- 偏差和方差的关系:增加模型的复杂度,会增加模型的方差,但是会减少模型的偏差
- 特征提取:
- 测试误差进行估计的方式有两种:训练误差修正与交叉验证。
- 训练误差修正:特征个数的惩罚
- 交叉验证:
K折交叉验证:我们把训练样本分成K等分,然后用K-
1个样本集当做训练集,剩下的一份样本集为验证集去估计由K-1个样本集得到的模型的精度,这个过程重复K次取平均值得到测试误差的一个估计。 - 从p个特征中选择m个特征,使得对应的模型的测试误差的估计最小:最有子集选择、先前逐步选择。
- 压缩估计(正则化)
对回归的系数进行约束或者加罚的技巧对p个特征的模型进行拟合,显著降低模型方差,这样也会提高模型的拟合效果。具体来说,就是将回归系数往零的方向压缩,这也就是为什么叫压缩估计的原因了。
- 岭回归通过牺牲线性回归的无偏性降低方差,有可能使得模型整体的测试误差较小,提高模型的泛化能力。
- Lasso回归使用系数向量的L1范数替换岭回归中的L2范数。因为常会取到某一项特征值为零的位置,所以可以实现特征选择。
- 降维
- 主成分分析(PCA):通过最大投影方差将原始空间进行重构,即由特征相关重构为无关,即落在某个方向上的点(投影)的方差最大。
代码示例:
- 根据AIC准则定义向前逐步回归进行变量筛选
。。。 - 岭回归实例
from sklearn import linear_model
reg_rid = linear_model.Ridge(alpha=.5)
reg_rid.fit(X,y)
reg_rid.score(X,y)
- Lasso实例
from sklearn import linear_model
reg_lasso = linear_model.Lasso(alpha = 0.5)
reg_lasso.fit(X,y)
reg_lasso.score(X,y)