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

目录

  • 前言
  • 一、多元函数的定义
  • 二、偏导数
  • 三、高阶偏导数
  • 四、梯度
  • 五、雅可比矩阵
    • 5.1 雅克比矩阵定义
    • 5.2 雅克比矩阵示例
  • 六、Hessian矩阵
    • 6.1 Hessian矩阵定义
    • 6.2 实例演示Hessian矩阵
  • 七、极值判别法则
    • 7.1 极值判定条件
    • 7.2 实对称矩阵正定负定判定
  • 八、二次型
    • 8.1 二次型定义
    • 8.2 二次型表示
    • 8.3 二次型应用
    • 8.4 Hessian矩阵与二次型

前言

本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 多元函数微分学,读之前建议先看:程序员的数学【微积分基础】,本文涵盖了一些计算的问题并使用代码进行了实现,安装代码运行环境见博客:最详细的Anaconda Installers 的安装【numpy,jupyter】(图+文),如果你只是想要简单的了解有关线代的内容,那么只需要学习一下博文:NumPy从入门到高级,如果你是跟着博主学习 A I o T AIoT AIoT 的小伙伴,建议先看博文:数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解),如果你没有 P y t h o n Python Python 基础,那么还需先修博文:Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)

一、多元函数的定义

🚩设 D D D 为一个非空的 n n n 元有序数组的集合, f ( x ) f(x) f(x) 为某一确定的对应规则,也称为函数关系。
( x 1 , x 2 , . . . x n ) ∈ D (x_1,x_2,...x_n)∈D (x1,x2,...xn)D 如果对于每一个有序数组,通过对应规则 f ( x ) f(x) f(x) 都有唯一确定的实数 y y y 与之对应,则称对应规则 f ( x ) f(x) f(x) 为定义在 D D D 上的 n n n 元函数。记为: y = f ( x 1 , x 2 , . . . x n ) , ( x 1 , x 2 , . . . x n ) ∈ D y=f(x_1,x_2,...x_n),(x_1,x_2,...x_n)∈D y=f(x1,x2,...xn),(x1,x2,...xn)D。变量 x 1 , x 2 , . . . x n x_1,x_2,...x_n x1,x2,...xn 称为自变量; y y y 称为因变量。

  • n = 1 n=1 n=1 时,为一元函数,记为 y = f ( x ) , x ∈ D y=f(x),x∈D y=f(x),xD
  • n = 2 n=2 n=2 时,为二元函数,记为 y = f ( x , y ) , ( x , y ) ∈ D y=f(x,y),(x,y)∈D y=f(x,y),(x,y)D,如图所示:

在这里插入图片描述

  • 二元及以上的函数统称为多元函数。

二、偏导数

在这里插入图片描述
偏导数,可以看作是导数的推广,对于多元函数来说,我们把其它的自变量固定不动,看成是常量,我们对其中的某一个变量求导数的话,那就是偏导数了,只对一个变量求导数!

在这里插入图片描述
几何意义上面来说就是在某个方向上对原函数来切一下,再去求导,就是偏导数。举例说明:

f ( x , y ) = x 2 + 3 x y − 2 y 2 f(x,y)=x^2+3xy-2y^2 f(x,y)=x2+3xy2y2

对变量 x x x 求偏导数,其中 y y y 是常量

f ′ x = ∂ f ∂ x = 2 x + 3 y f'x=\frac{∂f}{∂x}=2x+3y fx=xf=2x+3y

对变量 y y y 求偏导数,则 x x x 是常量

f ′ y = ∂ f ∂ y = 3 x − 4 y f'y=\frac{∂f}{∂y}=3x-4y fy=yf=3x4y

三、高阶偏导数

🚩有高阶导数,同样也有高阶偏导数,它的情况比高阶导数要复杂一些,因为它的求导变量有多个,比如说: ∂ 2 f ∂ x ∂ y \frac{∂^2f}{∂x∂y} xy2f

它对 x , y x,y x,y 求高阶偏导数的话,就是先对 x x x 求偏导,再对 求偏导,其实跟一元函数的高阶导数是一样的,依次对每个变量反复求导即可,我们还是以上面的公式为例:

f ( x , y ) = x 2 + 3 x y − 2 y 2 f(x,y)=x^2+3xy-2y^2 f(x,y)=x2+3xy2y2

二元函数的二阶偏导数有四个:

