問題引入
首先以一個網上很多博文引用的例子來開篇,例子見下圖
問題初試
在瞭解向量和向量求導的時候,我看過以下一些公式:
首先Ax是個m維的列向量,它對x求偏導是個列向量對列向量求偏導的格式,所以可以套用上述公式(10),那麼得到的是:
∂x∂Ax=⎝⎜⎜⎜⎛∂x∂(a11x1+a12x2+⋯ +a1nxn)∂x∂(a21x1+a22x2+⋯ +a2nxn)⋯ ∂x∂(am1x1+am2x2+⋯ +amnxn)⎠⎟⎟⎟⎞m×1
那麼就轉換成了標量對向量的求偏導的形式了,可以套用上面的公式(5),於是化簡成接下來的樣子:
∂x∂Ax=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛∂x1∂(a11x1+a12x2+⋯ +a1nxn)∂x2∂(a11x1+a12x2+⋯ +a1nxn)⋯ ∂xn∂(a11x1+a12x2+⋯ +a1nxn)∂x1∂(a21x1+a22x2+⋯ +a2nxn)⋯ ∂xn∂(a21x1+a22x2+⋯ +a2nxn)⋯ ∂x1∂(am1x1+am2x2+⋯ +amnxn)⋯ ∂xn∂(am1x1+am2x2+⋯ +amnxn)⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞(m∗n)×1
這樣最後得到的化簡結果是一個m*n維的列向量和網上得到的答案AT不一致,那麼我這個答案有沒有錯呢?講道理按照公式來推應該也沒有問題,然後看到了這篇文章:知乎鏈接。所以我按照公式推其實也沒錯,只是表現的形式不一樣。(應該是把?)
那麼怎麼去得到AT這個答案呢?於是我就上網找資料以及向同學請教,找到了一個可能的答案:是因爲佈局方式的問題。
佈局方式
佈局方式分分子佈局和分母佈局。
分子佈局: 分子爲 y 或者分母爲 xT (即,分子爲列向量或者分母爲行向量)
分母佈局: 分子爲 yT 或者分母爲 x (即,分子爲行向量或者分母爲列向量)
按照不同的佈局方式,有幾種情形,比如在分子佈局方式下計算:標量/向量,向量/標量,向量/向量,標量/矩陣,矩陣/標量。
分子佈局下:
標量/向量(分母是向量,且是分子佈局,則把分母的向量按照行向量鋪開):
向量/標量:(分子是向量,且是分子佈局,則把分子按照列向量鋪開)
向量/向量:(分子分母都是向量,且是分子佈局,則分子向量按照列向量鋪開,分母向量按照行向量鋪開):
標量/矩陣(分子佈局下,X矩陣是轉置後鋪開的):
分母佈局下:
標量/向量(分母是向量,且是分母佈局,則把分母的向量按照列向量鋪開):
向量/標量:(分子是向量,且是分母佈局,則把分子按照行向量鋪開):
向量/向量:(分子分母都是向量,且是分母佈局,則分子向量按照行向量鋪開,分母向量按照列向量鋪開):
標量/矩陣(分母佈局下,X矩陣無需轉置,就是原矩陣):
問題解決
那麼回到我們剛開始引入的例子來:
這裏它這個答案得到AT應該是因爲它採用的是分母佈局。
那麼下面我分別按照分母佈局和分子佈局來計算一遍它的答案。
分子佈局下將分子看成列向量展開,分母看成行向量展開:
分母佈局下將分子看成行向量展開,分母看成列向量展開:
以上博文信息是自己的一點點學習總結,實屬拋磚引玉,有不對的地方麻煩各位不吝賜教。
參考博文:
https://blog.csdn.net/uncle_gy/article/details/78879131
https://blog.csdn.net/nomadlx53/article/details/50849941
https://blog.csdn.net/shouhuxianjian/article/details/46669365