PCA最適化は凸型ですか?


12

主成分分析(PCA)の目的関数は、セクション2.12を参照してください(L2ノルムに再構成誤差を最小化され、ここで。別のビューが投影上の分散を最大化しようとしている我々はまた、ここでは優れた記事があります。PCAの目的関数とは何ですか?)。

私の質問は、PCA最適化は凸ですか?ここでいくつかの議論を見つけましたが、CVで誰かがここで素晴らしい証拠を提供できることを願っています)。


3
いいえ。凸関数を最大化しています(制約下)。
user603

5
「PCA最適化」とはどういうことか具体的に説明する必要があると思います。一つの標準調合物を最大にすることであるxAx対象xx=1。問題は、凸性が意味をなさないことです。ドメインxx=1は球体であり、ユークリッド空間ではありません。
whuber

1
@whuberコメントありがとうございます。知識が限られているため、質問を明確にできない場合があります。質問を明確にするのに役立ついくつかの回答を待つことができます。
ハイタオデュ

3
私はあなたがよく知っている「凸」の定義を参照するでしょう。それらはすべて、他のポイントの「間にある」関数のドメイン内のポイントの概念に関係していませんか?関数のドメインの幾何学、および関数値の代数的または分析的なプロパティを考慮することを思い出させるので、それは覚えておく価値があります。その光の中で、それは分散最大化製剤はわずかにドメイン凸面を作製するために改変することができることを私に発生します単に必要とxx1はなくxx=1。解決策は同じです。そして、答えは非常に明確になります。
whuber

回答:


17

いいえ、PCAの通常の製剤があるではない凸の問題。 しかし、それらは凸最適化問題に変換できます。

この洞察と楽しみは、単に答えを得るのではなく、変換のシーケンスを追跡して視覚化することです。それは目的地ではなく旅にあります。この旅の主なステップは

  1. 目的関数の簡単な式を取得します。

  2. 凸ではない領域を、ある領域に拡大します。

  3. 凸状ではない対物レンズを、次のように変更します。 最適値に到達するポイント明らかに変更しないます。

よく見ると、SVDとラグランジュの乗数が潜んでいるのがわかります。


PCAの標準的な分散最大化定式化(または少なくともその重要なステップ)は次のとおりです。

(*)Maximize f(x)= xAx  subject to  xx=1

ここで、n×n行列Aは、データ(通常は、その平方和と積の行列、その共分散行列、またはその相関行列)から構築された対称な正半有限行列です。

(同様に、制約のない目標を最大化しようとする場合があります。これは厄介な表現であるだけでなく、二次関数ではなくなりますが、特殊なケースをグラフ化すると、凸関数ではないことがすぐにわかります、のいずれか。通常、1つは、この関数が不変であるrescalings下で観察X λ X、次に拘束製剤にそれを減少させます* )。xAx/xxxλx()

最適化の問題は、次のように抽象的に定式化できます。

少なくとも一つの検索の関数を作ることfをXRできるだけ大きく。xXf:XR

最適化の問題は、2つの別個の特性を享受している場合にになることを思い出してください

  1. ドメイン 凸状です。XRn これは多くの方法で定式化できます。一つは、そのたびにY X0 λ 1λ X + 1 - λ Y Xも。幾何学的:線分セグメントの2つの端点がXにあるときは常に、セグメント全体がXにあります。xXyX0λ1λx+(1λ)yXXX

  2. 関数 凸状です。f これも多くの方法で定式化できます。一つは、そのたびにY X0 λ 1F λ X + 1 - λ Y λ F X + 1 - λ F Y Xが必要でしたxXyX0λ1

    f(λx+(1λ)y)λf(x)+(1λ)f(y).
    Xいかなる意味をなすために、この条件のために、凸状に)幾何学:たび内の任意の線分であるXのグラフFこのセグメントに限定されるよう()接続上またはセグメント上にあるX fはX 及びY F Y におけるR N + 1xy¯Xf(x,f(x))(y,f(y))Rn+1

    凸関数の原型はどこでも局所的、非正主係数を有する放物線である:任意の線分上には、フォーム内で発現させることができる0。yay2+by+ca0.

困難を有することであるXは、単位が球であるSをN - 1R nは明らかに凸状ではありません、。()XSn1Rn ただし、より小さいベクトルを含めることでこの問題を修正できます。我々は縮尺ときからである係数によりλfが乗算されるλ 2。場合0 < X '、X < 1、我々は拡張することができ、Xまでの単位長さにを乗じてλ = 1 / xλfλ20<xx<1x、それによって増加Fはなく、単位球内に留まるDN={X R N|X'X1} 私たちはそのため定式ましょう*としてλ=1/xx>1f Dn={xRnxx1}()

(**)Maximize f(x)= xAx  subject to  xx1

その領域はあり、明らかに凸であるため、途中にいます。fのグラフの凸性を考慮することは残っています。X=Dnf

問題について考える良い方法は、たとえ対応する計算を実行するつもりがないとしても、スペクトル定理の観点からです。() それは、直交変換によって、Aが対角であるR nの少なくとも1つの基底を見つけることができると言います:つまり、PRnA

A=PΣP

