机器学习入门(三)之----线性回归番外篇(矩阵求导)
笑容发自真心
现到脸上却变得虚假
所以我也就不用龇牙
声音发自灵魂
走到喉咙却变得含混
所以我不说话
求解线性回归问题,最优参数的第二种方法是对损失函数直接求导,并令其导数为零。这就需要对矩阵求导。下面我们先来介绍矩阵求导。大跃进喽。。。。
矩阵导数定义
一个矩阵函数就是将一个(m imes n) 矩阵(A) 映射为一个数的函数,即(f : mathbb{R}^{m imes n} mapsto mathbb{R}) 。
关于一个矩阵求导,得到的还是和这个矩阵具在一样大小的矩阵。并定义这个矩阵函数对矩阵(A) 导数的$ (i,j)$ 位置的元素为矩阵函数关于(A) 在$ (i,j)$ 位置变量的导数 ,即,
[
abla_{A} f(A)=left[
egin{array}{ccc}
{frac{partial f}{partial A_{11}}} & {cdots} & {frac{partial f}{partial A_{1 n}}} \
{vdots} & {ddots} & {vdots} \
{frac{partial f}{partial A_{m 1}}} & {cdots} & {frac{partial f}{partial A_{m n}}}
end{array}
ight]
]
举个例子,现有矩阵函数 (f : mathbb{R}^{2 imes 2} mapsto mathbb{R}) ,
[f(A)=frac{3}{2} A_{11}+5 A_{12}^{2}+A_{21} A_{22}
]
则其关于矩阵(A) 的导数为,
[
abla_{A} f(A)=left[
egin{array}{cc}{frac{3}{2}} & {10 A_{12}} \
{A_{22}} & {A_{21}}
end{array}
ight]
]
迹与迹的性质
定义迹算子(trace operator)为对角线元素之和,即,
[operatorname{tr} A=sum_{i=1}^{n} A_{i i}
]
两个相乘起来是方阵的矩阵(AB) ,具有如下性质,
[operatorname{tr} A B=operatorname{tr} B A
]
由此性质有以下推论,
[egin{aligned}
operatorname{tr} A B C=operatorname{tr} C A B=operatorname{tr} B C A \
operatorname{tr} A B C D=operatorname{tr} D A B C=operatorname{tr} C D A B=operatorname{tr} B C D A end{aligned}
]
(a) 是一个实数,下列迹的性质也不难验证,
[egin{aligned} operatorname{tr} A &=operatorname{tr} A^{T} \ operatorname{tr}(A+B) &=operatorname{tr} A+operatorname{tr} B \ operatorname{tr} a A &=a operatorname{tr} A end{aligned}
]
矩阵导数性质
矩阵导数有下列性质,
[egin{equation}
egin{aligned}
abla_{A}operatorname{tr}A B &=B^{T} \
abla_{A^{T}} f(A) &=left(
abla_{A} f(A)
ight)^{T} \
abla_{A} operatorname{tr}A B A^{T} C &=C A B+C^{T} A B^{T} \
abla_{A}|A| &=|A|left(A^{-1}
ight)^{T}
end{aligned}
end{equation}
]
对其求导的那个矩阵,一般看做是变量。对于第一个性质,假设我们有一个固定的 (n imes m) 矩阵(B) ,则(operatorname{tr}A B) 可以看做一个 (f : mathbb{R}^{m imes n} mapsto mathbb{R}) 矩阵函数,第一个性质是说对于(A) 求导的$ (i,j)$ 位置结果就是(B) 矩阵$ (j,i)$ 位置的元素。
用了再看,不用紧张,知道大意即可,有时间了可以真的来“不难验证”一番。