最优化问题理论体系概述

1 简介

  最优化问题旨在寻找全局最优值。问题本身一般可以分为两个部分:目标函数与约束条件,进一步细分也是根据这两部分的差异来进行的。
最优化问题分类:
  (1)按变量取值范围:可以划分为一般规划与整数规划。一般规划与整数规划都可以是线性或非线性的,只不过非线性规划问题针对一般规划十分复。
  (2)根据函数式类型:可分为线性规划与非线性规划。线性规划的要求是目标函数与约束条件全部都是一次函数。非线性规划是指目标函数与约束条件中存在高阶变量。都允许多变量。
  非线性规划应用极其广泛,因为现实生活中的目标函数与约束条件远远不止线性函数这么简单。很多实际问题归根结底都是非线性规划问题。比如区域配送成本最小化、线性回归中的最优参数求解、SVM中的对偶优化等等。
  非线性规划的分类:围绕约束条件展开。一般按照有无约束来区分。
  一、无约束的非线性规划问题:可以使用梯度下降法和牛顿法解决。
  二、有约束的非线性规划问题:只具有等值约束,则可利用拉格朗日乘子法将等值约束与目标函数一起新的目标函数。若具有不等值约束的非线性规划问题可以借助KKT条件来求解析解或者设计优化算法。

2 线性规划

  线性规划(Linear Programming 简记 LP)是了运筹学中数学规划的一个重要分支。
  线性规划问题的目标函数及约束条件均为线性函数;目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以 是小于号也可以是大于号。
  一般的线性规划问题可表示为:
在这里插入图片描述
  基本求解方法:单纯形法是从线性规划可行集的某一个顶点出发,沿着使目标函数值下降的方向寻求下一个顶点,面顶点个数是有限的,所以,只要这个线性规划有最优解,那么通过有限步迭代后,必可求出最优解。
(1)列出约束条件及目标函数
(2)画出约束条件所表示的可行域
(3)在可行域内求目标函数的最优解及最优值

当存在多个目标时,如何求解?
  目标规划:线性规划的目标函数是单目标,但企业实际的经营管理中,需要完成多项指标,线性规划难以给出实际的答案,这些问题需用目标规划来加以解决。目标规划将整个问题化成了偏差(d)最小化的问题。
  目标规划的目标函数应表示为所有目标约束方程中偏差量的函数,这是目标规划与单目标规划的最明显标志。

3 无约束非线性规划

  无约束非线性规划问题的求解方法一般分为两类,一种是计算过程中要用到目标函数的导数,一种是不需要计算导数我们称之为直接方法。
  无约束问题的求解通过一系列一维搜索实现,因此怎样选择搜索方向是解无约束问题的核心问题,搜索方向的不同选择,形成不同的优化方法。

泰勒公式:
在这里插入图片描述

3.1 梯度下降法

(1)梯度:就是函数在某一点的最大方向导数,函数沿梯度方向有最大的变化率。可沿梯度下降的方向求解极小值。

方向导数:函数在某点延某方向的变化速率,是一个标量。如果方向导数大于0,表明在该方向函
数值上升,且绝对值越大上升速率越快;如果方向导数小于0,表明在该方向函数值下降,且绝对值越大
下降速率越快。函数在某点的梯度是一个向量,该向量的方向是最大方向导数的方向,该向量的模为方向
导数的最大值。因此正梯度方向代表了函数值上升最快的方向,负梯度方向代表了函数值下降最快的方向。

(2)梯度下降算法(Gradient Descent Optimization):是迭代法的一种,也称为最速下降法。在求解机器学习算法的模型参数,即无约束优化问题时,是最常采用的方法之一。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。
  在机器学习中,比如说逻辑回归、神经网络都是利用梯度下降方法进行优化的。
在这里插入图片描述
  其中学习率是比较重要的参数,用来控制步长。
(3)梯度下降方法
基本梯度下降算法
  •批量梯度下降(Batch gradient descent)
  •随机梯度下降(Stochastic gradient decent, SGD)
  •小批量梯度下降(mini-batch gradient descent)

改进梯度下降算法
  •Momentum 当前梯度+上次梯度 防止乱跑,拐来拐去
  •Nesterov accelerated gradient (NAG)
  •Adagrad、Adadelta、RMSprop
  •Adaptive Moment Estimation (Adam)

3.2 牛顿法

  牛顿法同样是利用导数的迭代优化算法,只不过与最速下降法不同,牛顿法还用到了目标函数的二阶导数。牛顿法的基本思路如下:在极小点附近用二阶泰勒展开式去近似目标函数f(x),进而求出极小点的估计值。
  泰勒公式构建了一个多项式来近似函数。牛顿法在每个当前x的位置,搜索邻域中的极小值,然后将当前x值移动到极小值的过程。大体思想类似于梯度下降法,不过梯度下降法每次局部调整都是以该点的梯度信息为指导,而牛顿法每次局部调整则是根据邻域极小值为指导。
  运用牛顿法时,初点的选择十分重要。如果初始点靠近极小值点,则可能很快收敛;如果初始点远离极小值点,迭代产生的点列可能不收敛于极小点。

4 有约束的非线性规划

(1)拉格朗日乘子法
(2)KKT条件
  这部分内容可查看我在《利用解的KKTPM值度量其相对于真实最优解集的收敛程度》中的基础知识内容部分。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值