矩阵求导数
矩阵
A
=
∣
1
2
1
2
−
1
3
∣
,
计算
f
(
x
)
=
∣
∣
A
x
∣
∣
2
∣
∣
x
∣
∣
2
的最大值。
矩阵A = begin {vmatrix} 1 & 2 & 1\2 & -1 & 3 end {vmatrix},计算f(x) = frac{||Ax||_2}{||x||_2}的最大值。
矩阵A=
122−113
,计算f(x)=∣∣x∣∣2∣∣Ax∣∣2的最大值。
解:
根据导数定义和性质,极值处导数为0。首先求出矩阵的导数,置为0后求解。
首先
f
(
x
)
=
∣
x
1
x
2
x
3
∣
∣
1
2
2
−
1
1
3
∣
∣
1
2
1
2
−
1
3
∣
∣
x
1
x
2
x
3
∣
x
1
2
+
x
2
2
+
x
3
2
=
∣
x
1
x
2
x
3
∣
∣
5
0
7
0
5
−
1
7
−
1
10
∣
∣
x
1
x
2
x
3
∣
x
1
2
+
x
2
2
+
x
3
2
f(x) = frac{ begin {vmatrix} x_1 x_2 x_3 end {vmatrix} begin {vmatrix} 1 & 2 \2 & -1 \1 & 3 end {vmatrix}begin {vmatrix} 1 & 2 & 1\2 & -1 & 3 end {vmatrix} begin {vmatrix} x_1\ x_2\x_3 end {vmatrix} }{x_1^2 + x_2^2 + x_3^2} =\ frac{ begin {vmatrix} x_1 x_2 x_3 end {vmatrix} begin {vmatrix} 5 & 0 & 7\0 & 5 & -1 \7 & -1 & 10end {vmatrix} begin {vmatrix} x_1\ x_2\x_3 end {vmatrix} }{x_1^2 + x_2^2 + x_3^2}
f(x)=x12+x22+x32
x1x2x3
1212−13
122−113
x1x2x3
=x12+x22+x32
x1x2x3
50705−17−110
x1x2x3
考虑矩阵
x
T
A
T
A
x
x^T A ^ T A x
xTATAx求导:
(
x
+
Δ
x
)
T
A
T
A
(
x
+
Δ
x
)
=
(
x
T
+
Δ
x
T
)
A
T
A
(
x
+
Δ
x
)
=
(
x
T
A
T
A
+
Δ
x
T
A
T
A
)
(
x
+
Δ
x
)
=
x
T
A
T
A
x
+
x
T
A
T
A
Δ
x
+
Δ
x
T
A
T
A
x
+
Δ
x
T
A
T
A
Δ
x
(x + Delta x)^T A ^ T A (x + Delta x) =(x^T + Delta x ^ T) A ^ T A (x + Delta x) =\ (x^T A ^ T A + Delta x ^ T A ^ T A ) (x + Delta x) = \ x^T A ^ T A x +x^T A ^ T A Delta x + Delta x ^ T A ^ T A x + Delta x ^ T A ^ T A Delta x
(x+Δx)TATA(x+Δx)=(xT+ΔxT)ATA(x+Δx)=(xTATA+ΔxTATA)(x+Δx)=xTATAx+xTATAΔx+ΔxTATAx+ΔxTATAΔx
注意:上式中每一项都是一个标量,而不是向量。
color{red}注意:上式中每一项都是一个标量,而不是向量。
注意:上式中每一项都是一个标量,而不是向量。
∣
∣
(
x
+
Δ
x
)
T
A
T
A
(
x
+
Δ
x
)
−
x
T
A
T
A
x
∣
∣
∣
∣
Δ
x
∣
∣
=
∣
∣
x
T
A
T
A
Δ
x
+
Δ
x
T
A
T
A
x
+
Δ
x
T
A
T
A
Δ
x
∣
∣
∣
∣
Δ
x
∣
∣
=
2
A
T
A
x
frac { ||(x + Delta x)^T A ^ T A (x + Delta x) -x^T A ^ T A x ||}{ || Delta x||} = \ frac {||x^T A ^ T A Delta x + Delta x ^ T A ^ T A x + Delta x ^ T A ^ T A Delta x ||}{ ||Delta x ||} = 2 A^ TA x
∣∣Δx∣∣∣∣(x+Δx)TATA(x+Δx)−xTATAx∣∣=∣∣Δx∣∣∣∣xTATAΔx+ΔxTATAx+ΔxTATAΔx∣∣=2ATAx
注意:上式取
2
A
T
A
x
而不是
x
T
A
T
A
的原因是,
Δ
x
一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。
color{red}注意:上式取2 A^ TA x而不是x^ TA ^T A的原因是,\ Delta x一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。
注意:上式取2ATAx而不是xTATA的原因是,Δx一般是列向量,需要放在后面,此时需要将矩阵导数放在前面,并转置。
现在将导数置为0并求解方程组:
2
A
T
A
x
=
0
2 A^ TA x = 0
2ATAx=0 得:
此方法对吗
?
color{red}此方法对吗?
此方法对吗?