ここで、すべての非対角要素はゼロです。このようなPの選択は、Aについてまったく何も変更しないと考えることができますが、それを記述する方法を変更するだけです。視点を回転させると、関数x x A x(これのレベル超曲面常に楕円体でした)座標軸に合わせます。ΣPAxxAx

以来、正半正定値である、すべての対角エントリΣは非負でなければなりません。 我々はさらに、(ちょうど別の直交変換であり、従ってに吸収することができる軸を置換することができるP)ことを保証するために、σ 1σ 2σ N0。AΣP

σ1σ2σn0.

我々が許可すれば新たな座標であるX(伴うY = Pの X、関数)fはありますx=Pyxy=Pxf

f(y)=yAy=xPAPx=xΣx=σ1x12+σ2x22++σnxn2.

This function is decidedly not convex! Its graph looks like part of a hyperparaboloid: at every point in the interior of X, the fact that all the σi are nonnegative makes it curl upward rather than downward.

However, we can turn () into a convex problem with one very useful technique. Knowing that the maximum will occur where xx=1, let's subtract the constant σ1 from f, at least for points on the boundary of X. That will not change the locations of any points on the boundary at which f is optimized, because it lowers all the values of f on the boundary by the same value σ1. This suggests examining the function

g(y)=f(y)σ1yy.

This indeed subtracts the constant σ1 from f at boundary points, and subtracts smaller values at interior points. This will assure that g, compared to f, has no new global maxima on the interior of X.

Let's examine what has happened with this sleight-of-hand of replacing σ1 by σ1yy. Because P is orthogonal, yy=xx. (That's practically the definition of an orthogonal transformation.) Therefore, in terms of the x coordinates, g can be written

g(y)=σ1x12++σnxn2σ1(x12++xn2)=(σ2σ1)x22++(σnσ1)xn2.

Because σ1σi for all i, each of the coefficients is zero or negative. Consequently, (a) g is convex and (b) g is optimized when x2=x3==xn=0. (xx=1 then implies x1=±1 and the optimum is attained when y=P(±1,0,,0), which is--up to sign--the first column of P.)

Let's recapitulate the logic. Because g is optimized on the boundary Dn=Sn1 where yy=1, because f differs from g merely by the constant σ1 on that boundary, and because the values of g are even closer to the values of f on the interior of Dn, the maxima of f must coincide with the maxima of g.


4
+1 Very nice. I edited to fix one formula to what I think you intended (but please check). Apart from that, I found the sentence "That won't change any boundary values at which f is optimized" to be confusing at first, because the boundary values do change: you are subtracting σ1. Maybe it makes sense to reformulate a bit?
amoeba says Reinstate Monica

@amoeba Right on all counts; thank you. I have amplified the discussion of that point.
whuber

2
(+1) In your answer, you seem to define a convex function to be what most people would consider to be a concave function (perhaps since a convex optimization problem has a convex domain and a concave function over which a maximum is computed (or a convex function over which a minimum is computed))
user795305

2
@amoeba It's a subtle argument. Note, however, that the new maxima--those of g--are found to occur only on the boundary. That rules out your counterexamples. Another point worth noting is that in the end we don't really care whether new local (or even global) maxima happen to show up in the interior of X, because we are originally concerned only about local maxima on its boundary. We are therefore free to alter f in any way that will not make any of those local boundary maxima move or disappear.
whuber

2
Yes, I agree. It does not matter how f is modified on the inside, if the resulting g is "convex" and happens to have maxima on the boundary. Your g does happen to have maxima on the boundary, and this makes the whole argument work. Makes sense.
amoeba says Reinstate Monica

6

No.

Rank k PCA of matrix M can be formulated as

X^=argminrank(X)kMXF2

(F is Frobenius norm). For derivation see Eckart-Young theorem.

Though the norm is convex, the set over which it is optimized is nonconvex.


A convex relaxation of PCA's problem is called Convex Low Rank Approximation

X^=argminXcMXF2

( is nuclear norm. it's convex relaxation of rank - just like 1 is convex relaxation of number of nonzero elements for vectors)

You can see Statistical Learning with Sparsity, ch 6 (matrix decompositions) for details.

If you're interested in more general problems and how they relate to convexity, see Generalized Low Rank Models.


1

Disclaimer: The previous answers do a pretty good job of explaining how PCA in its original formulation is non-convex but can be converted to a convex optimization problem. My answer is only meant for those poor souls (such as me) who are not so familiar with the jargon of Unit Spheres and SVDs - which is, btw, good to know.

My source is this lecture notes by Prof. Tibshirani

For an optimization problem to be solved with convex optimization techniques, there are two prerequisites.

  1. The objective function has to be convex.
  2. The constraint functions should also be convex.

Most formulations of PCA involve a constraint on the rank of a matrix.

In these type of PCA formulations, condition 2 is violated. Because, the constraint that rank(X)=k, is not convex. For example, let J11, J22 be 2 × 2 zero matrices with a single 1 in the upper left corner and lower right corner respectively. Then, each of these have rank 1, but their average has rank 2.


Could you please explain what "X" refers to and why there is any constraint on its rank? This doesn't correspond with my understanding of PCA, but perhaps you are thinking of a more specialized version in which only k principal components are sought.
whuber

Yeah, X is the transformed (rotated) data matrix. In this formulation, we seek matrices that are at least of rank k. You can refer to the link in my answer for a more accurate description.
kasa
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.