最小绝对偏差(Least Absolute Deviation, LAD)---子梯度法

最小绝对偏差(Least Absolute Deviations,简称LAD)是一种用于回归分析的统计方法,其目标是最小化残差的绝对值之和,而不是最小二乘法中的残差平方和。LAD回归特别适用于存在异常值的数据集,因为它对异常值不那么敏感。

在优化问题中,当目标函数不是处处可微时,可以使用次梯度(Subgradient)法来找到函数的极小值。对于LAD问题,由于绝对值函数在其零点不可微,因此可以使用子梯度法来求解。

以下是使用子梯度法求解LAD问题的步骤:

1. LAD问题的数学表述

给定一个数据集 ( x i , y i ) (x_i, y_i) (xi,yi),其中 i = 1 , … , n i = 1, \ldots, n i=1,,n,LAD回归的目标是最小化以下目标函数:
min ⁡ β ∑ i = 1 n ∣ y i − x i T β ∣ \min_{\beta} \sum_{i=1}^{n} |y_i - x_i^T \beta| βmini=1nyixiTβ
其中, β \beta β 是回归系数。

2. 子梯度法的基本步骤

子梯度法是一种迭代优化算法,其基本步骤如下:

初始化
  • 选择一个初始解 β ( 0 ) \beta^{(0)} β(0)
  • 设定一个步长序列 α k \alpha_k αk,通常随着迭代次数增加而递减。
  • 设定一个容忍误差 ϵ \epsilon ϵ 来决定何时停止迭代。
迭代过程
  • 对于 k = 0 , 1 , 2 , … k = 0, 1, 2, \ldots k=0,1,2,,执行以下步骤直到收敛:
    1. 计算目标函数在当前解处的子梯度 g ( k ) g^{(k)} g(k)。对于LAD问题,子梯度可以表示为:

      g ( k ) = − ∑ i = 1 n sign ( y i − x i T β ( k ) ) ⋅ x i g^{(k)} = -\sum_{i=1}^{n} \text{sign}(y_i - x_i^T \beta^{(k)}) \cdot x_i g(k)=i=1nsign(yixiTβ(k))xi

      其中, sign ( z ) \text{sign}(z) sign(z) 是符号函数,当 z > 0 z > 0 z>0 时为 1,当 z < 0 z < 0 z<0 时为 -1,当 z = 0 z = 0 z=0 时可以取 0 或者 -1 和 1 之间的任意值。

    2. 更新解:

      β ( k + 1 ) = β ( k ) − α k ⋅ g ( k ) \beta^{(k+1)} = \beta^{(k)} - \alpha_k \cdot g^{(k)} β(k+1)=β(k)αkg(k)

    3. 检查收敛性:如果 ∥ g ( k ) ∥ < ϵ \|g^{(k)}\| < \epsilon g(k)<ϵ 或者目标函数值的下降小于某个阈值,则停止迭代。

步长的选择
  • 步长 α k \alpha_k αk 可以是固定的,也可以是逐步减小的,例如使用线搜索或者回溯线搜索来确定每个迭代步的最佳步长。

3. 收敛性

  • 子梯度法并不保证总是收敛到全局最小值,但通常可以收敛到局部最小值。
  • 对于LAD问题,由于目标函数是凸的,子梯度法可以保证收敛到全局最小值。

4. 注意事项

  • 子梯度法可能比梯度下降法慢,因为它不利用目标函数的局部信息。
  • 子梯度法的实现需要仔细选择步长序列,以避免过多的迭代或者发散。

通过以上步骤,可以使用子梯度法求解LAD回归问题。在实际应用中,还有更高效的算法,如内点法(Interior Point Method)和线性规划,这些算法在解决LAD问题时通常比子梯度法更高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高山莫衣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值