包头建设安全协会网站,广西营销型网站公司,网站设计导航栏怎么做,搜索引擎营销案例第六章 无约束优化算法 
本章考虑如下无约束优化问题  min  x ∈ R n f ( x ) (6.0.1) \min_{x{\in}R^n}f(x)\tag{6.0.1} x∈Rnminf(x)(6.0.1) 其中 f ( x ) f(x) f(x)是 R n → R R^n{\rightarrow}R Rn→R的函数#xff0c;无约束优化问题是众多优化问题中最基本的问题无约束优化问题是众多优化问题中最基本的问题它对自变量 x x x的取值范围不加限制所以无需考虑 x x x的可行性。对于光滑函数我们可以较容易的利用梯度和海瑟矩阵的信息来设计算法对于非光滑函数我们可以利用次梯度来构造迭代格式。很多无约束优化问题的算法思想可以推广到其他优化问题上。 
无约束优化问题的优化算法主要分为两大类线搜索类型的优化算法和信赖域类型的优化算法它们都是对函数 f ( x ) f(x) f(x)在局部进行近似但处理近似问题的方式不同。 线搜索类算法根据搜索方向的不同可以分为梯度类算法、次梯度算法、牛顿算法、拟牛顿算法等。一旦确定了搜索的方向下一步即沿着该方向寻找下一个迭代点。 而信赖域算法主要针对 f ( x ) f(x) f(x)二阶可微的情形它是在一个给定的区域内使用二阶模型近似原问题通过不断直接求解该二阶模型从而找到最优值点。 
6.1 线搜索方法 
对于优化问题6.0.1我们将求解 f ( x ) f(x) f(x)的最小值点的过程比喻成下山的过程假设一个人处于某点 x x x处 f ( x ) f(x) f(x)表示此处的高度为了寻找最低点在点 x x x处需要确定如下两件事情第一下一步该向哪一方向行走第二沿着该方向行走多远后停下以便选取下一个下山方向以上这两个因素确定后便可以一直重复直至到达 f ( x ) f(x) f(x)的最小值点 
线搜索类算法的数学表述为给定当前迭代点 x k x^k xk首先通过某种算法选取向量 d k d^k dk之后确定正数 α k \alpha_k αk则下一步的迭代点可写作  x k  1  x k  α k d k x^{k1}x^k\alpha_kd^k xk1xkαkdk 我们称 d k d^k dk为迭代点 x k x^k xk处的搜索方向 α k \alpha_k αk为相应的步长。这里要求 d k d^k dk是一个下降方向即 ( d k ) T ∇ f ( x k )  0 (d^k)^T\nabla{f(x^k)}0 (dk)T∇f(xk)0。这个下降性质保证了沿着此方向搜索函数 f f f的值会减少。线搜索类算法的关键是如何选取一个好的方向以及合适的步长。 在本节中我们回答如何选取 α k \alpha_k αk这一问题这是因为选取 d k d^k dk的方法千差万别但选取 α k \alpha_k αk的方法在不同算法中非常相似首先构造辅助函数  ϕ ( α )  f ( x k  α d k ) \phi(\alpha)f(x^k\alpha{d^k}) ϕ(α)f(xkαdk) 其中 d k d^k dk是给定的下降方向 α  0 \alpha0 α0是该辅助函数的自变量函数 ϕ ( α ) \phi(\alpha) ϕ(α)的几何含义非常直观它是一个目标函数 f ( x ) f(x) f(x)在射线 { x k  α d k : α  0 } \{x^k\alpha{d^k}:\alpha0\} {xkαdk:α0}上的限制。注意到 ϕ ( α ) \phi(\alpha) ϕ(α)是一个一元函数而我们研究一元函数相对比较方便。 线搜索的目标是选取合适的 α k \alpha_k αk使得 ϕ ( α k ) \phi(\alpha_k) ϕ(αk)尽可能的小但这项工作并不容易 α k \alpha_k αk应该使得 f f f充分下降同时不应该在寻找 α k \alpha_k αk上花费过多的计算量我们需要权衡这两个方面。 首先一个最直接的想法是寻找 α k \alpha_k αk使得  α k  a r g m a x α  0 ϕ ( α ) \alpha_kargmax_{\alpha0}\phi(\alpha) αkargmaxα0ϕ(α) 即 α k \alpha_k αk为最佳步长。这种线搜索算法被称为精确线搜索算法。需要指出的是使用精确线搜索算法时我们可以在多数情况下得到优化问题的解但选取 α k \alpha_k αk通常需要很大计算量在实际应用中较少使用。 另一个想法不要求 α k \alpha_k αk是 ϕ ( α ) \phi(\alpha) ϕ(α)的最小值点而仅仅要求 ϕ ( α k ) \phi(\alpha_k) ϕ(αk)满足某些不等式性质。这种线搜索算法被称为非精确线搜索算法 
PS说实话因为我最近深度学习做的多好像跟这一块有点区别 
6.1.1 线搜索准则 
我们选取 α k \alpha_k αk需要满足一定的要求这些要求被称为线搜索准则。这里指出线搜索准则的合适与否直接决定了算法的收敛性若选取不合适的线搜索准则将会导致算法无法收敛 例6.4 考虑一维无约束优化问题  min  x f ( x )  x 2 \min_xf(x)x^2 xminf(x)x2 迭代初始点 x 0  1 x^01 x01由于问题是一维的下降方向只有{-1,1}两种我们选取 d k  − s i g n ( x k ) d^k-sign(x^k) dk−sign(xk)且只要求选取的步长满足迭代点处函数值单调下降考虑选取如下两种步长  α k , 1  1 3 k  1 , α k , 2  1  2 3 k  1 \alpha_{k,1}\frac{1}{3^{k1}},\alpha_{k,2}1\frac{2}{3^{k1}} αk,13k11,αk,213k12 通过简单计算可以得到一步步递推把等比公式  x 1 k  1 2 ( 1  1 3 k ) , x 2 k  ( − 1 ) k 2 ( 1  1 3 k ) x_1^k\frac{1}{2}(1\frac{1}{3^k}),x_2^k\frac{(-1)^k}{2}(1\frac{1}{3^k}) x1k21(13k1),x2k2(−1)k(13k1) 可以看到序列 { f ( x 1 k ) } \{f(x_1^k)\} {f(x1k)}和序列 { f ( x 2 k ) } \{f(x_2^k)\} {f(x2k)}均单调下降但序列1收敛的点不是极小值点序列2则在原点左右振荡。 出现上述情况的原因是在迭代过程中下降量不够充分或过于多了。以至于算法无法收敛到极小值点为了避免这种情况发生必须引入一些更合理的线搜索准则来确保迭代的收敛性。