最优化方法总结:公式解、数值优化、求解思想

机器学习的目标是给出一个模型(一般是映射函数),然后定义对这个模型好坏的评价函数(目标函数),求解目标函数的极大值或者极小值,以确定模型的参数,从而得到我们想要的模型。

在这三个关键步骤(定义模型,目标函数,求解极值)中,前两个是机器学习要研究的问题,建立数学模型。第三个问题是纯数学问题,即最优化方法。

机器学习要求解的数学模型

1.有监督学习:目标函数的极值

对于有监督学习,我们要找到一个最佳的映射函数f(x),使得对训练样本的损失函数最小化。

N为训练样本数,L是对单个样本的损失函数,w是要求解的模型参数,是映射函数的参数, [公式] 为样本的特征向量, [公式] 为样本的标签值。

2.有监督学习:最大似然估计

或是找到一个最优的概率密度函数p(x),使得对训练样本的对数似然函数极大化(最大似然估计):

 [公式] 是要求解的模型参数,是概率密度函数的参数。

3.无监督学习

以聚类算法为例,算法求解每个类的样本离类中心的距离之和最小化:

在这里k为类型数,x为样本向量, [公式] 为类中心向量, [公式] 为第i个类的样本集合。

4.强化学习

找到一个最优的策略,即状态s到动作a的映射函数(确定性策略,对于非确定性策略,是执行每个动作的概率):

使得任意给定一个状态,执行这个策略函数所确定的动作a之后,得到的累计回报最大化:

这里使用的是状态价值函数。

最优化算法的分类

好的优化算法需要满足:能正确的找到各种情况下的极值点,并且速度快。优化算法分成两种类型:公式解,数值优化。前者给出一个最优化问题精确的公式解,也称为解析解,一般是理论结果。后者是在要给出极值点的精确计算公式非常困难的情况下,用数值计算方法近似求解得到最优点。

下图给出了这些算法的分类与它们之间的关系:

公式解算法

费马定理

对于一个可导函数,寻找其极值的统一做法是寻找导数为0的点,即费马定理。

对于多元函数,则是梯度为0:

导数为0只是函数取得极值的必要条件而不是充分条件,它只是疑似极值点。是不是极值,是极大值还是极小值,还需要看更高阶导数。

对于一元函数,假设x是驻点:

1.如果 [公式] (x)>0,则在该点处去极小值

2.如果 [公式] (x)<0,则在该点处去极大值

3.如果 [公式] (x)=0,还要看更高阶导数

对于多元函数,假设x是驻点:

1.如果Hessian矩阵所有特征值均大于0,矩阵正定,函数在该点有极小值

2.如果Hessian矩阵所有特征值均小于0,矩阵负定,函数在该点有极大值

3.如果Hessian矩阵所有特征值均等于0,矩阵不定,则不是极值点

注意:

1.鞍点:在导数为0的点,函数可能不取极值

2.局部极值:一个驻点是极值点,但不是全局极值

如果我们对最优化问题加以限定,可以有效的避免这两种问题。典型的是凸优化,它要求优化变量的可行域是凸集,目标函数是凸函数。

拉格朗日乘数法

对于带等式约束的极值问题,经典的解决方案是拉格朗日乘数法。

构造拉格朗日乘子函数:

在最优点处对x和乘子变量

  • 14
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值