【问题标题】:Convex Optimization in Python [closed]Python中的凸优化[关闭]
【发布时间】:2017-01-20 19:25:14
【问题描述】:

我最近对足球统计感兴趣。现在我想在 Python 3.5 (paper-link) 中实现著名的 Dixon-Coles 模型。

基本问题是,从论文中描述的模型中,得到了一个具有大量参数的似然函数,需要最大化。

例如:一个德甲赛季的似然函数将产生 37 个参数。当然我做了相应的负对数似然函数的最小化。我知道这个log 函数是严格的凸,所以优化应该不会太难。我还包括了分析梯度,但由于参数数量超过了 ~10,SciPy-Package 中的优化方法会失败 (scipy.optimize.minimize())。

我的问题: 还有哪些其他优化技术最适合涉及约 40 个独立参数的优化问题?

其他方法的一些提示会很棒!

【问题讨论】:

  • 你应该给我们更多的信息!你争论 log 的凸性,但整个问题也是凸的吗?如果是这样,请坚持使用凸编程求解器(scipy 中不可用;将 cvxpy 与求解器 ECOS 或 SCS 一起使用)。另外:为什么不向我们展示您的代码?你用的是哪个优化器?失败是什么意思(有这么多可能的问题)?

标签: python python-3.x optimization scipy convex


【解决方案1】:

您可能想看看像https://cvxopt.org/ 或https://www.cvxpy.org/ 这样的凸优化包。它基于 Python,因此易于使用!

【讨论】:

    【解决方案2】:

    您可以使用适用于凸空间和非凸空间的元启发式算法。其中最著名的可能是Genetic algorithm。它也很容易实现,概念也很简单。遗传算法的美妙之处在于您可以对其进行调整以解决大多数优化问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-16
      相关资源
      最近更新 更多