1 つの質問
x ∈ R n × 1 \mathbf{x} \in \mathbb{R}^{n \times 1} が与えられるとします。バツ∈Rn × 1,A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n}あ∈Rn × n ,f ( x ) = ( A x ) ⊙ ( A x ) \mathbf{f}(\mathbf{x})=\sqrt{(\mathbf{x}) \odot(\ mathbf{Ax}) }f ( x )=( Ax ) _⊙( Ax ) _。ここで( ⋅ ) \sqrt{(\cdot)}( ⋅ )アダマール ルート (要素ごとの平方根)、つまり行列要素の項目ごとの平方根を表します。∂ f ∂ x \frac{\partial \mathbf{f}}{\partial \mathbf{x}} を求めます∂ ×∂f _。
2 解決する
2.1 まずアダマール積を使用して平方根を解きます
例: b = A x \mathbf{b} = \mathbf{A} \mathbf{x}b=A x,有:db = d ( A x ) = A dxd\mathbf{b} = d(\mathbf{A} \mathbf{x}) = \mathbf{A} d\mathbf{x}db _=d ( A x )=アド× _
2.2 行列から行列の導出 一般に、行列は最初にベクトル化されます。
f ⊙ f = ( A x ) ⊙ ( A x ) = b ⊙ b \begin{aligned} \mathbf{f} \odot \mathbf{f} &=(\mathbf{A} \mathbf{x}) \odot (\mathbf{A} \mathbf{x}) \\ &=\mathbf{b} \odot \mathbf{b} \end{aligned}f⊙f=( Ax ) _⊙( Ax ) _=b⊙b
微分アダマール積の性質によると、d ( x ⊙ Y ) = x ⊙ d Y + dx ⊙ Y d(\mathbf{x} \odot \mathbf{Y})=\mathbf{x} \odot d \mathbf {Y }+d \mathbf{x} \odot \mathbf{Y}d ( x⊙や)=バツ⊙d Y+dx _⊙Y
有:
d ( f ⊙ f ) = f ⊙ df + df ⊙ f = f ⊙ df + f ⊙ df = 2 f ⊙ dfdiag ( f ) vec(df) = diag ( b ) vec(db) ( としましょう : vec ( A ⊙ X ) = diag ( A ) vec ( X ) ) \begin{aligned} d(\mathbf{f} \odot \mathbf{f}) &=\mathbf{f} \ odot d \mathbf{f}+d \mathbf{f} \odot \mathbf{f} \\ &=\mathbf{f} \odot d \mathbf{f}+\mathbf{f} \odot d \mathbf { f} \\ &= 2\mathbf{f} \odot d \mathbf{f} \\ \オペレーター名{diag(\mathbf{f})\オペレーター名{vec(d\mathbf{f})}} &= \演算子名{diag(\mathbf{b})\演算子名{vec(d\mathbf{b})}} \quad (定義:\演算子名{vec}(\mathbf{A} \odot \mathbf{X})= \演算子名{diag}(\mathbf{A}) \演算子名{vec}(\mathbf{X})) \end{aligned}d ( f⊙f )ダイアグ( f ) _ _ _v e c ( d f )=f⊙d f+d f⊙f=f⊙d f+f⊙d f=2f _⊙d f=ディアグ( b ) _in e c ( d b )(性質:in e c ( A⊙× )=ダイアグ( A ) _ _ _e c ( X ) )で。
ここで、diag ( f ) \operatorname{diag}(\mathbf{f})d i a g ( f )はn × nn \times nn×nの対角行列、対角要素は行列f \mathbf{f}fは列ベクトル化によって配置されます;diag ( b ) \operatorname{diag}(\mathbf{b})d i a g ( b )も同じです。
vec(df) = diag(f) − 1 diag ( b ) vec ( db ) \operatorname{vec(d\mathbf{f})} = \operatorname{diag(\mathbf{f})}^ {-1} \オペレーター名{diag}(\mathbf{b}) \オペレーター名{vec}(d\mathbf{b})v e c ( d f )=ダイアグ( f ) _ _ _− 1ディアグ( b ) _in e c ( d b )
b ∈ R n × 1 ⟹ vec(db) = db \mathbf{b} \in \mathbb{R}^{n\times 1} は \operatorname{vec(d\mathbf{b})} = d \ を意味します数学{b}b∈Rn × 1⟹in e c ( d b )=db _
∴ diag(f) df = diag(b) A dx \therefore \operatorname{diag(\mathbf{f})} d \mathbf{f} = \operatorname{diag(b)} \mathbf{A} d \mathbf{x}∴ダイアグ( f ) _ _ _d f=ディアグ( b ) _アド× _
vec(df) = diag(f) − 1 diag(b) A dx \operatorname{vec(d\mathbf{f})} = \operatorname{diag(\mathbf{f})}^{-1 } \演算子名{diag(\mathbf{b})} \mathbf{A} d \mathbf{x}v e c ( d f )=ダイアグ( f ) _ _ _− 1ディアグ( b ) _アド× _
分母レイアウトが使用される場合の行列から行列への導出:
vec ( df ) = ( ∂ f ∂ x ) T vec ( dx ) \operatorname{vec}(d \mathbf{f})=\left(\frac { \partial \mathbf{f}}{\partial \mathbf{x}}\right)^{T} \operatorname{vec}(d \mathbf{x})v e c ( d f )=(∂ ×∂f _)Tv e c ( d x )
が分子配置を採用する場合、
vec ( df ) = ( ∂ f ∂ x ) vec ( dx ) \operatorname{vec}(d \mathbf{f})=\left(\ frac{\partial \mathbf{f}}{\partial \mathbf{x}}\right) \operatorname{vec}(d \mathbf{x})v e c ( d f )=(∂ ×∂f _)v e c ( d x )
したがって、この問題について、分母レイアウトを使用すると、次のようになります。
∂ f ∂ x = ( diag(f) − 1 diag(b) A ) T \frac{\partial \mathbf{f}}{\partial \mathbf {x }} = \left(\演算子名{diag(\mathbf{f})}^{-1} \演算子名{diag(\mathbf{b})} \mathbf{A}\right)^{T}∂ ×∂f _=( d i a g ( f )− 1ディアグ( b ) _あ)T が
分子レイアウトを採用する場合:
∂ f ∂ x = diag(f) − 1 diag(b) A \frac{\partial \mathbf{f}}{\partial \mathbf{x}} = \operatorname{diag( \mathbf{f})}^{-1} \演算子名{diag(\mathbf{b})} \mathbf{A}∂ ×∂f _=ダイアグ( f ) _ _ _− 1ディアグ( b ) _あ