【问题标题】:Non-Convex Loss Function非凸损失函数
【发布时间】:2017-10-10 18:35:49
【问题描述】:

我试图通过绘制函数中参数的误差与值来理解梯度下降算法。 y = f(x) 形式的简单函数只有一个输入变量 x 和两个参数 w1 和 w2 以使其具有非凸损失函数的示例是什么? y = w1.tanh(w2.x) 是一个例子吗?我想要实现的是:

不绘制图形如何知道函数是否具有非凸损失函数?

【问题讨论】:

    标签: optimization machine-learning gradient-descent


    【解决方案1】:

    和高中代数一样:二阶导数告诉你 flex 的方向。如果在所有方向上都是负数,则该函数是凸函数。

    【讨论】:

      【解决方案2】:

      在梯度下降或高斯-牛顿等迭代优化算法中,重要的是函数是否是局部凸的。当且仅当 Hessian 矩阵(梯度雅可比矩阵)是半正定的,这是正确的(在凸集上)。至于一个变量的非凸函数(见下面我的编辑),一个完美的例子就是你提供的函数。这是因为它的二阶导数 i.e Hessian(这里的大小为 1*1)可以计算如下:

      first_deriv=d(w1*tanh(w2*x))/dx= w1*w2 * sech^2(w2*x)
      second_deriv=d(first_deriv)/dx=some_const*sech^2(w2*x)*tanh(w2*x)
      

      sech^2 部分始终为正,因此second_deriv 的符号取决于tanh 的符号,这取决于您提供为xw2 的值。因此,我们可以说它不是处处凸的。

      编辑:我不清楚你所说的一个输入变量和两个参数是什么意思,所以我假设 w1 和 w2 是预先固定的,并计算了 w.r.t x 的导数。但我认为,如果你想优化 w1 和 w2(我认为如果你的函数来自玩具神经网络更有意义),那么你可以用类似的方式计算 2*2 Hessian。

      【讨论】:

      • 数学的哪个分支处理上述概念?
      • 我会说主要是数值优化。
      猜你喜欢
      • 2021-03-13
      • 1970-01-01
      • 2018-12-20
      • 2020-11-06
      • 2021-02-21
      • 2020-09-04
      • 2017-07-24
      • 2016-01-23
      • 2016-07-20
      相关资源
      最近更新 更多