∂ 2 f ∂ 2 x = 2 \frac{∂^2f}{∂^2x}=2 2x2f=2

∂ 2 f ∂ x ∂ y = 3 \frac{∂^2f}{∂x∂y}=3 xy2f=3

∂ 2 f ∂ y ∂ x = 3 \frac{∂^2f}{∂y∂x}=3 yx2f=3

∂ 2 f ∂ 2 y = − 4 \frac{∂^2f}{∂^2y}=-4 2y2f=4

有个重要的结论,就是高阶导数和求导次序无关:

∂ 2 f ∂ x ∂ y = ∂ 2 f ∂ y ∂ x \frac{∂^2f}{∂x∂y}=\frac{∂^2f}{∂y∂x} xy2f=yx2f

四、梯度

🚩机器学习中的梯度下降法,和牛顿法很多地方都会用到梯度这个概念。

ᐁ f ( x ) = [ ∂ f ∂ x 1 , ∂ f ∂ x 2 , . . . , ∂ f ∂ x n ] T ᐁf(x)=[\frac{∂f}{∂x_1},\frac{∂f}{∂x_2},...,\frac{∂f}{∂x_n}]^T f(x)=[x1f,x2f,...,xnf]T

梯度可以看成一元函数的导数,对于多元函数来说就是偏导数而已。

对于多元函数如果它的自变量有 N N N 个: x 1 , x 2 , . . . x n x_1,x_2,...x_n x1,x2,...xn。它的梯度是个向量,是由对 x 1 , x 2 , . . . x n x_1,x_2,...x_n x1,x2,...xn 变量。

求偏导数构成的这样一个向量,称之为梯度。梯度我们用倒三角这个符号来表示,对 f ( x ) f(x) f(x) 求梯度得到上面所示的向量 ᐁ f ( x ) ᐁf(x) f(x)

五、雅可比矩阵

5.1 雅克比矩阵定义

🚩这个可能很多同学学高等数学的时候可能没有学过,但是这个也比较好理解,就是由一阶偏导数构成的矩阵,发明它的目的主要是为了简化求导公式,对多元的复合函数求导,如果我们用雅可比矩阵来计算的话,它会写起来非常简洁,这在我们的人工神经网络反向推导的过程中往往会看到的。

y = f ( x ) y=f(x) y=f(x) ,其中 x x x n n n 维向量表示有 n n n 个未知数即 n n n 个自变量, y y y k k k 维的向量表示函数对应关系计算返回 k k k 个因变量。

y i = f ( x i ) y_i=f(x_i) yi=f(xi),其中每个 x i x_i xi 和每个 y i y_i yi 都是相关的,也就是每个 y i y_i yi 是单独从 x i x_i xi 映射过来的函数。

函数 f ( x ) f(x) f(x) 的雅可比矩阵就是每个 y i y_i yi 分别对每个 x i x_i xi 求偏导,然后构成的矩阵叫做雅可比矩阵:
在这里插入图片描述

5.2 雅克比矩阵示例

在这里插入图片描述

自变量 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3 根据函数 f ( x ) f(x) f(x) 映射为因变量 y 1 , y 2 y_1,y_2 y1,y2,那么 y 1 y_1 y1 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3 的函数, y 2 y_2 y2 也是 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3 的函数,那么函数 f ( x ) f(x) f(x) 的雅可比矩阵如下:
在这里插入图片描述

六、Hessian矩阵

6.1 Hessian矩阵定义

🚩 H e s s i a n Hessian Hessian 矩阵是对于一个多元函数来说的,它就相当于一元函数的二阶导数。有一个关于 x x x n n n 元函数 f ( x ) f(x) f(x),自变量为 x 1 , x 2 , . . . x n x_1,x_2,...x_n x1,x2,...xn,那么 H e s s i a n Hessian Hessian 矩阵为:
在这里插入图片描述

Hessian 矩阵是一个 n × n n\times n n×n 的矩阵,里面的元素是二阶偏导数构成的。第一个元素是对 x 1 x_1 x1 求二阶偏导数,第二个元素是对 x 1 , x 2 x_1,x_2 x1,x2 求偏导数,因为咱们前面讲过,多元函数高阶偏导数和顺序无关,所以 H e s s i a n Hessian Hessian 矩阵是对称矩阵。

6.2 实例演示Hessian矩阵

