六、Hessian矩阵
6.1 Hessian矩阵定义
6.2 实例演示Hessian矩阵
首先求函数f ( x , y , z )的一阶偏导数:
- f′x=6x−4y
- f′y=−4x+2y
- f′z=−6z
然后求解Hessian 矩阵:
七、极值判别法则
7.1 极值判定条件
多元函数的极值判别法则,首先 f ( x ) 的一阶导数等于 0 ,这点是驻点,那它就可能是极值点,它是极大值还是极小值或者不是极值怎么判定的?
7.2 实对称矩阵正定负定判定
🚩实对称矩阵A正定负定判定条件:
实对称矩阵 A 负定,代码演示:
import numpy as np A = np.array([[-2, -3, -1], [-3, -6, -4], [-1, -4, -5]]) v = np.array([-2, -3, -7]) print('给定向量任意向量v:', v) print('求解矩阵A正定判定条件结果是:', v.T.dot(A).dot(v))
实对称矩阵 A 正定,代码演示:
import numpy as np A = np.array([[5, 1, -4], [1, 3, -2], [-4, -2, 7]]) v = np.random.randint(-50, 50,size = 3) print('给定向量任意向量v:', v) print('求解矩阵A正定判定条件结果是:', v.dot(A).dot(v))
但是这样不太容易判断,我们还可以根据特征值正负去判断矩阵正定与否:
- 矩阵 A 的特征值全部大于 0 ,那么矩阵 A 为正定矩阵;
- 矩阵 A 的特征值全部小于 0 ,那么矩阵 A 为负定矩阵;
实对称矩阵 A 负定,特征值代码演示:
import numpy as np A = np.array([[-2, -3, -1], [-3, -6, -4], [-1, -4, -5]]) w,v = np.linalg.eig(A) print('矩阵A的特征值特征向量是:') display(w, v)
实对称矩阵 A 正定,特征值代码演示:
import numpy as np A = np.array([[5, 1, -4], [1, 3, -2], [-4, -2, 7]]) np.linalg.eig(A)
八、二次型
8.1 二次型定义
🚩二次型就是纯二次项构成的一个函数 。
因为二次函数(方程)的二次部分最重要,为了方便研究,我们把含有 n 个变量的二次齐次函数:
称为二次型。
8.2 二次型表示
🚩我们可以通过矩阵来进行表示
二次型通俗表现形式:
二次型矩阵表示:
n个变量的二次齐次函数矩阵表示:
8.3 二次型应用
🚩在机器学习中,我们可以根据数据分布进行模型选择:
8.4 Hessian矩阵与二次型
正定效果图,如下所示:
半正定效果图,如下:
不定效果图,如下: