本文的閱讀等級:高級
普洛克路斯忒斯 (Procrustes) 是希臘神話中海神波塞頓 (Poseidon) 的兒子。他在雅典到埃萊夫西納 (Eleusis) 的神聖之路 (The Sacred Way) 上開設一間黑店,向路過的旅人謊稱店內設有一張適合所有人的鐵床。旅客投宿時,普洛克路斯忒斯將身高者截斷雙足,身矮者則強行拉長,使之與床的長短相同。從來沒有一個人的身長與鐵床的長度相同而免於凌遲,因為他暗地裡準備了兩張床[1]。後人於是以 Procrustean 表示「削足適履,殺頭便冠」,意思是將不同的長度、大小或屬性安裝到一個任意的標準。
正交 Procrustes 問題:給定兩個 階實矩陣
和
,求一個
階實正交矩陣
,
,使得
具有最小值[2],其中
是 Frobenius 範數。
正交 Procrustes 問題是一個最小平方矩陣近似問題,可以這麼解讀: 是旅人,
是鐵床,正交 Procrustean 變換 (包含旋轉和鏡射)
即為施予旅人的肢體酷刑。我們的問題是求出一酷刑使旅人變形後的身長與鐵床的長度最為吻合。以下討論限定於實矩陣。

Procrustes 和他的客人(點圖看動畫) From http://www.mythweb.com/today/media/procrustes07.gif
對於一個 階矩陣
,Frobenius 範數定義為 (見“矩陣範數”)
。
使用跡數循環不變性和轉置不變性 (見“跡數的性質與應用”),
因為 和
是給定的矩陣,最小化
等價於最大化
。另外,設
,上式表明
,正交矩陣乘法不改變 Frobenius 範數。
正交 procrustes 問題可轉換為底下的約束最佳化問題:
使用 Lagrange 乘數法 (見“Lagrange 乘數法”)。令 Lagrangian 函數為
,
其中 是
階 Lagrange 乘數矩陣。利用跡數的導數公式 (見“跡數與行列式的導數”,tr-6,tr-13),計算
對於
的導數:
設上式為零,可得 ,或
。設
階矩陣
的奇異值分解為
,其中
和
是
階正交矩陣,
,這裡
是
的奇異值 (見“奇異值分解 (SVD)”)。因為
是對稱矩陣,可知
。代入
的奇異值分解,
。
比較等號兩邊可得 ,故
為一個最佳解,而且
矩陣 的最小平方近似矩陣是
,最小誤差為
。
上式提供了 的一個充要條件。若
,則
,就有
。反向的推論十分明顯。
補充一個較快捷的推導方式。如果不採行 Lagrange 乘數法,直接將 代入目標函數,如下:
,
上面令 。因為
都是正交矩陣,不難證明
,
也是一個正交矩陣。明確寫出
,
但 且
,上式的最大值必發生於
,
,即
。因此,
,解得
。
舉一個例子[3],若
,
則正交矩陣
最小化 ,最小誤差為
。
接下來我們探討正交 Procrustes 問題的一個變形問題,稱為兩面正交 Procrustes 問題。
兩面正交 Procrustes 問題:給定兩個 階實矩陣
和
,求一個
階實正交矩陣
和一個
階實正交矩陣
,使得
具有最小值。
仿造前面的作法,計算目標函數
所以最小化 等價於最大化
。
設 和
的奇異值分解為
和
,其中
和
是
階正交矩陣,
和
是
階正交矩陣,
和
是
階奇異值矩陣 (零列和零行必須隨
和
的大小調整),
,
,
。代入奇異值分解,使用跡數循環不變性,
上面令 階正交矩陣
,
階正交矩陣
。兩式取轉置,解得
和
。剩下的工作是找出正交矩陣
和
使得
有最大值。
考慮約束最佳化問題
使用 Lagrange 乘數法。寫出 Lagrangian 函數
,
其中 是
階且
是
階 Lagrange 乘數矩陣。利用跡數的導數公式,計算
對於
和
的導數:
設上面兩式為零,可得最佳解的必要條件:
因為 和
是對稱矩陣,
第二式右乘 ,
。
將第一式代入等號左邊,
。
合併上面兩式,右乘 ,就有
,
其中 是
階對角矩陣,
是
階對角矩陣,兩者有相同的主對角元 (扣除零元)
,
。比較等號兩邊的
元,可得
。
對於 ,若
,則
。這個結果提示
和
為一組最佳解 (事實上,所有的非零純量矩陣
,
皆為最佳解),也就有
,
,目標函數可化簡成
。
根據排序不等式 (rearrangement inequality)[4],上式的最大值發生於 且
。因此,矩陣
的最小平方近似矩陣為
,
最小誤差則為
上面我們使用了 Frobenius 範數的奇異值恆等式 (見“SVD 於矩陣近似的應用”)
。
在兩面正交 Procrustes 問題中,從最小誤差表達式可知 的充分必要條件是
和
有相同的奇異值。
直觀上,兩面正交 Procrustes 問題 的極小值應比正交 Procrustes 問題
的極小值來得小,這意味
。
這個不等式的證明過程相當冗長,在此從略。
參考來源:
[1] 維基百科:Procrustes
[2] 正交 Procrustes 問題也可以表示為求一個 階正交矩陣
使最小化
。因為
,推得
,其中
是一個正交矩陣。
[3] 取自 G. H. Golub and C. F. Van Loan, Matrix Computations, 2nd edition, 1989, pp 582.
[4] 維基百科:排序不等式
老師,這種矩陣近似一般在什麼場合下使用呢?
我知道的主要應用有二個。
(1) 幾何形態測量 Geometric Morphometric,下文圖一包含縮放、平移和旋轉。旋轉是正交變換。
http://www.intechopen.com/books/sexual-dimorphism/sexual-dimorphism-using-geometric-morphometric-approach
(2) 主成分因素分析 principal factor analysis,見下文
http://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_factor_sect029.htm
第二張圖顯示PCA得到的五個變數的factor loading (見
https://ccjou.wordpress.com/2013/04/18/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90%E8%88%87%E5%A5%87%E7%95%B0%E5%80%BC%E5%88%86%E8%A7%A3/
)
從圖看不出這五個變數的分類,所以我們可以旋轉座標,常用的方法有二:Varimax Prerotation,結果見第三張圖,以及Promax Rotation (其中包含 Procrustes 旋轉),結果見最後一張圖。從旋轉後的座標可知五個變數可以分成三類。
P.S. 貼一張動畫上來。
老师,你在文中说:比較等號兩邊可得 QV=U,故 Q=UV^T 為一最佳解。那这个解是不是唯一的吗?或者说正交 Procrustes 問題是不是一个凸问题?
老师,你在文中说: 設上式為零,可得 A^TB=(\Lambda+\Lambda^T)Q,或 A^TBQ^T=\Lambda+\Lambda^T。这里用到了QQ^T=I这个条件。可是,在Lagrangian 函數里还能用到之前有的约束条件(比如QQ^T=I)吗?
老师,我已经弄明白了,读者可以参考这篇论文
http://nemo.nic.uoregon.edu/wiki/images/0/07/Psychometrika_1966_Sch%C3%B6nemann_A_generalized_solution_of_the.pdf
正交 Procrustes 問題里的Q可以有更直观的解决方法,请看https://jianfengwang.files.wordpress.com/2015/07/proof_of_the_orthogonal_procrustes_problem.pdf
謝謝,確實是有更簡潔的推導法,有空我再補上來。
(見“補充一個較快捷的推導方式”該段)
谢谢老师!老师这篇帖子里提到的技巧帮助我证明了我论文中的一个定理。