概述
在学习最优化课程时,不时听到“鞍点”这个名词。老师很快提了这个词,但没有详细介绍鞍点的含义。
鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0, 但从该点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点。
判断鞍点的一个充分条件是:函数在一阶导数为零处(驻点)的黑塞矩阵为不定矩阵。
半正定矩阵: 所有特征值为非负,或主子式全部非负。
半负定矩阵:所有特征值为非正,或主子式负正相间。
不定矩阵:特征值有正有负,或主子式不满足上面的两种情况。
典型的鞍点是函数 f(x)=x^3 中的(0,0),函数 z=x^2-y^2 的 多个鞍点 (0,0,0),(1,1,0),(2,2,0))。画图表示:
function SaddlePoint
% f(x)=x^3
x=-2:0.1:2;
y=x.^3;
plot(x,y);
axis equal;
text(0,0,'leftarrow (0,0)');
title('f(x)=x^3');
% f(x)=x^2-y^2
figure (2);
[x,y]=meshgrid(-1:0.03:1);
z=x.^2-y.^2;
mesh(x,y,z);
hold on;
x=linspace(-1,1,5);
y=x;
z=x.^2-y.^2;
scatter3(x,y,z,'filled','MarkerFaceColor','r');
text(0,0,0,'leftarrow');
xlabel('x');
ylabel('y');
zlabel('z');
title('f(x,y)=x^2-y^2');
end
上图中的红点即为对应函数的鞍点。
最后
以上就是感动汉堡为你收集整理的最优化中的鞍点的全部内容,希望文章能够帮你解决最优化中的鞍点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复