最优化学习---从解方程到最优化1

来源于 上交视频,https://www.bilibili.com/video/av14666879/

第一章,introduction

 Formulation

f(x): Cost function

x: Decision varaible

X: Constraint set

if x belongs to X: Constraiened optimization

if x == X: Unconstraiened optimization

线性规划问题在最优化scope里,但是本课程不涉及,因为比较成熟。。。特性是,f(x)和X都是线性的

非线性的最优化,,f(x)或X存在非线性的,这里的线性非线性,我的理解都是对x而言,,这个也叫NLP---Nonlinear Programming

整数规划,离散的,x都是整数

Mixed Integer Programming (混合整数规划),变量涉及连续的也涉及离散的

Dynamic optimization( Optimal Control): 最优控制,变量联合了时间,真实物理系统,信号与系统?

Stochastic Optimization: 随机优化,变量涉及随机变量

Multi object optimizaiton: 多目标优化,存在f(x),g(x),t(x)等等cost fuction

Game theory 博弈论,多个人员参与,不知道其他人决策

本课程主要集中在非线性规划!!!涉及一些经典方法,不知道这个课程是哪一年录制的,感觉是零几年,有人回复04年,好在基础理论没有变化

第二章:最优化条件,optimality condition

convex set (凸集):集合里任意两个点连接的线段上的点,都在集合内,数学描述,ax+ (1-a)x2 belong to S,  0<=a<=1

hyperplane(超平面):c * x = z, z是一个常数,c是一个非零向量,所获得的x的集合,组成一个超平面。

举例:2维情况下,x是一条直线,3维情况下,是一个2维平面,更多维情况下,是一个超平面。。。

(以前学线性代数的时候,似乎有类似的概念,不知道是不是叫这个了,c * x = z是超平面, A * x =v是不是呢??  

超平面把空间分为两部分,c * x <=z; c * x >= z

支撑面:对于convex set S, 如果S的一个边界点w,经过某一个超平面L,同时S上所有的点都在L的同一侧,认为这是S在w的一个支撑面。(其实就是切线,高维情况下切线不唯一 

convex function (凸函数): f(ax1 + (1-a)x2) <= af(x1) + (1-a)f(x2), 定义域在一个凸集上。

这个凸函数的概念,还不是很好记,凸是向下凸的,我老是直觉认为向上凸。而且没有线性组合的sense, 老师有一句中文的,点的线性组合函数值小于函数值的线性组合。

梯度:符号不好打,先截图吧。二维梯度矩阵的名字,海森阵。

正定矩阵:xTVx > 0 对所有非零x向量成立,V就是正定的

 函数变化速率 = 梯度 * 变化方向 = (方向导数的模,应该是吧

第三章:

二分法:针对单峰函数

等分法:类似

斐波那契搜索:类似

 黄金分割搜索:类似

p8

二次插值法:把一个函数段模拟成二次函数,用公式求其最小值所在的点。精度低,速度快

牛顿法:类似于方程求根。最优解的时候,导数为0,严格凸函数会严格收敛,计算量大!

当cost函数是二次函数,海森阵变成常数,特别容易计算,所以现实中会把非线性转为二次再用这个方法

第四章,无约束梯度算法(只能找到局部最优解

梯度下降法:

有限步内不确保能找到最优解,因为最后步长会越来越小,但是直观上理解已经收敛了?

梯度下降法步值k的选取

最优梯度下降,在确定梯度也就是函数下降方向后,将步长k作为自变量,求解范围内使f最小的k,也就是f极小值时的k,

收敛率线性。这一步的差距和上一步差距,是一个常数倍数的比例

p9习题课

p10

第五章:二次收敛算法

共轭梯度法

 二次函数的标准表示f(x) = c + bT + 0.5 * xTAx,,,,这里A是一个对称矩阵

梯度: Ax + b, 当A正定,x有唯一解

共轭:当(u, Av)正交,称u,v关于A共轭,正交是共轭的一种特例,A是一个对称正定阵

在n步之内找到最优解,n就是x的维数,(对二次函数而言)

p11

计算机上实现,因为数值误差,所以会导致有时候不能收敛。。。。

介绍了三种获取共轭向量的算法,,,Fletcher, powell, 变尺度算法,还有三者联合

我们每一次都按照一个共轭的方向前进

p12 

第六章:有约束,及拉格朗日算法

约束的等式个数一般小于变量的个数,要不然直接转化为一个解方程问题。。

把等式加到f(x)后面,求新函数的无约束最优解

有的情况下,原函数f(x)有最优解,但是新函数L(x)没有最优解

不等式约束

分情况讨论,,

p13

第七章:不等式约束,Kuhn-Tucker定理

p15

第八章:有约束的梯度算法

基本思想:走到了约束边界的时候,就改变方向,不出边界,

p17(最后一天上课)

第六第七章的方法,偏重理论分析,在实际应用中不太有,都用第八第九章的东西

可行方向法,搜索方向尽量贴近约束边界

p18

第九章:惩罚函数方法

对啊,和拉格朗日法很像

对于不等式,,构造出的函数不可求导

内点法,外点法。

原文地址:https://www.cnblogs.com/zherlock/p/10184095.html