Lasso 如何随设计矩阵大小缩放?

机器算法验证 优化 套索 正则化 时间复杂度
2022-03-12 23:15:18

如果我有一个设计矩阵XRn×d, 在哪里n是维度的观察次数d, 求解的复杂度是多少β^=argminβ12n||Xβy||2+λ||β||1带套索,写nd? 我认为答案应该是指一次LASSO 迭代如何使用这些参数进行缩放,而不是迭代次数(收敛)如何缩放,除非您有其他感觉。

我已经阅读了这个先前的 LASSO 复杂性问题,但它似乎与这里这里关于 glmnet 的讨论不一致我知道那里有很多算法,包括 glmnet 的 GLM 方法,但我正在写一篇关于将 LASSO 组件替换为父算法的论文,并希望包括关于 LASSO 复杂性的一般讨论,尤其是dn. 我也想知道 glmnet 在基本非稀疏情况下的复杂性,但是由于整个算法的复杂性并不明确,所以参考的论文有点令人困惑。

1个回答

参考文献的答案,

  • O(d2n)最小角度回归
  • O(dn)用于坐标下降

, 是正确的。


不同之处在于

LARS方程以封闭形式编写并找到精确解

(这样做会跨越可能的 λ 的整个路径,而计算复杂度的缩放比例与找到普通最小二乘问题的解相同,后者缩放为O(d2n))

尽管

坐标下降是近似解的迭代方案。所引用的步骤(其计算成本规模为O(dn)) 是“仅”一个近似步骤,收敛/“下降”更接近 LASSO 问题的最小值。


LARS 使用(准确)d找到解决方案的步骤(第 k 步缩放的复杂度为O((dk)n+k2), 第一项寻找dk非活动集中的内积和求解新角度的第二项k活动变量)使用坐标下降,没有人真正知道收敛速度和“充分”收敛所需/预期的步骤数(或者至少没有很好地描述)。

另一方面成本d2n对于高维会增加很多(虽然没有充分的理由期望坐标下降的收敛速度类似地缩放,=线性,如果d增加)。因此,直观地坐标下降将在一定限度以上表现更好d. 案例研究也证明了这一点(另请参阅参考资料,该参考资料表明 glmnet 在以下情况下的性能大多优于 LARSd>>100, 而对于d=100算法执行类似)。


缩放 LARS 是一个涉及计算复杂性的问题。缩放坐标下降是一个涉及计算复杂性收敛性的问题。