凹凸性
一元函数
- 凸函数:二阶导数>0
f ( x ) = x 2 f(x) = x^2 f(x)=x2的二阶导数是 2,>0 - 凹函数:二阶导数<0
驻点,拐点
驻点:增减性的交替点
拐点:凹凸性的交替点
脑补 f ( x ) = s i n x f(x) = sinx f(x)=sinx
在 π/2,π3/4是驻点
在 π位置,是拐点
雅可比矩阵
多元函数的一阶偏导数矩阵
y
=
f
(
x
)
y=f(x)
y=f(x),其中x是n维向量,表示有n哥未知数,即n个自变量,y是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求偏导,然后构成的矩阵叫做雅可比矩阵
[
∂
y
1
∂
x
1
∂
y
1
∂
x
2
.
.
.
∂
y
1
∂
x
n
∂
y
2
∂
x
1
∂
y
2
∂
x
2
.
.
.
∂
y
2
∂
x
n
.
.
.
.
.
.
.
.
.
.
.
.
∂
y
k
∂
x
1
∂
y
k
∂
x
2
.
.
.
∂
y
k
∂
x
n
]
\left[ \begin{array}{cc} \frac{\partial y_{1}}{\partial x_{1}} & \frac{\partial y_{1}}{\partial x_{2}} & ... & \frac{\partial y_{1}}{\partial x_{n}} \\ \frac{\partial y_{2}}{\partial x_{1}} & \frac{\partial y_{2}}{\partial x_{2}} & ... & \frac{\partial y_{2}}{\partial x_{n}} \\ ... & ... & ... & ...\\ \frac{\partial y_{k}}{\partial x_{1}} & \frac{\partial y_{k}}{\partial x_{2}} & ... & \frac{\partial y_{k}}{\partial x_{n}} \end{array} \right]
∂x1∂y1∂x1∂y2...∂x1∂yk∂x2∂y1∂x2∂y2...∂x2∂yk............∂xn∂y1∂xn∂y2...∂xn∂yk
雅可比矩阵示例
{ y 1 y 2 } ⟹ y 1 = x 1 2 + 3 x 1 x 2 + 2 x 3 y 2 = 2 x 2 − 2 x 1 x 2 + x 3 2 ⟹ { x 1 x 2 x 3 } \begin{Bmatrix} y_{1} \\ y_{2} \end{Bmatrix} \Longrightarrow \begin{array}{} y_{1} = x_{1}^2 + 3x_{1}x_{2} + 2x_{3}\\ y_{2} = 2x_{2} - 2x_{1}x_{2} + x_{3}^2\end{array} \Longrightarrow \begin{Bmatrix} x_{1}\\ x_{2}\\ x_{3} \end{Bmatrix} {y1y2}⟹y1=x12+3x1x2+2x3y2=2x2−2x1x2+x32⟹⎩ ⎨ ⎧x1x2x3⎭ ⎬ ⎫
自变量
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)的雅可比矩阵如下:
6.Hessian矩阵
多元函数的二阶偏导数矩阵,一般是对称矩阵
[
∂
2
y
1
∂
2
x
1
∂
2
y
1
∂
x
1
x
2
.
.
.
∂
2
y
1
∂
2
x
1
x
n
∂
2
y
2
∂
x
2
x
1
∂
2
y
2
∂
2
x
2
.
.
.
∂
y
2
∂
x
2
x
n
.
.
.
.
.
.
.
.
.
.
.
.
∂
2
y
k
∂
x
n
x
1
∂
2
y
k
∂
x
n
x
2
.
.
.
∂
2
y
k
∂
2
x
n
]
\left[ \begin{array}{cc} \frac{\partial^2 y_{1}}{\partial^2 x_{1}} & \frac{\partial^2 y_{1}}{\partial x_{1}x_{2}} & ... & \frac{\partial^2 y_{1}}{\partial^2 x_{1}x_{n}} \\ \frac{\partial^2 y_{2}}{\partial x_{2}x_{1}} & \frac{\partial^2 y_{2}}{\partial^2 x_{2}} & ... & \frac{\partial y_{2}}{\partial x_{2}x_{n}} \\ ... & ... & ... & ...\\ \frac{\partial^2 y_{k}}{\partial x_{n}x_{1}} & \frac{\partial^2 y_{k}}{\partial x_{n}x_{2}} & ... & \frac{\partial^2 y_{k}}{\partial^2 x_{n}} \end{array} \right]
∂2x1∂2y1∂x2x1∂2y2...∂xnx1∂2yk∂x1x2∂2y1∂2x2∂2y2...∂xnx2∂2yk............∂2x1xn∂2y1∂x2xn∂y2...∂2xn∂2yk
7.极致判定法则
实对称矩阵正定负定判定
实对称矩阵A正定负定判定条件:
- 对于任意向量 v ⃗ ≠ 0 \vec{v} \neq 0 v=0,都有 v ⃗ T A v ⃗ > 0 \vec{v}^TA\vec{v} > 0 vTAv>0,那么A就是正定矩阵;
- 对于任意向量 v ⃗ ≠ 0 \vec{v} \neq 0 v=0,都有 v ⃗ T A v ⃗ < 0 \vec{v}^TA\vec{v} < 0 vTAv<0,那么A就是负定矩阵;
实对称矩阵A负定,代码演示:
import numpy as np
A = np.array([[-2, -3, -1],
[-3, -6, -4],
[-1, -4, -5]])
v = np.array([3, 5, 6])
print('给定向量任意向量v:', v)
print('求解矩阵A正定判定条件结果是:', v.T.dot(A).dot(v))
给定向量任意向量v: [3 5 6]
求解矩阵A正定判定条件结果是: -714
实对称矩阵A正定,代码演示:
import numpy as np
A = np.array([[5, 1, -4],
[1, 3, -2],
[-4, -2, 7]])
v = np.array([-5, 2, -3])
print('给定向量任意向量v:', v)
print('求解矩阵A正定判定条件结果是:', v.T.dot(A).dot(v))
给定向量任意向量v: [-5 2 -3]
求解矩阵A正定判定条件结果是: 84
根据特征值正负判定矩阵正定与否
- 对称矩阵A的特征值全部 > 0 \gt0 >0,A是正定矩阵
- 对称矩阵A的特征值全部 < 0 \lt0 <0,A是负定矩阵
- 对称矩阵A的特征值有的 > 0 \gt0 >0,有的 < 0 \lt0 <0是不定矩阵
- 对称矩阵A的特征值有的 ≥ 0 \geq0 ≥0,A是半正定矩阵
- 对称矩阵A的特征值有的 ≤ 0 \leq0 ≤0,A是半负定矩阵
import numpy as np
A = np.array([[5, 1, -4],
[1, 3, -2],
[-4, -2, 7]])
w, v = np.linalg.eig(A)
print('矩阵的特征向量是:', v, '\n特征值是:', w)
矩阵的特征向量是: [[-0.58123713 -0.60851363 -0.54025416]
[-0.27299496 -0.4796241 0.83392714]
[ 0.76657495 -0.63219608 -0.11265418]]
特征值是: [10.74515039 1.63251546 2.62233415]
上面代码得出的A的特征值都是正数,所以A是正定矩阵。
那么:什么是特征值呢?特征值eigenvalue与特征向量eigenvector