约束优化方法

作者: 有苦向瓜诉说 | 来源:发表于2019-07-11 22:12 被阅读3次

在机器学习中,常常需要对损失函数进行优化,但是我们可能希望在给定的集合中来搜索函数的最大值或者最小值,这就是约束优化。一个简单的方法是考虑约束条件后进行修改后的梯度下降,或者直接设计一个不同的、无约束的优化问题,其解可以转化为原始优化问题的解。

对于等式约束,可以直接采用拉格朗日方法,而对于不等式约束,可以使用KKT方法转换到广义的朗格朗日乘子中求解。

Karush-Kuhn-Tucker(KKT)方法是一种针对约束优化的通用的解决方案,假设优化目标存在等式约束和不等式约束
S = \left \{ x|\forall i,g^{(i)}(x)=0 \space and \space \forall j,h^{(j)}(x) \leq 0 \right \}

可以定义广义lagangian函数为
L(x,\lambda,\alpha)=f(x)+\sum_i \lambda_{i} g^{(i)}(x) + \sum_{j} \alpha_{j} h^{(j)}(x)
其中,\alpha \geq 0,\lambda是KKT乘子。

则约束可以转换为约束最小化问题,则为
\min_{x} \max_{\lambda} \max_{\alpha,\alpha \geq 0} L(x,\lambda,\alpha)
如果是要求约束最大化,则可以取上式的f(x)为负或者把整个式子设为负号,上式的等式约束所对应的符号并不重要。

可以用一组性质来描述约束优化问题的最优点,称为KKT条件,这是确定一个点的必要条件,而非充分条件。这些条件是

  1. 广义lagrangian函数的梯度为0。
  2. 满足所有关于x和KKT乘子的约束。(其中\alpha \geq 0)
  3. 不等式约束满足:\alpha \odot h(x) = 0.(即两个中至少一个为0)

对不等式约束的直观解释,这个解为不等式强加的边界,可以通过KKT乘子影响最优解,或者消除不等式对解的影响。

欢迎大家关注公众号“计算机视觉与机器学习”


计算机视觉和机器学习

相关文章

  • 约束优化方法

    在机器学习中,常常需要对损失函数进行优化,但是我们可能希望在给定的集合中来搜索函数的最大值或者最小值,这就是约束优...

  • 【转】约束优化方法之拉格朗日乘子法与KKT条件

    约束优化方法之拉格朗日乘子法与KKT条件 引言 本篇文章将详解带有约束条件的最优化问题,约束条件分为等式约束与不等...

  • 04 最优化方法

    推荐书籍: 《最优化方法》 李元科 基本概念: 目标函数 无约束优化 约束优化 迭代下降法 1)图解法: 2)迭...

  • 拉格朗日乘子与KKT条件(转载)

    拉格朗日乘子法和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法,再有等式约束时使用...

  • SVM-part1-KKT条件

    从三类优化问题开始: 1 无约束优化。 2 带等式约束带优化。 3 不等式约束优化。 而SVM的优化问题,即不等式...

  • 无约束优化方法-一阶导数(最速下降法)

    利用导数信息的方法皆为间接方法。在无约束优化法最开始介绍时,提到迭代形式的优化方法关键步骤是确定搜索方向和步长。间...

  • 手撕梯度下降法——原理篇

    梯度下降法(Gradient Descent,GD)是一种常用的求解无约束最优化问题的方法,在最优化、统计学以及机...

  • 约束最优化方法 (一) 最优性条件

      之前讨论的是无约束最优化方法,这一节主要介绍的是带有约束的非线性规划问题,所谓的非线性规划,就是约束项含有平方...

  • 梯度下降

    梯度下降(Gradient Descent)是在求解机器学习算法的模型参数(无约束优化问题)时,最常采用的方法之一...

  • 无约束优化方法-直接方法(Downhill Simplex)

    Downhill simplex 方法又称为Nelder-Mead算法、Amoeba方法,由Spendley、He...

网友评论

    本文标题:约束优化方法

    本文链接:https://www.haomeiwen.com/subject/rkejkctx.html