数学:最小二乘的矩阵求导
程序员文章站
2022-07-12 20:59:49
...
z = (y - Xw )T (y - Xw)
// y 列向量 X 矩阵 w 列向量
dz / dw = d{ ( y - Xw )T (y - Xw) } / dw
dz / dw = d( tr{ ( y - Xw )T (y - Xw) } ) / dw
// 由展开的计算公式而来,tr()为矩阵的迹
dz / dw = d( tr{ yTy - wTXTy - yTXw + wTXTXw } ) / dw
// 定理 (AB)T = BTAT
dz / dw = d( tr{ yTy } ) / dw - d( tr{ wTXTy } ) / dw - d( tr{ yTXw } ) / dw + d( tr{ wTXTXw } ) / dw
// 由迹的定理
dz / dw = - d( tr{ wTXTy } ) / dw - d( tr{ yTXw } ) / dw + d( tr{ wTXTXw } ) / dw
// 去掉0项
dz / dw = - XTy - d( tr{ yTXw } ) / dw + d( tr{ wTXTXw } ) / dw
// 定理 d(tr{ATB}) / dA = d(tr{BAT}) / dA = B
dz / dw = - XTy - d( tr{ (yTXw)T } ) / dw + d( tr{ wTXTXw } ) / dw
// 定理 tr(A) = tr(AT)
dz / dw = - XTy - XTy + d( tr{ wTXTXw } ) / dw
// 由前面定理
dz / dw = - XTy - XTy + d( tr{ wIwTXTX } ) / dw
// 定理 tr(AB) = tr(BA),其中补齐I为单位阵
dz / dw = - XTy - XTy + XTXw + XTXw
// 定理 d( tr{ABATC} ) / dA = CAB + CTABT
// 其中A = w,B = I,C = XTX
dz / dw = -2XTy + 2XTXw = 2XT(Xw - y)
// 合并
推荐阅读
-
非线性函数的最小二乘拟合——兼论Jupyter notebook中使用公式 [原创]
-
在python中利用最小二乘拟合二次抛物线函数的方法
-
数学:最小二乘的矩阵求导
-
最小二乘拟合(矩阵)
-
回归问题(附篇1):当目标函数为一元一次函数,即其最小二乘的损失函数为二元二次函数时,在python中采用全量梯度下降、随机梯度下降、批量梯度下降求解损失函数。
-
矩阵分解算法的求解 随机梯度下降SGD和交替最小二乘ALS
-
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
-
R语言关于非线性最小二乘的知识点实例
-
非线性函数的最小二乘拟合——兼论Jupyter notebook中使用公式 [原创]
-
在python中利用最小二乘拟合二次抛物线函数的方法