线性模型的一般的数学表示方法如下:
y ^ ( ω , x ) = ω 0 + ω 1 x 1 + . . . + ω p x p \hat{y}(\omega, x) = \omega_0 + \omega_1 x_1 + ... + \omega_px_p y^(ω,x)=ω0+ω1x1+...+ωpxp
其中, y ^ \hat{y} y^是预测的值,这个模型中,我们把向量 ω = ( ω 1 , . . . , ω p ) \omega = (\omega_1, ...,\omega_p) ω=(ω1,...,ωp)作为系数,把 ω 0 \omega_0 ω0作为偏移量。
1、最小二乘法(Ordinary Least Squares)
线性回归模型去学习这样的一个模型,对应的系数是 ω = ( ω 1 , . . . , ω p ) \omega = (\omega_1, ...,\omega_p) ω=(ω1,...,ωp),通过最小化数据集中的标签(label)和线性模型预测出来的值之间的残差和来学习线性模型中的系数。对应的数学公式为:
m i n ω ∣ ∣ X ω − y ∣ ∣ 2 2 min_{\omega}||X\omega - y||^2_2 minω∣∣Xω−y∣∣22
最小二乘法的系数估计依赖于特征的独立。当特征有关联,且涉及的矩阵 X X X的列近似线性相关,则这个矩阵就会趋于奇异。最小二乘估计对观测目标(label)的随机错误就会变得非常敏感,产生较大的方差。
2、岭回归和分类(Ridge regression and classification)
(1)回归
岭回归通过对系数大小的惩罚来解决普通最小二乘法的一些问题。对应的数学公式如下:
m i n ω ∣ ∣ X ω − y ∣ ∣ 2 2 + α ∣ ∣ ω ∣ ∣ 2 2 min_{\omega}||X\omega - y||^2_2 + \alpha||\omega||^2_2 minω∣∣Xω−y∣∣22+α∣∣ω∣∣22
这里的复杂性参数 α ≥ 0 \alpha \geq 0 α≥0控制收缩量: α \alpha α的值越大,收缩量越大,系数对共线性的鲁棒性越强。
(2)分类
这个分类器首先将二分类转换为{-1, 1},然后就变为一个回归任务,优化目标不变:
m i n ω ∣ ∣ X ω − y ∣ ∣ 2 2 + α ∣ ∣ ω ∣ ∣ 2 2 min_{\omega}||X\omega - y||^2_2 + \alpha||\omega||^2_2 minω∣∣Xω−y∣∣22+α∣∣ω∣∣22
预测的类对应的是这个回归器预测值的符号。
对于多个类别的分类,问题就变为多输出的回归,预测的类就对应输出的最高值。
有个疑问的就是为什么用最小二乘法损失来拟合函数而不用传统的logistic or highe losses。然而在实践中,所有这些模型在准确性或精度/召回方面都可能导致类似的交叉验证分数,而RidgeClassifier使用的惩罚最小二乘损失允许对具有不同计算性能特征的数值求解器进行非常不同的选择。
在大量的类时,岭分类要比像逻辑回归快很多。
3、Lasso
用途:Lasso模型是用在估计稀疏系数的线性模型。在某些情况下是非常有用的,因为它倾向于选择较少的非零系数解,有效地减少给定解所依赖的特征的数量。
对应的目标函数为:
m i n ω = 1 2 n s a m p l e s ∣ ∣ X ω − y ∣ ∣ 2 2 + α ∣ ∣ ω ∣ ∣ 1 min_{\omega} = \frac{1}{2n_{samples}}||X\omega - y||^2_2 + \alpha||\omega||_1 minω=2nsamples1∣∣Xω−y∣∣22+α∣∣ω∣∣1
上面的公式中后一项是罚项, α \alpha α是一个常数, ∣ ∣ ω ∣ ∣ 1 ||\omega||_1 ∣∣ω∣∣1是系数向量的 l 1 l_1 l1范数。
Note:Lasso的特征选择
由于Lasso回归模型得到的是稀疏矩阵,因此可以用来进行特征选择。
(1)正则化系数的设置
参数 α \alpha α控制着评估的稀疏系数。下面有几个方法得到参数 α \alpha α
- 用交叉验证
- 基于信息标准的模型选择
4、多任务的Lasso
这一类问题对应的label的shape像这样的,(n_samples, n_tasks)
对应的数学公式:
m i n ω 1 2 n s a m p l e s ∣ ∣ X W − Y ∣ ∣ F r o 2 + α ∣ ∣ W ∣ ∣ 21 min_{\omega} \frac{1}{2n_{samples}} ||XW-Y||^2_{Fro} + \alpha||W||_{21} minω2nsamples1∣∣XW−Y∣∣Fro2+α∣∣W∣∣21
它是由一个训练了的线性模型混合上一个 l 1 l 2 l_1 l_2 l1l2范数的罚项组成。
这里的Fro是Frobenius 范数:
∣ ∣ A ∣ ∣ F r o = ∑ i j α i j 2 ||A||_{Fro} = \sqrt{\sum_{ij}\alpha_{ij}^2} ∣∣A∣∣Fro=ij∑αij2
l 1 l 2 l1 l2 l1l2范数:
∣ ∣ A ∣ ∣ 21 = ∑ i ∑ j α i j 2 ||A||_{21} = \sum_i \sqrt{\sum_j \alpha_{ij}^2} ∣∣A∣∣21=i∑j∑αij2
5、Elastic-Net
Elastic-Net 也是一个线性回归,训练时用到了对系数的 l 1 和 l 2 l1 和 l2 l1和l2的罚项。这结合了Lasso模型的特点也结合了Ridge模型的特点。
当存在多个特征关联另一个的时候,Elastic-Net模型就很有用。Lasso可能是从中随机选择一个,二Elastic-Net是同时选择这两个。
目标函数是最小化下面的公式:
m i n ω 1 2 n n s a m p l e s ∣ ∣ X ω − y ∣ ∣ 2 2 + α ρ ∣ ∣ ω ∣ ∣ 1 + α ( 1 − ρ ) 2 ∣ ∣ ω ∣ ∣ 2 2 min_{\omega} \frac{1}{2n_{nsamples}}||X\omega - y||^2_2 + \alpha \rho||\omega||_1 + \frac{\alpha(1 - \rho)}{2}||\omega||^2_2 minω2nnsamples1∣∣Xω−y∣∣22+αρ∣∣ω∣∣1+2α(1−ρ)∣∣ω∣∣22
6、多任务Elastic—Net
目标函数是:
m i n ω 1 2 n n s a m p l e s ∣ ∣ X ω − y ∣ ∣ F r o 2 + α ρ ∣ ∣ ω ∣ ∣ 21 + α ( 1 − ρ ) 2 ∣ ∣ ω ∣ ∣ F r o 2 min_{\omega} \frac{1}{2n_{nsamples}}||X\omega - y||^2_{Fro} + \alpha \rho||\omega||_{21} + \frac{\alpha(1 - \rho)}{2}||\omega||^2_{Fro} minω2nnsamples1∣∣Xω−y∣∣Fro2+αρ∣∣ω∣∣21+2α(1−ρ)∣∣ω∣∣Fro2
7、Least Angle Regression
用途:Least-Angle Regression (LARS)是一个高维数据的回归算法。LARS有点类似前向逐步回归。在每一步,寻找与target最有关联的特征,当有多个特征有相同的相关性时,它不是沿着同一特征继续前进,而是沿着特征之间的等角方向前进。
8、LARS Lasso
这是用LARS算法实现的lasso模型。