概述
在实际应用中,有些目标函数的梯度不容易计算,即使使用有限差分等近似算法,也会因为噪声的存在导致结果不精确。无梯度优化算法(DFO-Derivative-Free Optimization)可以在不计算梯度的情况下进行问题的最优化,主要有两类思路,一是根据目标函数的样本进行拟合,对拟合函数进行最优化;二是用一些启发式算法。
1. 有限差分和误差
2. 基于模型近似的方法
3. 坐标和模式搜索方法
4. 其他DFO方法
5. 总结
有限差分和误差
有限差分方法在某些情况下可能会有一定的误差,例如如果函数值需要通过随机试验进行模拟,此时会引入人为误差或者仪器误差。
因此对问题进行建模时,将误差引入目标函数中,然后利用有限差分和梯度相关算法进行优化。
f(x)=h(x)+ϕ(x)
其中函数h表示某平滑函数,
ϕ
表示误差分布函数,该函数可以和参数x有关也可以无关。
对误差进行建模后,然后利用中心有限差分方法,进行梯度的计算
∂f∂xi≈f(x+ϵei)−f(x−ϵei)2ϵ
噪声水平(Noise Level)定义为:
在x附近噪声最大值。 η(x;ϕ)=sup||z−x||≤ϵ|ϕ(z)|
此时使用有限差分方法,近似误差来源于固有误差和噪声误差。
基于模型的方法
主要思路是,在第k步迭代时,基于该点进行模型近似,通过采样推导出模型中的参数,基于该模型进行最优化计算。
二次模型近似
在第k步迭代时,构建一个二次模型进行近似
mk(xk+p)=c+gTp+12pTGp
,其中g和G分别表示函数f的一阶和二阶梯度。
由于该模型参数c、g和G都是未知的,因此需要1+n+(n+1)n/2=(n+1)(n+2)/2个未知数需要计算。
所以基于点Xk需要采样这么多个点进行未知数计算。
样本 Y=y1,y2...yq ,假设该集合中的点值都比x_k大。根据拟合等式