R中MLE的Fisher评分v / s坐标下降

数据挖掘 机器学习 r 算法 优化
2021-10-10 06:04:33

R 基函数glm()使用 Fishers Scoring 进行 MLE,而glmnet似乎使用坐标下降法来求解相同的方程。坐标下降比 Fisher Scoring 更省时,因为 Fisher Scoring 除了计算其他一些矩阵运算外,还计算二阶导数矩阵。这使得执行成本很高,而坐标下降可以在 O(np) 时间内完成相同的任务。

为什么 R 基函数会使用 Fisher 评分?这种方法比其他优化方法有优势吗?坐标下降和Fisher Scoring如何比较?我在这个领域相对较新,所以任何帮助或资源都会有所帮助。

1个回答

唯一可以确定的方法是通过基准测试,但对于 glm Fisher 评分应该比坐标下降更快。Fisher 评分是 Newton Raphson 的一个特例,它的收敛速度比坐标下降更快(Newton-Raphson 是二次收敛的,而坐标下降是线性收敛的。)所以虽然二阶导数信息的计算意味着每一步需要更多时间,它可能需要比坐标下降少得多的步骤。

对于套索,惩罚项的特殊形式使其成为一种非常特殊的情况(实际上绝对值无论如何都不可微分,尽管有时您可以巧妙地处理这一点)。对于这个特殊问题,坐标下降被证明是特别快的。还有许多其他优化问题在实践中 Newton-Raphson 更快。