机器学习笔记——浅析L2,1范数正则化的线性回归

前言

嘻嘻,刚开始搓逾期了快两周的线性回归实验报告,为了让报告稍微不那么平淡不得不啃论文。

本文从最基本的线性回归开始,对比不同正则化方法的特点和作用,推广到多任务问题并引出L2,1范数正则化,卑微小采购尝试去理解论文是如何思考和优化问题(

参考资料:

[1] 一文讲清楚线性回归(Linear Regression)、逻辑回归(Logistic Regression) - 掘金 (juejin.cn)

[2]一篇文章完全搞懂正则化(Regularization)-CSDN博客

[3] Efficient and Robust Feature Selection via Joint ℓ2,1-Norms Minimization (neurips.cc)

[4] L21范数用于多任务特征选择的一些思考 - 知乎 (zhihu.com)

一、线性回归回顾

1. 无正则化项

在最简单的线性回归问题[1]中,每个样本 x ( i ) ∈ R n x^{(i)} \in R^n x(i)Rn所对应的的标签 y y y是一个值,因此用于预测的参数是一个向量 θ ∈ R n \theta \in R^n θRn,即

y ^ ( i ) = θ T x ( i ) = ( x ( i ) ) T θ \hat{y}^{(i)} = \theta^T x^{(i)} = (x^{(i)})^T \theta y^(i)=θTx(i)=(x(i))Tθ

记所有的样本组成一个矩阵 X = ( x ( 1 ) , . . . , x ( m ) ) T , X ∈ R m × n X = (x^{(1)}, ..., x^{(m)})^T, X \in R^{m \times n} X=(x(1),...,x(m))T,XRm×n,所有的预测值组成一个向量 y ^ ∈ R m \hat{y} \in R^m y^Rm,则有

y ^ = X θ \hat{y} = X \theta y^=

在此类问题中,常用梯度下降法或正规方程法求解使预测值最接近于标签的参数向量 θ \theta θ[1],以及添加正则化项防止过拟合

2. 带正则化项

在[2]中,提到了常见的正则化项包括L1正则化和L2正则化如下

L1正则化的线性回归问题:

a r g m i n θ 1 2 m ∑ i = 1 m ( θ T x ( i ) − y ( i ) ) 2 + λ ∥ θ ∥ 1 argmin_\theta \frac{1}{2m}\sum_{i=1}^m (\theta^T x^{(i)} - y^{(i)})^2 + \lambda \| \theta \|_1 argminθ2m1i=1m(θTx(i)y(i))2+λθ1

a r g m i n θ 1 2 m ( X θ − y ) T ( X θ − y ) + λ ∥ θ ∥ 1 argmin_\theta \frac{1}{2m} (X\theta - y)^T(X\theta - y) + \lambda \| \theta \|_1 argminθ2m1(y)T(y)+λθ1

其中,

向量的L1范数指: ∥ θ ∥ 1 = ∑ i = 1 n ∣ θ i ∣ \| \theta \|_1 = \sum\limits_{i=1}^n |\theta_i| θ1=i=1nθi

L2正则化的线性回归问题:

a r g m i n θ 1 2 m ∑ i = 1 m ( θ T x ( i ) − y ( i ) ) 2 + 1 2 λ ∥ θ ∥ 2 2 argmin_\theta \frac{1}{2m}\sum_{i=1}^m (\theta^T x^{(i)} - y^{(i)})^2 + \frac{1}{2} \lambda \| \theta \|_2^2 argminθ2m1i=1m(θTx(i)y(i))2+21λθ22

a r g m i n θ 1 2 m ( X θ − y ) T ( X θ − y ) + 1 2 λ ∥ θ ∥ 2 2 argmin_\theta \frac{1}{2m} (X\theta - y)^T(X\theta - y) + \frac{1}{2} \lambda \| \theta \|_2^2 argminθ2m1(y)T(y)+21λθ22

其中,

向量的L2范数指: ∥ θ ∥ 2 = ( ∑ i = 1 n ∣ θ i ∣ 2 ) 1 2 \| \theta \|_2 = (\sum\limits_{i=1}^n |\theta_i|^2)^{\frac{1}{2}} θ2=(i=1nθi2)21

两者的区别是,当我们进行梯度下降,对损失函数求导时,

L2正则化项的偏导为 λ ∑ i = 1 n ∣ θ i ∣ \lambda \sum\limits_{i=1}^n | \theta_i | λi=1nθi,对绝对值较大的 θ i \theta_i θi,会给予较重的惩罚。由此造成的结果就是, θ i \theta_i θi绝对值会尽可能小

L1正则化项的偏导为 λ \lambda λ,也就是说,无论 θ i \theta_i θi的大小,L1正则化项都给予相同的惩罚。由此造成的结果就是,许多 θ i \theta_i θi尽可能变为0,从此达到稀疏化和特征选择的作用

二、多任务问题

1. 定义损失函数

当遇到多任务问题[2]时,即每个样本x对应的y不只是一个值,而是一个d维向量,即 y ( i ) ∈ R d , Y ∈ R m × d y^{(i)} \in R^d, Y \in R^{m \times d} y(i)Rd,YRm×d时,用于预测的参数需要是一个矩阵 Θ ∈ R n × d \Theta \in R^{n \times d} ΘRn×d,使得

y ^ ( i ) = Θ T x ( i ) \hat{y}^{(i)} = \Theta^T x^{(i)} y^(i)=ΘTx(i)

Y ^ = X Θ \hat{Y} = X \Theta Y^=XΘ

由于前面预测值和真实值都是确定的一个值,使用平方误差作为损失函数。而如今预测值和真实值都是向量,于是使用2范数作为基本的损失函数:

J ( Θ ) = ∑ i = 1 m ∥ Θ T x ( i ) − y ( i ) ∥ 2 2 J(\Theta) = \sum\limits_{i=1}^m \| \Theta^T x^{(i)} - y^{(i)} \|_2^2 J(Θ)=i=1mΘTx(i)y(i)22

论文[3]中将损失函数定义为另一种更为鲁棒的形式:

J ( Θ ) = ∑ i = 1 m ∥ Θ T x ( i ) − y ( i ) ∥ 2 J(\Theta) = \sum\limits_{i=1}^m \| \Theta^T x^{(i)} - y^{(i)} \|_2 J(Θ)=i=1mΘTx(i)y(i)2

2. 引入正则化项

如果把 X X X看作 n n n个列向量排成一行,那么每个列向量就是一个特征。

Θ \Theta Θ看作 n n n个行向量排成一列,那么每一行就是对每个特征作用的参数

故,如果想在这里达到稀疏化,也就是剔除掉多余特征的作用,就需要将 Θ \Theta Θ的某几行尽可能全部置零

由此引出带L2,1范数正则化项的损失函数:

J ( Θ ) = ∑ i = 1 m ∥ Θ T x ( i ) − y ( i ) ∥ 2 + λ ∑ i = 1 n ∑ j = 1 d Θ i , j 2 J(\Theta) = \sum\limits_{i=1}^m \| \Theta^T x^{(i)} - y^{(i)} \|_2 + \lambda \sum\limits_{i=1}^n \sqrt{ \sum\limits_{j=1}^d \Theta_{i, j} ^2} J(Θ)=i=1mΘTx(i)y(i)2+λi=1nj=1dΘi,j2

根据L2,1范数的定义:

∥ W ∥ 2 , 1 = ∑ i = 1 n ∑ j = 1 d W i , j 2 \| W \|_{2,1} = \sum\limits_{i=1}^n \sqrt{ \sum\limits_{j=1}^d W_{i, j} ^2} W2,1=i=1nj=1dWi,j2

则有

J ( Θ ) = ∥ X Θ − Y ∥ 2 , 1 + λ ∥ Θ ∥ 2 , 1 J(\Theta) = \| X\Theta - Y \|_{2,1} + \lambda \| \Theta \|_{2,1} J(Θ)=XΘY2,1+λ∥Θ2,1

可见,L2,1范数就是对行求2范数后得到的结果作为一个向量再求1范数。外层的1范数制约部分行的2范数需要为0,也就是一整行都为0,从而起到特征筛选的作用[4]

  • 31
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值