07.第7讲 牛顿法 DFP变尺度法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
牛顿法
基本思想: 在求目标函数 f ( X )的极小值时,先将 f ( X ) 在 X k 处附件做泰勒展开,取二次近似函数式,然 后求出这个二次函数的极小点,并将该点作为 原目标函数的近似极小点,若此值不能满足精 度要求,则以此近似极小点作为下一轮迭代的 初始点,继续上述过程,直至满足要求为止。
牛顿法的迭代公式:
则为:
X
k 1
X [ H ( X )] f ( X )
k k
DFP变尺度法及其递推公式:
变尺度矩阵递推公式: A
k
k 1
A A
k
k
其中 A 为k次迭代的修正矩阵。
DFP算法的迭代修正矩阵是
X [X ] A g [g ] A A k T k k T k k [X ] g [g ] A g
6.检查迭代次数,若k=n,则置 X k 1 X 0 ,
转2;若k<n,则转7; 7.计算 X X
k k 1
X
k
k k 1 k g f ( X ) f ( X ) ,
k k k k 1 A A A A 按DFP法修正矩阵公式计算 ,
然后,置 k 1 k
式中 ,
k 1
k
k
——阻尼因子;
S [ H ( X )] f ( X ) ——牛顿方向。
牛顿法的特点:
牛顿法不仅利用了函数的一阶导数信息, 还利用了二阶导数信息,故其收敛速度比梯 度法快得多。但牛顿法需计算塞黑矩阵及其 逆矩阵,计算量存储量都很大,且都是以维 2 数 比例增加,维数高时这个问题更加突出。 n 此外,若塞黑矩阵是奇异矩阵时,其逆矩阵 不存在,这种方法就不能使用。
k k k T k k k T
k
式中 X k X k 1 X k ,即两迭代点信息之差;
g f ( X
k k 1
) f ( X ) ,即目标函数一阶导数差
k
DFP法迭代步骤:
1.给定初始点 X o ,迭代精度
0
,维数n;
f ( X 0 ) g 0
2.置 0 k ,单位矩阵 I A ,计算
,转3.
DFP变尺度法
变尺度法基本思想: 变尺度法是在克服梯度法收敛慢和牛顿法 计算量大的缺点上发展起来的。它利用牛顿法 k 1 [ H ( X )] ,而是 的迭代形式,然而不直接计算 k k 1 [ H ( X )] 。 A 用一个对称正定矩阵 近似地代替 k A 在迭代过程中不断改进,最后逼近 [H ( X )] 这种方法,省去了塞黑矩阵的计算和求逆,计 算量大为减少。
k 1
变尺度法的迭代公式:
X
k 1
X
o
k
A f ( X )
k k k
A
k
为变尺度矩阵,在迭代过程中不断修正。
0
在初试点 X 取 A I ,则上式变为:
X
k 1
X f ( X )
k k k
k * X X 而当 时,即
Ak [ H ( X k )]1
k 1 k
k k k A g S 3.计算搜索方向
;
4.进行一维搜索求 ,得迭代新点
k
பைடு நூலகம்
X S X
k k k
k 1
5.检验是否满足迭代终止条件
f ( X
k 1
)
若满足,停止迭代,输出 X k 1 X * , f ( X k 1 ) f ( X * ) 否则转下一步;
k
1 ,这对非二次型目标函数,有时候
f ( X k 1 ) f ( X k ) 的情况。这
会出现函数值上升即
表明牛顿法不能保证函数值稳定下降,在严重的情况
下甚至可能造成迭代点的发散而导致计算失败,为克 服上述弊端,提出阻尼牛顿法,其迭代公式为:
X k 1 X k
k f ( X ) k H(X k )
1 f ( X ) ( X ) f ( X ) f ( X )( X X ) ( X X k ) H ( X k )( X X k ) 2 求二次近似函数 ( X ) 的极小点,即令 ( X ) 0
k k k
k f ( X ) X 在目标函数 在 点处取二阶泰勒展开:
X
*
X
k
f ( X k ) H(X k )
若 f ( X ) 是二次函数,则 X * 就是 f ( X ) 的极小点, 否则只是一个近似点,需进一步迭代。
牛顿法的迭代公式:
X k 1
k f ( X ) k X H(X k )
由于牛顿法迭代公式中没有步长因子 ,或者说
k
步长因子
基本思想: 在求目标函数 f ( X )的极小值时,先将 f ( X ) 在 X k 处附件做泰勒展开,取二次近似函数式,然 后求出这个二次函数的极小点,并将该点作为 原目标函数的近似极小点,若此值不能满足精 度要求,则以此近似极小点作为下一轮迭代的 初始点,继续上述过程,直至满足要求为止。
牛顿法的迭代公式:
则为:
X
k 1
X [ H ( X )] f ( X )
k k
DFP变尺度法及其递推公式:
变尺度矩阵递推公式: A
k
k 1
A A
k
k
其中 A 为k次迭代的修正矩阵。
DFP算法的迭代修正矩阵是
X [X ] A g [g ] A A k T k k T k k [X ] g [g ] A g
6.检查迭代次数,若k=n,则置 X k 1 X 0 ,
转2;若k<n,则转7; 7.计算 X X
k k 1
X
k
k k 1 k g f ( X ) f ( X ) ,
k k k k 1 A A A A 按DFP法修正矩阵公式计算 ,
然后,置 k 1 k
式中 ,
k 1
k
k
——阻尼因子;
S [ H ( X )] f ( X ) ——牛顿方向。
牛顿法的特点:
牛顿法不仅利用了函数的一阶导数信息, 还利用了二阶导数信息,故其收敛速度比梯 度法快得多。但牛顿法需计算塞黑矩阵及其 逆矩阵,计算量存储量都很大,且都是以维 2 数 比例增加,维数高时这个问题更加突出。 n 此外,若塞黑矩阵是奇异矩阵时,其逆矩阵 不存在,这种方法就不能使用。
k k k T k k k T
k
式中 X k X k 1 X k ,即两迭代点信息之差;
g f ( X
k k 1
) f ( X ) ,即目标函数一阶导数差
k
DFP法迭代步骤:
1.给定初始点 X o ,迭代精度
0
,维数n;
f ( X 0 ) g 0
2.置 0 k ,单位矩阵 I A ,计算
,转3.
DFP变尺度法
变尺度法基本思想: 变尺度法是在克服梯度法收敛慢和牛顿法 计算量大的缺点上发展起来的。它利用牛顿法 k 1 [ H ( X )] ,而是 的迭代形式,然而不直接计算 k k 1 [ H ( X )] 。 A 用一个对称正定矩阵 近似地代替 k A 在迭代过程中不断改进,最后逼近 [H ( X )] 这种方法,省去了塞黑矩阵的计算和求逆,计 算量大为减少。
k 1
变尺度法的迭代公式:
X
k 1
X
o
k
A f ( X )
k k k
A
k
为变尺度矩阵,在迭代过程中不断修正。
0
在初试点 X 取 A I ,则上式变为:
X
k 1
X f ( X )
k k k
k * X X 而当 时,即
Ak [ H ( X k )]1
k 1 k
k k k A g S 3.计算搜索方向
;
4.进行一维搜索求 ,得迭代新点
k
பைடு நூலகம்
X S X
k k k
k 1
5.检验是否满足迭代终止条件
f ( X
k 1
)
若满足,停止迭代,输出 X k 1 X * , f ( X k 1 ) f ( X * ) 否则转下一步;
k
1 ,这对非二次型目标函数,有时候
f ( X k 1 ) f ( X k ) 的情况。这
会出现函数值上升即
表明牛顿法不能保证函数值稳定下降,在严重的情况
下甚至可能造成迭代点的发散而导致计算失败,为克 服上述弊端,提出阻尼牛顿法,其迭代公式为:
X k 1 X k
k f ( X ) k H(X k )
1 f ( X ) ( X ) f ( X ) f ( X )( X X ) ( X X k ) H ( X k )( X X k ) 2 求二次近似函数 ( X ) 的极小点,即令 ( X ) 0
k k k
k f ( X ) X 在目标函数 在 点处取二阶泰勒展开:
X
*
X
k
f ( X k ) H(X k )
若 f ( X ) 是二次函数,则 X * 就是 f ( X ) 的极小点, 否则只是一个近似点,需进一步迭代。
牛顿法的迭代公式:
X k 1
k f ( X ) k X H(X k )
由于牛顿法迭代公式中没有步长因子 ,或者说
k
步长因子