我正在尝试比较Hastie等人中区分的三组线性回归方法的计算复杂度/估计速度。“统计学习的要素”(第二版),第3章:
- 子集选择
- 收缩方式
- 使用派生输入方向的方法(PCR,PLS)
进行比较可能很粗略,只是为了给出一些想法。我认为答案可能取决于问题的严重程度以及如何适应计算机体系结构,因此举一个具体的例子,可以考虑样本量为500和50个候选回归变量。我最感兴趣的是计算复杂性/估计速度背后的动机,而不是对于给定示例而言,使用某个处理器需要多长时间。
我正在尝试比较Hastie等人中区分的三组线性回归方法的计算复杂度/估计速度。“统计学习的要素”(第二版),第3章:
进行比较可能很粗略,只是为了给出一些想法。我认为答案可能取决于问题的严重程度以及如何适应计算机体系结构,因此举一个具体的例子,可以考虑样本量为500和50个候选回归变量。我最感兴趣的是计算复杂性/估计速度背后的动机,而不是对于给定示例而言,使用某个处理器需要多长时间。
Answers:
第1组:
第1组的复杂度/速度似乎不太难确定是否使用了蛮力算法(尽管可能有更有效的替代方法,例如“游隙和界限”算法)。例如,给定候选特征的集合,全子集选择将需要回归才能拟合。一个线性回归的OLS拟合具有的复杂度(根据此帖子),其中是样本大小。因此,蛮力全子集选择的总复杂度应为。 K O(K 2 n )n O(2 K K 2 n )
第2组:
本书第3.8和3.9节讨论了第2组的复杂性/速度。例如,具有给定惩罚岭回归具有与常规回归相同的计算复杂性。由于需要使用交叉验证来找到,因此交叉验证中使用的数据分割数量(例如)的计算量呈线性增加。如果网格具有个点,则通过调整参数进行岭回归的总复杂度将为。
有很多谈论λ 小号λ 大号λ Ö(大号小号ķ 2 Ñ )λ λ Ô(大号小号ķ 2 Ñ )ø(甲大号小号ķ 2 Ñ )甲α
LASSO在书中,但我找不到我真正需要的东西。但是,我在p中找到了。Efron等人的443。“最小角度回归”(Least Angle Regression)(2004年)指出,如果使用LARS方法,给定 LASSO复杂度与线性回归的OLS拟合的复杂度相同。然后,通过调整参数,LASSO的总复杂度将为。(我没有仔细阅读该论文,因此如果我弄错了请纠正我。)弹性网结合了ridge和LASSO;两者具有相同的计算复杂度;因此,弹性网的复杂度应为,其中是调整参数的网格大小
可以平衡脊和LASSO的权重。
第3组:
我仍然没有注意到第3组的复杂性/速度,它由主成分回归(PCR)和偏最小二乘(PLS)组成。
它仅适用于上述第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的实现进行测量。