直交制約による最適化


8

私はコンピュータビジョンに取り組んで、目的関数を最適化する必要が午前は、行列の関係と行列直交行列です。XX

maximize  f(X)

s.t  XTX=I
ここで、は単位行列です。私はいくつかの論文を読んでおり、彼らはグラスマニアのマンフィオールド、スティーフェル多様体に対する最適化のような複雑な用語について話しました。基本的に、これらの多様体の勾配は、ユークリッド空間上の通常の勾配とは異なります。I

これらの多様体に勾配ベースの方法を実装できるように、読みやすい紙を提案してください。ドキュメントを説明する簡単なMatlabの例がある場合は参考になります

ありがとう


1
目の前の問題について、より詳しい情報を提供していただけますか?現状では、答えるのは非常に広いです。たとえば、ランダムな正方行列生成し、となるSVDを取得して、候補解としてを使用することもできます。YY=USVTUX
usεr11852

1
とは何ですか?f(.)
user603

4
本当にスティーフェル多様体の一般的な扱いが必要ですか、それとも(はるかに単純な)制約に関する情報があれば十分でしょうか?後者の場合、問題は円に沿った移動に減少します。これの最も簡単な例は2次元で、制約は単位円を定義します。ある点での勾配はその点での接線に沿って方向付けられますが、勾配に従うには接線ではなく円に沿って移動する必要があります。このアイデアは一般化します。(cc @usεr11852)XX=I
whuber

@whuber:+ 1、cc :: ingをありがとう。私は明らかに同意します。私の例では、単純なランダム検索でも有効な候補解を与えるのに十分であることを示したかっただけです。
usεr11852

4
@GeoMattこれはあなたが思うよりも初歩的なものかもしれません。違いはこれです。平面では、は単位円定義された関数です。単位円の近傍のすべての関数に拡張し、ラグランジュ乗数を使用して制約を適用することにより、最適化できます。あるいは、あなたは、単位円をパラメータ化可能性それによって行う、可変の周期関数、制約なしでそれを最適化します。まったく同じ方法が直交行列(およびグラスマン多様体)でも機能します。fx2+y2=1(x,y)x2+y2=1(x,y)=(cos(t),sin(t))ft
whuber

回答:


7

次の論文が役に立ったと思いました。

エデルマン、A。、アリアス、TA、&スミス、ST(1998)。 直交性制約のあるアルゴリズムのジオメトリ。マトリックス分析とアプリケーションに関するSIAMジャーナル、20(2)、303-353。

このペーパーには、微分幾何学と高次の最適化手法に関して、必要以上の情報があります。

ただし、質問に答えるための情報は実際には非常に単純であり、実際にはほとんど方程式2.53と2.70に含まれています。これらは両方ともの形式 であり、ここで名目勾配 は、現在の解への射影を差し引くことにより、制約付き勾配修正されます。これは、円運動に似たマニホールドの法線であり、修正された勾配がマニホールドに正接することを保証します。

f=GXΦ
G=fX
fΦX

注:これらの式は、あなたがすでにあると仮定の上にマニホールド、すなわち。したがって、実際には、初期条件が適切であることを確認する必要があります(例:、可能な長方形)。また、蓄積された丸めや切り捨てエラーを時々修正する必要がある場合もあります(SVDを介して、以下の「ZCA」の例を参照)。XTX=IX0=I

制約なしの場合、ですが、制約付きの場合、は2つの形式を取ります: これは、「グラスマン多様体」に対応します。ここでの違いは、は回転に影響されないことです。回転および場合、です。Φ=0Φ

ΦG=XTGGf=(IXXT)G
GQTQ=IX=X0QXXT=X0X0T

2番目の形式は これは「スティーフェルは「マニホールド、及びある回転に敏感。

ΦS=GTXSf=GXGTX

簡単な例は、与えられた行列をで直交行列で近似し、最小二乗誤差を最小化することです。この場合、 制約なしの場合溶液有する我々は確実に関係されていないため、直交しています。ARn×ppnX

f[X]=12XAF2=12ij(XijAij)2G=XA
f=GX=AX

Grassmannの場合、 これは、が「細い」ではなく正方形である場合にのみ解を持つことができます。なぜなら、、にはnullスペースがあるためです。

Gf=(XXTI)A=0
Ap<nX

Stiefelの場合、 あり、場合でも解決できます。

Sf=XATXA=0
p<n

これら2つのケース、グラスマンvs.スティーフェルは、本質的に「PCA vs. ZCAホワイトニング」の違いに対応します。SVDに関して、入力行列が場合、解はおよび。PCAソリューションは正方形の入力にのみ適用されます。つまり、は「共分散行列」でなければなりません。ただし、ZCAソリューションは、が「データマトリックス」の場合に使用できます。(これは、より適切には直交プロクラステス問題として知られています。)A=USVTXG=UXS=UVTXGAXSA


2
私はないと思うそれから派生が0であるため、出発点は良いですX0=I
user103828は、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.