f ( x , y , z ) = 3 x 2 − 4 x y + y 2 − 3 z 2 f(x,y,z)=3x^2-4xy+y^2-3z^2 f(x,y,z)=3x24xy+y23z2

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

  • f ′ x = 6 x − 4 y f'x=6x-4y fx=6x4y
  • f ′ y = − 4 x + 2 y f'y=-4x+2y fy=4x+2y
  • f ′ z = − 6 z f'z=-6z fz=6z

然后求解 H e s s i a n Hessian Hessian 矩阵:
在这里插入图片描述

H e s s i a n Hessian Hessian 矩阵和函数的凹凸性是有密切关系的,如果 H e s s i a n Hessian Hessian 矩阵正定,可以说函数 f ( x ) f(x) f(x)凸函数,如果是负定,它就是凹函数 。矩阵正定是如何判定的呢?

七、极值判别法则

7.1 极值判定条件

🚩对于一元函数,我们前面讲过, f ( x ) f(x) f(x) 的一阶导数等于 0 0 0 处有极值,当 f ( x ) f(x) f(x) 的二阶导数大于 0 0 0 时是极小值,当 f ( x ) f(x) f(x) 的二阶导数小于 0 0 0 时是极大值,可以参考 f ( x ) = x 2 f(x)=x^2 f(x)=x2 的这个函数,其二阶导数是 f ′ ′ ( x ) = 2 f''(x)=2 f(x)=2,那么该函数是凸函数。

在这里插入图片描述

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

H e s s i a n Hessian Hessian 矩阵,在 f ( x ) f(x) f(x) 的一阶导数等于 0 0 0 处,就是驻点处。

  • 如果 H e s s i a n Hessian Hessian 矩阵是正定的话,函数在该点有极小值
  • 如果 H e s s i a n Hessian Hessian 矩阵是负定的话,函数在该点有极大值
  • 如果 H e s s i a n Hessian Hessian 矩阵不定,函数在该点不是极值

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

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

  • 对于任意向量 v ⃗ ≠ 0 \vec{v}≠0 v =0,都有 v ⃗ T A v ⃗ > 0 \vec{v}^TA\vec{v}>0 v TAv >0,那么 A A A 就是正定矩阵;
  • 对于任意向量 v ⃗ ≠ 0 \vec{v}≠0 v =0,都有 v ⃗ T A v ⃗ < 0 \vec{v}^TA\vec{v}<0 v TAv <0,那么 A A A 就是负定矩阵;

实对称矩阵 A 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 A 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 A A 的特征值全部大于 0 0 0,那么矩阵 A A A 为正定矩阵;
  • 矩阵 A A A 的特征值全部小于 0 0 0,那么矩阵 A A A 为负定矩阵;

实对称矩阵 A 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 A A 正定,特征值代码演示:

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

在这里插入图片描述

八、二次型

8.1 二次型定义

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

因为二次函数(方程)的二次部分最重要,为了方便研究,我们把含有 n n n 个变量的二次齐次函数:
在这里插入图片描述
称为二次型。

8.2 二次型表示

🚩我们可以通过矩阵来进行表示
在这里插入图片描述
二次型通俗表现形式:
在这里插入图片描述
二次型矩阵表示:
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

8.3 二次型应用

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

  • 如果数据分布是一次型的,那我们就可以选择 L o g i s t i c Logistic Logistic R e g r e s s i o n Regression Regression S V M SVM SVM 等分界面为一次型的模型;
  • 如果数据分布是二次型的,我们可以选择 n a i v e naive naive b a y e s bayes bayes
  • 如果数据分布既不是一次型也不是二次型,那我们可以选择基于决策树的模型,例如 G B D T GBDT GBDT、随机森林等,或者 D N N DNN DNN(深度神经网络),这些模型都高度非线性,表达能力极强理论上可以拟合任意曲线。

8.4 Hessian矩阵与二次型

在这里插入图片描述
H e s s i a n Hessian Hessian 矩阵 A A A 转换为二次型:

