zoukankan      html  css  js  c++  java
  • 无约束最优化一

    转:http://www.52nlp.cn/unconstrained-optimization-one

    估计有些读者看到这个题目的时候会觉得很数学,和自然语言处理没什么关系,不过如果你听说过最大熵模型、条件随机场,并且知道它们在自然语言处理中被广泛应用,甚至你明白其核心的参数训练算法中有一种叫LBFGS,那么本文就是对这类用于解无约束优化算法的Quasi-Newton Method的初步介绍。
      事实上,这个系列的作者是我的师兄jianzhu,他在中文分词、语言模型方面的研究很深入,如果大家对于srilm的源代码感兴趣,可以参考他个人博客上写的“srilm阅读文档系列”,很有帮助。我曾经向他约过稿,他说业余时间在学数学,比较忙,还以为他没有时间给52nlp写文章,没想到今天晚上他突然交给了我这篇文档,比较长,我会分几部分陆续放在博客上。这里非常感谢他对52nlp的支持,以下内容作者为jianzhu。

      本篇文档主要介绍无约束最优化问题,同时初步介绍解该类问题目前常用的一种算法即Quasi-Newton Method (拟牛顿法)。在介绍无约束最优化问题之前,我们首先会从直观上引入无约束最优化的概念,并在此基础上引入解这类问题的两个重要概念:步长和方向。由步长的选择引入重要概念line search,由方向的选择引入重要概念Quasi-Newton Method。因此本篇介绍文档主要分为以下几个部分:无约束最优化问题引入,Line Search ,Quasi-Newton Method和算法总结。

    1.无约束最优化
      对无约束最优化不熟悉的读者也许要问,什么是无约束最优化。这里以一个例子来说明该问题。
      无约束优化1.1
      上图所示为一元函数f(x)的图像,无约束最优化问题,即不对定义域或值域做任何限制的情况下,求解函数f(x)的最小值,上面显示两个最小值点:一个为全局最小值点,另一个为局部最小值点。受限于算法复杂度等问题,目前大部分无约束最优化算法只能保证求取局部最小值点。这时读者不免要问,既然只能求取局部最小值点,那为什么这类算法还能应用呢。这是因为实际应用中,许多情形被抽象为函数形式后均为凸函数,对于凸函数来说局部最小值点即为全局最小值点,因此只要能求得这类函数的一个最小值点,该点一定为全局最小值点。
      理解了上面的无约束最优化问题之后,我们就可以开始介绍无约束最优化的求解过程了,对于无约束最优化的求解首先我们需要选择一个初始点x_0,如下所示:
      无约束优化1.2
      初始点选择好之后,就可以按照各种不同的无约束最优化求解算法,求解最小值点了。求解过程中主要涉及两个概念,即从初始点开始沿“哪个方向”以及“走多远”到达下一个点处。所谓“走多远”即之前提的“步长”的概念,“哪个方向”即方向概念。

    2.Line Search
      Line search主要用于解决之前提到的步长的概念,即方向确定好之后,需要确定从当前点x_k沿着该方向走多远,以便走到下一个合适的点x_k+1。若用p_k代表从第k个点走向第k+1点的方向,x_k代表当前点,x_k+1代表下一个点,a_k代表步长,则存在如下的等式:

      x_k+1 = x_k + a_k * p_k     (1)

      这里简要介绍一下p_k,大部分line search方法要求p_k为下降方向,即从当前点沿着p_k方向移动后导致函数值减少。由于目标是求取一个函数的最小值,因此最优的情况是求取沿p_k方向满足f(x_k+1)为全局最小的a_k值,可用下式表示为:

      Ø (a_k) = f(x_k+1) = f(x_k + a_k * p_k) (2)

      无约束优化1.3
      由于直接求取满足Ø (a_k)为全局最小值的a_k涉及到大量f(x_k + a_k * p_k)的计算,若从求导角度计算最小值,还会涉及到▽f_k+1的计算,计算量较大。因此从计算量角度考虑,可以采用如下较为折中的策略。
      方向确定好之后,每一步的line Search主要涉及两个问题:1)什么样的a_k是合理的 2)如何选择a_k的长度。下面将沿这两个面展开讨论,首先讨论“什么样的a_k是合理的”,确定了该问题之后,我们就可以在此基础上选择a_k了。

    未完待续:无约束最优化二

    注:原创文章,转载请注明出处“我爱自然语言处理”:www.52nlp.cn

    本文链接地址:http://www.52nlp.cn/unconstrained-optimization-one

  • 相关阅读:
    飞入飞出效果
    【JSOI 2008】星球大战 Starwar
    POJ 1094 Sorting It All Out
    POJ 2728 Desert King
    【ZJOI 2008】树的统计 Count
    【SCOI 2009】生日快乐
    POJ 3580 SuperMemo
    POJ 1639 Picnic Planning
    POJ 2976 Dropping Tests
    SPOJ QTREE
  • 原文地址:https://www.cnblogs.com/guolei/p/3465410.html
Copyright © 2011-2022 走看看