速度,PCA,LASSO,弹性网的计算费用


18

我正在尝试比较Hastie等人中区分的三组线性回归方法的计算复杂度/估计速度。“统计学习的要素”(第二版),第3章:

  1. 子集选择
  2. 收缩方式
  3. 使用派生输入方向的方法(PCR,PLS)

进行比较可能很粗略,只是为了给出一些想法。我认为答案可能取决于问题的严重程度以及如何适应计算机体系结构,因此举一个具体的例子,可以考虑样本量为500和50个候选回归变量。我最感兴趣的是计算复杂性/估计速度背后的动机,而不是对于给定示例而言,使用某个处理器需要多长时间。


使用PCR或PLS时,组件数是一个调整参数(类似于ridge回归中的)。因此,这些方法还需要进行交叉验证以找到最佳数量的组件。LASSO也有一个正则化参数,但是弹性网有两个(弹性网=脊+ LASSO),因此交叉验证的成本更高。除此之外,由于LASSO没有封闭形式的解决方案,因此其拟合速度可能慢于所有其他模型。λ
— 变形虫说恢复莫妮卡

谢谢!如果包含两个以上的详细信息,您的评论将是一个不错的答案:(1)PCR和PLS的一次迭代与常规回归的一次OLS运行相比有多昂贵?(2)更精确地量化LASSO的速度,使其与常规回归的速度可比(是多项式,指数式还是线性式更昂贵,以及为什么)。
— 理查德·哈迪

不幸的是,我对此没有一个好的答案,尤其是对于(2)。这就是为什么我只留下评论。+1,顺便祝贺5k代表!
— 变形虫说恢复莫妮卡2015年

1
@amoeba,谢谢!去年刚开始(非常缓慢)时,我没想到会达到5k。但是,成为Cross Validated的活跃成员非常令人兴奋和收获!
— 理查德·哈迪

@amoeba,如果使用LARS算法,我想我掌握了LASSO的复杂性;我相应地更新了我的帖子。但是我没有仔细阅读LARS论文,所以我不能完全确定它是正确的……
— 理查德·哈迪

Answers:


5

第1组:
第1组的复杂度/速度似乎不太难确定是否使用了蛮力算法(尽管可能有更有效的替代方法,例如“游隙和界限”算法)。例如,给定候选特征的集合,全子集选择将需要回归才能拟合。一个线性回归的OLS拟合具有的复杂度(根据此帖子),其中是样本大小。因此,蛮力全子集选择的总复杂度应为。 K O(K 2 n )n O(2 K K 2 n )2ķķØ(ķ2ñ)ñØ(2ķķ2ñ)

第2组:
本书第3.8和3.9节讨论了第2组的复杂性/速度。例如,具有给定惩罚岭回归具有与常规回归相同的计算复杂性。由于需要使用交叉验证来找到,因此交叉验证中使用的数据分割数量(例如)的计算量呈线性增加。如果网格具有个点,则通过调整参数进行岭回归的总复杂度将为。 有很多谈论λ 小号λ 大号λ Ö(大号小号ķ 2 Ñ )λ λ Ô(大号小号ķ 2 Ñ )ø(甲大号小号ķ 2 Ñ )甲αλλ小号λ大号λØ(大号小号ķ2ñ)
LASSO在书中,但我找不到我真正需要的东西。但是,我在p中找到了。Efron等人的443。“最小角度回归”(Least Angle Regression)(2004年)指出,如果使用LARS方法,给定 LASSO复杂度与线性回归的OLS拟合的复杂度相同。然后,通过调整参数,LASSO的总复杂度将为。(我没有仔细阅读该论文,因此如果我弄错了请纠正我。)弹性网结合了ridge和LASSO;两者具有相同的计算复杂度;因此,弹性网的复杂度应为,其中是调整参数的网格大小λλØ(大号小号ķ2ñ)
Ø(一种大号小号ķ2ñ)一种α可以平衡脊和LASSO的权重。

第3组:
我仍然没有注意到第3组的复杂性/速度,它由主成分回归(PCR)和偏最小二乘(PLS)组成。


2

它仅适用于上述第3组的问题2的一部分(即PLS),但仍可能提供信息:Srinivasan等人(2010年,技术报告;请参阅https://www.umiacs.umd.edu/~balajiv/Papers/ UMD_CS_TR_Pls_Gpu.pdf)使用NIPALS算法在PLS上进行了一些测量-指出此算法的时间(和空间)复杂度为O(dN)-进行提取,并将其包括在不同的模型中以进行a)图像中人的检测,以及b ) 人脸识别。使用他们自己的基于GPU的实现进行测量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.