Phi*_*man 1 mathematical-optimization scikit-learn logistic-regression
使用此代码时,我注意到它收敛速度令人难以置信(一秒的小部分),即使模型和/或数据非常大.我怀疑在某些情况下,我没有得到任何接近最佳解决方案的东西,但这很难证明.对于某种类型的全局优化器(如流域跳跃算法),可以选择,即使这消耗了100到1000倍的CPU.有没有人对这个问题有任何想法?
sas*_*cha 10
这是一个非常复杂的问题,这个答案可能不完整,但应该给你一些提示(因为你的问题也表明了一些知识差距):
(1)首先,我不同意这种愿望,some type of global optimizer such as the basin hopping algorithm, even if this consumed 100 to 1,000 times as much CPU因为这在大多数情况下(在ML世界中)没有帮助,因为差异是如此微妙,与其他错误相比,优化错误通常可以忽略不计(模型 - 权力;经验 -风险)
"Stochastic Gradient Descent Tricks" (Battou)一些概述(以及错误组件!)(2)盆地跳跃是这些高度启发式的全局优化工具(寻找全局最小值而非局部最小值)的一部分,完全没有任何保证(触及NP-硬度和co.).这是你想在这里使用的最后一个算法(见第(3)点)!
(3)逻辑回归问题是凸优化问题!
(4)存在不同的求解器,每个求解器支持不同的问题变体(不同的正则化和合作).我们并不确切知道您在优化什么,但当然这些求解器在收敛方面的工作方式不同:
当然,对于大规模数据(甚至是复杂性),二阶方法会受到更多伤害,并且如前所述,并非所有解算器都支持sklearn中支持的每个logreg-optimization问题.
我希望你能理解这个问题是多么复杂(因为高度复杂的求解器 - 内部).
最重要的事情:
| 归档时间: |
|
| 查看次数: |
3782 次 |
| 最近记录: |