最优化问题指的是在给定条件下,找到一个目标函数的最优解,即找到能够使目标函数取得最大值或最小值的变量取值。常用的优化方法包括线性规划、整数规划、动态规划、遗传算法、模拟退火等。最终,通过对最优解的检验和实施,可以实现资源的最优分配或其他最优解决方案。
最优化的基本数学模型:
超平面和半空间
二维空间的超平面就是一条线(可以是曲线),三维空间下的超平面是一个面(可以是曲面)。
简单来说,超平面是具有一个变量的空间中的直线、平面等概念的推广。半空间是数学中的一个概念,通常指一个空间中,其中一个方向的值被限定为非负数。例如,在三维空间中,一个半空间可以表示为z≥0,其中z表示垂直于x-y平面的方向。数学表达式如下:
超平面:
半空间:
凸集分离定理
凸集,凸函数,详见 数学预备知识 2.1梯度下降
凸集分离定理是凸集理论中最基本的定理之一,它表明两个不相交的凸集总可以用超平面分离。这个定理在凸优化理论中有重要的应用,因为它提供了将多变量问题转化为多个单变量问题的方法。
如何实现的多变量问题转换为多个单变量问题?
凸集分离定理可以将多变量问题转换为多个单变量问题。具体来说,如果需要将两个不相交的凸集C和D分离,可以通过以下步骤实现:
通过以上步骤,就可以将多变量问题转换为多个单变量问题。这种方法在凸优化理论中有重要的应用,因为它可以将多变量问题转化为多个单变量问题,从而简化问题的求解。
(暂不理解这个步骤2的替换如何实现的)
传送门:ML算法—梯度下降随笔
求解无约束最优化问题,优点是收敛速度快。
牛顿法是一种迭代算法,用于求解方程式的根。其基本思想是利用函数的导数信息,不断迭代以逼近方程的根。
1)比梯度下降快的原因?
微分解释,牛顿法是二阶收敛,梯度下降是一阶收敛,牛顿法在选择方向时,不仅可以考虑坡度是否够大,还可以考虑走了一步后坡度是否会更大,因此能更快地走到最底部。
几何解释,牛顿法就是用一个二次曲面去拟合当前所处位置的局部曲面,梯度下降法使用一个平面去拟合当前的局部曲面。通常情况下,二次曲面的拟合效果会比平面更好。
2)牛顿法算法过程
,其中 ϵ 是预设的阈值。
需要注意的是,牛顿法对于非线性方程的求解效果较好,但对于线性方程的求解则可能不收敛。必须保证 f(x) 二阶导连续,否则牛顿法可能无法收敛。
在推导过程的步骤4.中,谈到的牛顿迭代公式是如何代入得切线曲率?
使用牛顿-拉夫森方法(Newton-Raphson method)来求解 α,即:
将 α 代入牛顿迭代公式中,得到:
1)较牛顿法的改进?
牛顿法迭代公式中没有步长因子,是定步长迭代。对于非二次型目标函数,不能保证函数值稳定的下降,有时会出现
,走过头了,为消除定步长迭代的弊端,阻尼牛顿法每次迭代方向仍然是
,但每次迭代会沿此方向做一维搜索,寻找最优的步长因子
,即:
2)阻尼牛顿法算法过程
则停止迭代,否则确定搜索方向:
其中,
,每个点处x=(x1,x2,x3,…,xn),都要计算一次:
1)较牛顿法的改进?
牛顿法每一步都要求解目标函数的Hessen 矩阵的逆矩阵,计算量比较大,提出一种改进,**通过正定矩阵近似代替
,**简化这一计算过程,改进后的方法称为拟牛顿法。
2)拟牛顿法算法过程
重点是梯度下降法,利用一阶导数,而二阶导数涉及到海森矩阵,具有较大的计算量,因此,往往采用梯度下降算法。