f ( x ) = x ⃗ T A x ⃗ f(x)=\vec{x}^TA\vec{x} f(x)=x TAx ,其中 x ⃗ \vec{x} x 表示非零任意向量。

  • f ( x ) > 0 , x ⃗ ≠ 0 , x ∈ R f(x)>0,\vec{x}≠0,x∈R f(x)>0,x =0,xR,则 f ( x ) f(x) f(x) 为正定二次型, A A A 为正定矩阵
  • f ( x ) ≥ 0 , x ⃗ ≠ 0 , x ∈ R f(x)≥0,\vec{x}≠0,x∈R f(x)0,x =0,xR,则 f ( x ) f(x) f(x) 为半正定二次型, A A A 为半正定矩阵
  • f ( x ) < 0 , x ⃗ ≠ 0 , x ∈ R f(x)<0,\vec{x}≠0,x∈R f(x)<0,x =0,xR,则 f ( x ) f(x) f(x) 为负定二次型, A A A 为负定矩阵
  • f ( x ) ≤ 0 , x ⃗ ≠ 0 , x ∈ R f(x)≤0,\vec{x}≠0,x∈R f(x)0,x =0,xR,则 f ( x ) f(x) f(x) 为半负定二次型, A A A 为半负定矩阵
  • 以上皆不是,就叫做不定

正定效果图,如下所示:
在这里插入图片描述

半正定效果图,如下:
在这里插入图片描述
不定效果图,如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33724.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微积分基础知识note

此部分转自https://blog.csdn.net/zhulf0804/article/details/52238435 方向导数与梯度 在许多问题中&#xff0c;不仅要知道函数在坐标轴方向上的变化率&#xff08;即偏导数&#xff09;&#xff0c;而且还要设法求得函数在其他特定方向上的变化率。这就是接下来要谈论的方…

用Python学《微积分B》(微积分应用)

微积分是一种非常重要的“数学分析”思想&#xff08;方法&#xff09;&#xff0c;在许多领域中都有应用&#xff0c;比如&#xff1a;计算平面面积、曲线长度、空间图形的体积、旋转曲面面积和物理学中的“微元法”等。而如何用好“微积分”是这部分学习的重点。要用好微积分…

数学分析(高级微积分)

一、总览 微分学积分学级数论 二、微分学 1. 极限和连续 相关知识&#xff1a;数列的极限、收敛数列之性质、函数极限、函数极限性质、无穷大无穷小、等价无穷下、洛必达法则、函数的连续和间断、极限的求法。 2. 一元/多元函数微分学 相关知识&#xff1a;导数&#xff0…

以MATLAB的方式实现微积分问题的计算机求解问题及解决方案集锦(一)

前言 关于MATLAB系列的精品专栏大家可参见 MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) 喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! 微积分问题的计算机求解系列 (0001) 试求出下面的定积分或无穷积分。 【解】 ① 可以直接求解 >…

高视角!如何认识微积分方法与原理?

编者按>> 恩格斯在《反杜林论》中说&#xff1a;“变数的数学——其中最重要的部分是微积分。”冯诺依曼说&#xff1a;“微积分是近代数学中最伟大的成就&#xff0c;对它的重要性做怎样的估计都不会过分。” 可见微积分在数学中的重要性。通常说的“微积分”由方法和原…

MTLAB 求解微积分(包含导数、极限、积分、级数和、微分方程、数值方法全面求解)

文章目录 1. 导数求解1.1 显函数求导1.2 隐函数求导 2. 极限求解2.1 单变量极限2.2 多变量极限 3. 积分求解3.1 不定积分3.2 定积分计算3.2.1 解析解3.2.2 数值解 4. 级数展开求和4.1 泰勒级数展开4.2 级数求和 5. 求解微分方程5.1 符号解5.2 数值解 1. 导数求解 1.1 显函数求…

初识微积分一

from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity "last_expr" import numpy as np from matplotlib import pyplot as plt变化率 对于函数 y f ( x ) {y f(x)} yf(x) 定义变化率为&#xff1a; r o c Δ…

初识微积分二

微分和求导 导函数的定义&#xff1a; l i m h → 0 f ( x h ) − f ( x ) h lim_{h \to 0} \frac{f(x h) - f(x)}{h} limh→0​hf(xh)−f(x)​ f ′ ( x ) lim ⁡ h → 0 f ( x h ) − f ( x ) h f(x) \lim_{h \to 0} \frac{f(x h) - f(x)}{h} f′(x)h→0lim​hf(xh)−…

03 高等数学专题——多元函数微积分

多元函数微积分学 一、多元函数微分学1.1、多元函数微分学概念连续、可偏导、可微、方向导数存在的定义多元函数可微、可偏导、连续的关系复合函数求偏导&#xff08;链式法则&#xff09;、全微分的计算隐函数求偏导&#xff08;隐函数存在定理、等式两边求导法&#xff09; 1…

用Python学《微积分B》(反常积分)

Riemann积分有两个局限&#xff1a;一是积分区间[a, b]必须有限&#xff1b;二是被积函数f(x)在积分区间[a, b]上有界。而反常积分&#xff08;Improper Integral&#xff09;就是对Riemann积分这两个局限的扩展&#xff0c;前者扩展后被称为“无穷积分”&#xff0c;后者扩展后…

Mathematica做微积分

微积分 求极限函数极限数列极限递归定义的数列极限单侧极限累次极限渐近线 微商和微分微商&#xff08;导数&#xff09;全微分 不定积分和定积分不定积分定积分多重积分 级数幂级数展开幂级数计算Fourier级数 微分方程求解常微分方程求解偏微分方程 参考资料 求极限 函数极限…

《微积分基础》学习(一)

本系列文章主要记录我在学习coursera上的《Calculus One》在线课程的笔记。该课程是俄亥俄州立大学的经典课程&#xff0c;教授的发音比较标准&#xff0c;授课方式轻松愉悦&#xff0c;是不可错过的“微积分”入门课程。 本文直接从第二周切入&#xff08;第一周是课程介绍和学…

【计算题】(五)多元函数微积分学

目录 多元微分1. 极限偏导可微2. 复合函数求导3. 多元函数极值 多元积分1. 积分对称性2. 坐标系相互转换3. 交换积分次序 多元微分 1. 极限偏导可微 证明二重极限&#xff1a; x r c o s θ &#xff0c; y r s i n θ xrcos \theta&#xff0c;yrsin \theta xrcosθ&#x…

微积分专项----MIT GS老师

四. Limits and Continuous Functions极限和连续 &#xff08;11/n&#xff09;^n--->e 平衡的好时 &#xff08;11/n^2&#xff09;^n---> 1 &#xff08;11/n&#xff09;^(n^2)---> infinity 洛必达法则&#xff1a;用来计算趋于0时&#xff0c;且均有良好的…

IDC发布《2022中国大模型发展白皮书》,文心大模型能力全面领先

火爆全球的ChatGPT让背后的大模型技术进入了更多人的视野。日前&#xff0c;国际权威咨询机构IDC发布《2022中国大模型发展白皮书》&#xff08;以下简称《白皮书》&#xff09;&#xff0c;认为大模型是AI发展的必然趋势&#xff0c;并提出业内首个大模型评估框架。经评估&…

了解 GPU

近期ChatGPT十分火爆&#xff0c;随之而来的是M国开始禁售高端GPU显卡。M国想通过禁售GPU显卡的方式阻挡中国在AI领域的发展。 GPU是什么&#xff1f; GPU&#xff08;英语&#xff1a;Graphics Processing Unit&#xff0c;缩写&#xff1a;GPU&#xff09;是显卡的“大脑”&…

被“薄纱”的文心一言,真的一无是处?

大家好&#xff0c;我是王有志&#xff0c;欢迎和我聊技术&#xff0c;聊漂泊在外的生活。本文单纯讨论文心一言&#xff0c;不涉及其母公司百度的所作所为 3月16日百度交卷了&#xff0c;正式推出了自己的知识增强大语言模型文心一言。 作为全球第二家&#xff0c;中国第一家…

面对ChatGPT引发的人工智能革命,中国如何应对?

ChatGPT是一款由美国OpenAI公司开发的自然语言人机交互应用&#xff0c;拥有接近人类水平的语言理解和生成能力&#xff0c;是迄今为止人工智能领域最成功的产品和历史上用户增长速度最快的应用程序。ChatGPT依赖大模型、大数据、大算力支撑&#xff0c;其出现标志着通用人工智…

chatgpt赋能python:Python拟合数据-一种强大的数据分析工具

Python拟合数据 - 一种强大的数据分析工具 Python是一种用于数据科学的强大编程语言。 它具有丰富的功能&#xff0c;具有大量的数据分析库和工具&#xff0c;其中包括拟合数据的功能。 在此文章中&#xff0c;我们将介绍如何使用Python拟合数据&#xff0c;并探索这种功能对数…