回归模型目标函数
一、岭回归模型
1、介绍
Ridge/RidgeCV:使用结构风险最小化=损失函数(平方损失)+正则化(L2范数)
Ridge 回归通过对系数的大小施加惩罚来解决 普通最小二乘法 的一些问题。 岭系数最小化的是带罚项的残差平方和,
其中,α≥0α≥0 是控制系数收缩量的复杂性参数: αα 的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。
这个惩罚项中lambda大于等于0,是个调整参数。各个待估系数越小则惩罚项越小,因此惩罚项的加入有利于缩减待估参数接近于0。重点在于lambda的确定,可以使用交叉验证或者Cp准则。
岭回归优于最小二乘回归的原因在于方差-偏倚选择。随着lambda的增大,模型方差减小而偏倚(轻微的)增加, 提高了估计精度.
岭回归缺点:在建模时,同时引入p个预测变量,罚约束项可以收缩这些预测变量的待估系数接近0,但并非恰好是0(除非lambda为无穷大)。这个缺点对于模型精度影响不大,但给模型的解释造成了困难。这个缺点可以由lasso来克服。(所以岭回归虽然减少了模型的复杂度,并没有真正解决变量选择的问题)
2、导库实现
导库
from sklearn.linear_model import Ridge
model = Ridage()
内部参数
alpha:
正则化强度; 必须是正浮点数。 正则化改善了问题的条件并减少了估计的方差。 较大的值指定较强的正则化。 Alpha对应于其他线性模型(如Logistic回归或LinearSVC)中的C^-1。
如果传递数组,则假定惩罚被特定于目标。 因此,它们必须在数量上对应。
copy_X:boolean:
可选,默认为True 如果为True,将复制X; 否则,它可能被覆盖。
fit_intercept:boolean
是否计算此模型的截距。 如果设置为false,则不会在计算中使用截距(例如,数据预期已经居中)。
max_iter:
int,可选 共轭梯度求解器的最大迭代次数。 对于’sparse_cg’和’lsqr’求解器,默认值由scipy.sparse.linalg确定。 对于’sag’求解器,默认值为1000。
normalize:boolean,可选,默认为False
如果为真,则回归X将在回归之前被归一化。 当fit_intercept设置为False时,将忽略此参数。 当回归量归一化时,注意到这使得超参数学习更加鲁棒,
并且几乎不依赖于样本的数量。 相同的属性对标准化数据无效。 然而,如果你想标准化,请在调用normalize = False训练估计器之前,使用preprocessing.StandardScaler处理数据。
solver:{‘auto’,’svd’,’cholesky’,’lsqr’,’sparse_cg’,’sag’}
用于计算的求解方法:
‘auto’根据数据类型自动选择求解器。
‘svd’使用X的奇异值分解来计算Ridge系数。对于奇异矩阵比’cholesky’更稳定。
‘cholesky’使用标准的scipy.linalg.solve函数来获得闭合形式的解。
‘sparse_cg’使用在scipy.sparse.linalg.cg中找到的共轭梯度求解器。作为迭代算法,这个求解器比大规模数据(设置tol和max_iter的可能性)的“cholesky”更合适。
‘lsqr’使用专用的正则化最小二乘常数scipy.sparse.linalg.lsqr。它是最快的,但可能不是在旧的scipy版本可用。它还使用迭代过程。
‘sag’使用随机平均梯度下降。它也使用迭代过程,并且当n_samples和n_feature都很大时,通常比其他求解器更快。注意,“sag”快速收敛仅在具有近似相同尺度的特征上被保证。
可以使用sklearn.preprocessing的缩放器预处理数据。
所有最后四个求解器支持密集和稀疏数据。但是,当fit_intercept为True时,只有’sag’支持稀疏输入。
新版本0.17支持:随机平均梯度下降解算器。
tol:float 解的精度。
random_state:int seed,RandomState实例或None(默认)
伪随机数生成器的种子,当混洗数据时使用。 仅用于’sag’求解器。
新版本0.17:random_state支持随机平均渐变。
二、套索回归模型(Lasso回归)
1.介绍
套索回归与岭回归有一点不同,它在惩罚部分使用的是绝对值,而不是平方值。这导致惩罚(即用以约束估计的绝对值之和)值使一些参数估计结果等于零。使用的惩罚值越大,估计值会越趋近于零。这将导致我们要从给定的n个变量之外选择变量。
要点:
• 除常数项以外,这种回归的假设与最小二乘回归类似;
• 它将收缩系数缩减至零(等于零),这确实有助于特征选择;
• 这是一个正则化方法,使用的是 L1 正则化;
• 如果一组预测因子是高度相关的,套索回归会选出其中一个因子并且将其它因子收缩为零。
三、弹性网回归(Elastic Net)
弹性网络是一种使用 L1,L2范数作为先验正则项训练的线性回归模型.这种组合允许学习到一个只有少量参数是非零稀疏的模型,就像 Lasso一样,但是它仍然保持一些像Ridge的正则性质。我们可利用 l1_ratio 参数控制L1和L2的凸组合。
当α=0α=0时,弹性网回归即为岭回归;当α=1α=1时,弹性网回归即为Lasso回归。因此,弹性网 回归兼有Lasso回归和岭回归的优点,既能达到变 量选择的目的,又具有很好的群组效应。弹性网络是一不断叠代的方法。在实践中,Lasso和Ridge 之间权衡的一个优势是它允许在循环过程(Under rotate)中继承 Ridge 的稳定性.
岭回归结果表明,岭回归虽然一定程度上可以拟合模型,但容易导致回归结果失真;lasso回归虽然能刻画模型代表的现实情况,但是模型过于简单,不符合实际。弹性网回归结果表明,一方面达到了岭回归对重要特征选择的目的,另一方面又像Lasso回归那样,删除了对因变量影响较小的特征,取得了很好的效果
当多个特征和另一个特征相关的时候弹性网络非常有用。Lasso 倾向于随机选择其中一个,而弹性网络更倾向于选择两个。
要点: