程序员的数学【多元函数微分学】(二)

简介: 本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 多元函数微分学

六、Hessian矩阵

6.1 Hessian矩阵定义

image.png

6.2 实例演示Hessian矩阵

image.png

首先求函数f ( x , y , z )的一阶偏导数:

  • fx=6x4y
  • fy=4x+2y
  • fz=6z


然后求解Hessian 矩阵:

image.png

七、极值判别法则

7.1 极值判定条件

image.png

多元函数的极值判别法则,首先 f ( x ) 的一阶导数等于 0 ,这点是驻点,那它就可能是极值点,它是极大值还是极小值或者不是极值怎么判定的?

image.png

7.2 实对称矩阵正定负定判定

🚩实对称矩阵A正定负定判定条件:

image.png

实对称矩阵 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))

image.png

实对称矩阵 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))

image.png

但是这样不太容易判断,我们还可以根据特征值正负去判断矩阵正定与否:


  • 矩阵 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)

image.png

实对称矩阵 A 正定,特征值代码演示:

import numpy as np
A = np.array([[5, 1, -4],
              [1, 3, -2],
              [-4, -2, 7]])
np.linalg.eig(A)

image.png

八、二次型

8.1 二次型定义

🚩二次型就是纯二次项构成的一个函数 。

因为二次函数(方程)的二次部分最重要,为了方便研究,我们把含有 n 个变量的二次齐次函数:

14.png

称为二次型。

8.2 二次型表示

🚩我们可以通过矩阵来进行表示

image.png

二次型通俗表现形式:

image.png

二次型矩阵表示:

image.png

n个变量的二次齐次函数矩阵表示:

15.png

16.png

8.3 二次型应用

🚩在机器学习中,我们可以根据数据分布进行模型选择:

image.png

8.4 Hessian矩阵与二次型17.png

image.png

正定效果图,如下所示:

image.png

半正定效果图,如下:

image.png

不定效果图,如下:

image.png





目录
相关文章
|
4月前
|
算法 C++
【软件设计师备考 专题 】数学基础知识:命题逻辑、谓词逻辑、形式逻辑与数值计算
【软件设计师备考 专题 】数学基础知识:命题逻辑、谓词逻辑、形式逻辑与数值计算
55 0
|
机器学习/深度学习 移动开发 算法
多元函数微分学
多元函数微分学
|
算法 Python
Python 手工计算x的算术平方根,一个中国古代的数学成就
Python 手工计算x的算术平方根,一个中国古代的数学成就
188 0
|
机器学习/深度学习 数据挖掘 程序员
程序员的数学【多元函数微分学】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 多元函数微分学
162 0
程序员的数学【多元函数微分学】(一)
|
机器学习/深度学习 算法 数据挖掘
程序员的数学【最优化】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 最优化
204 0
程序员的数学【最优化】(一)
|
程序员
程序员的数学【最优化】(二)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 最优化
229 0
程序员的数学【最优化】(二)
|
算法 程序员
程序员的数学【最优化】(三)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 最优化
192 0
程序员的数学【最优化】(三)
|
机器学习/深度学习 程序员
程序员的数学【微积分基础】(二)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 微积分基础,微积分是公式推导的基础,如果你也关注我的专栏:西瓜书读书笔记,里面对公式进行详细推导的过程中,运用到了大量的 导数,积分,身为一名程序员,我们务必掌握一些必备的数学知识。
232 0
程序员的数学【微积分基础】(二)
|
机器学习/深度学习 程序员
程序员的数学【微积分基础】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 微积分基础,微积分是公式推导的基础,如果你也关注我的专栏:西瓜书读书笔记,里面对公式进行详细推导的过程中,运用到了大量的 导数,积分,身为一名程序员,我们务必掌握一些必备的数学知识。
272 0
程序员的数学【微积分基础】(一)