二次型x^TAx梯度(求导)推导过程

本文解析了向量y=xTAx的偏导数dy/dx,展示了如何利用矩阵乘法规则计算梯度,特别指出当A为实对称矩阵时的简化形式。关键步骤包括展开项和利用向量与矩阵乘积的性质。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

y = x T A x y=x^TAx y=xTAx,其中x是n维向量,A是n阶方阵,求 d y / d x dy/dx dy/dx
A = [ a i j ] A=\left[a_{i j}\right] A=[aij]. x ∈ R n , x = ( x 1 , … , x n ) T x \in \mathbb{R}^{n}, x=\left(x_{1}, \ldots, x_{n}\right)^{T} xRn,x=(x1,,xn)T, 则 y = ∑ i = 1 n ∑ j = 1 n a i j x i x j y=\sum_{i=1}^{n} \sum_{j=1}^{n} a_{i j} x_{i} x_{j} y=i=1nj=1naijxixj

∂ y ∂ x k = ∑ i ≠ k ∂ ∂ x k ( ∑ j = 1 n a i j x i x j ) + ∂ ∂ x k ( ∑ j = 1 n a k j x k x j ) = ∑ i ≠ k ( ∂ ∂ x k ( ∑ j ≠ k a i j x i x j ) + ∂ ∂ x k ( a i k x i x k ) ) + ∑ j ≠ k ∂ ∂ x k ( a k j x k x j ) + ∂ ∂ x k ( a k k x k 2 ) = ∑ i ≠ k ( 0 + a i k x i ) + ∑ j ≠ k a k j x j + 2 a k k x k = ∑ i = 1 n a i k x i + ∑ j = 1 n a k j x j = ( x T A ) k + ( A x ) k \begin{aligned} \frac{\partial y}{\partial x_{k}} &=\sum_{i \neq k} \frac{\partial}{\partial x_{k}}\left(\sum_{j=1}^{n} a_{i j} x_{i} x_{j}\right)+\frac{\partial}{\partial x_{k}}\left(\sum_{j=1}^{n} a_{k j} x_{k} x_{j}\right) \\ &=\sum_{i \neq k}\left(\frac{\partial}{\partial x_{k}}\left(\sum_{j \neq k} a_{i j} x_{i} x_{j}\right)+\frac{\partial}{\partial x_{k}}\left(a_{i k} x_{i} x_{k}\right)\right)+\sum_{j \neq k} \frac{\partial}{\partial x_{k}}\left(a_{k j} x_{k} x_{j}\right)+\frac{\partial}{\partial x_{k}}\left(a_{k k} x_{k}^{2}\right) \\ &=\sum_{i \neq k}( 0+a_{i k} x_{i})+\sum_{j \neq k} a_{k j} x_{j}+2 a_{k k} x_{k} \\ &=\sum_{i=1}^{n} a_{i k} x_{i}+\sum_{j=1}^{n} a_{k j} x_{j} \\ &=\left(x^{T} A\right)_{k}+(A x)_{k} \end{aligned} xky=i=kxk(j=1naijxixj)+xk(j=1nakjxkxj)=i=kxkj=kaijxixj+xk(aikxixk)+j=kxk(akjxkxj)+xk(akkxk2)=i=k(0+aikxi)+j=kakjxj+2akkxk=i=1naikxi+j=1nakjxj=(xTA)k+(Ax)k
其中 ( x T A ) k \left(x^{T} A\right)_{k} (xTA)k 是行向量 x T A x^{T} A xTA的第k个分量, ( A x ) k (A x)_{k} (Ax)k列向量 A x Ax Ax的第k个分量。因此 ∂ y ∂ x k = ( x T A ) k + ( x T A T ) k \frac{\partial y}{\partial x_{k}}=\left(x^{T} A\right)_{k}+\left(x^{T} A^{T}\right)_{k} xky=(xTA)k+(xTAT)k.
所以
∇ y = x T A + x T A T = x T ( A + A T ) \nabla y=x^{T} A+x^{T} A^{T}=x^{T}\left(A+A^{T}\right) y=xTA+xTAT=xT(A+AT)
特别地,如果A是实对称矩阵,则
∇ y = x T A + x T A T = 2 x T A \nabla y=x^{T} A+x^{T} A^{T}=2x^{T}A y=xTA+xTAT=2xTA

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值