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

简介: 本文其实值属于:程序员的数学【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





目录
相关文章
|
Python
【数据科学导论】实验三:布尔变量与条件语句
【数据科学导论】实验三:布尔变量与条件语句
69 0
|
算法 C语言
14【C语言 & 趣味算法】三色球问题(数学中 基础的 排列组合 问题)
14【C语言 & 趣味算法】三色球问题(数学中 基础的 排列组合 问题)
14【C语言 & 趣味算法】三色球问题(数学中 基础的 排列组合 问题)
|
机器学习/深度学习 数据挖掘 程序员
程序员的数学【多元函数微分学】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 多元函数微分学
195 0
程序员的数学【多元函数微分学】(一)
|
机器学习/深度学习 数据挖掘 程序员
程序员的数学【线性代数基础】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数基础,在机器学习中经常会有矩阵、向量的定义以及计算,是公式定义、推导中必不可少的一部分内容,很多基础概念的定义中都用到了向量的概念,有关线性代数,
395 0
程序员的数学【线性代数基础】(一)
|
机器学习/深度学习 人工智能 程序员
程序员的数学【线性代数基础】(二)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数基础,在机器学习中经常会有矩阵、向量的定义以及计算,是公式定义、推导中必不可少的一部分内容,很多基础概念的定义中都用到了向量的概念,有关线性代数,
177 0
程序员的数学【线性代数基础】(二)
|
机器学习/深度学习 程序员
程序员的数学【线性代数基础】(三)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数基础,在机器学习中经常会有矩阵、向量的定义以及计算,是公式定义、推导中必不可少的一部分内容,很多基础概念的定义中都用到了向量的概念,有关线性代数,
362 0
程序员的数学【线性代数基础】(三)
|
存储 程序员 Python
程序员的数学【线性代数高级】(二)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数高级
245 0
程序员的数学【线性代数高级】(二)
|
搜索推荐 算法 程序员
程序员的数学【线性代数高级】(三)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 线性代数高级
200 0
程序员的数学【线性代数高级】(三)
|
机器学习/深度学习 程序员
程序员的数学【微积分基础】(一)
本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 微积分基础,微积分是公式推导的基础,如果你也关注我的专栏:西瓜书读书笔记,里面对公式进行详细推导的过程中,运用到了大量的 导数,积分,身为一名程序员,我们务必掌握一些必备的数学知识。
332 0
程序员的数学【微积分基础】(一)