L'optimisation PCA est-elle convexe?

12

La fonction objective de l'analyse en composantes principales (ACP) minimise l'erreur de reconstruction dans la norme L2 (voir la section 2.12 ici . Une autre vue essaie de maximiser la variance sur la projection. Nous avons également un excellent article ici: Quelle est la fonction objective de l'ACP ? ).

Ma question est la suivante : l'optimisation PCA est-elle convexe? (J'ai trouvé quelques discussions ici , mais j'aimerais que quelqu'un puisse fournir une belle preuve ici sur CV).

Haitao Du
la source
3
Non. Vous maximisez une fonction convexe (sous contraintes).
user603
5
Je pense que vous devez être précis sur ce que vous entendez par «optimisation PCA». Une formulation standard consiste à maximiser sous réserve de . Le problème est que la convexité n'a même pas de sens: le domaine est une sphère, pas un espace euclidien. x x = 1 x x = 1xAxxx=1xx=1
whuber
1
@whuber merci pour votre commentaire, je ne peux peut-être pas clarifier la question en raison de connaissances limitées. J'attendrai peut-être que certaines réponses m'aident à clarifier la question en même temps.
Haitao Du
3
Je vous renvoie à toute définition de «convexe» que vous connaissez. N'impliquent-ils pas tous un concept de points dans le domaine d'une fonction située "entre" d'autres points? Cela mérite d'être rappelé, car il vous rappelle de prendre en compte la géométrie du domaine d'une fonction ainsi que toutes les propriétés algébriques ou analytiques des valeurs de la fonction. Dans cette optique, il me semble que la formulation maximisant la variance peut être légèrement modifiée pour rendre le domaine convexe: il suffit de demander plutôt que . La solution est la même - et la réponse devient assez claire. x x = 1xx1xx=1
whuber

Réponses:

17

Non, les formulations habituelles de PCA ne sont pas des problèmes convexes. Mais ils peuvent être transformés en un problème d'optimisation convexe.

La perspicacité et le plaisir de cela sont de suivre et de visualiser la séquence de transformations plutôt que de simplement obtenir la réponse: cela réside dans le voyage, pas dans la destination. Les principales étapes de ce voyage sont

  1. Obtenez une expression simple pour la fonction objectif.

  2. Agrandir son domaine, qui n'est pas convexe, en un qui l'est.

  3. Modifier l'objectif, qui n'est pas convexe, en un qui est, d'une manière qui ne change évidemment pas les points auxquels il atteint ses valeurs optimales.

Si vous surveillez de près, vous pouvez voir les multiplicateurs SVD et Lagrange qui se cachent - mais ils ne sont qu'un diaporama, là pour l'intérêt scénique, et je ne les commenterai pas plus loin.


La formulation standard de maximisation de la variance de l'ACP (ou au moins son étape clé) est

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

où la matrice A est une matrice symétrique semi-définie positive construite à partir des données (généralement sa somme des carrés et de la matrice des produits, sa matrice de covariance ou sa matrice de corrélation).n×nA

(De manière équivalente, nous pouvons essayer de maximiser l'objectif non contraint . Non seulement c'est une expression plus désagréable - ce n'est plus une fonction quadratique - mais la représentation graphique de cas spéciaux montrera rapidement que ce n'est pas une fonction convexe On observe généralement que cette fonction est invariante sous les redimensionnements x λ x puis la réduit à la formulation contrainte ( ) .)xAx/xxxλx()

Tout problème d'optimisation peut être formulé de manière abstraite comme

Trouvez au moins un qui rend la fonction f : XR aussi grande que possible.xXf:XR

Rappelons qu'un problème d'optimisation est convexe lorsqu'il bénéficie de deux propriétés distinctes:

  1. Le domaine est convexe. XRn Cela peut être formulé de plusieurs façons. L'une est que chaque fois que et y X et 0 λ 1 , λ x + ( 1 - λ ) y X également. Géométriquement: chaque fois que deux points d'extrémité d'un mensonge de segment de droite en X , les mensonges ensemble de segments dans X .xXyX0λ1λx+(1λ)yXXX

  2. La fonction est convexe. f Cela peut également être formulé de plusieurs façons. La première est que chaque fois que et y X et 0 λ 1 , f ( λ x + ( 1 - λ ) y ) λ f ( x ) + ( 1 - λ ) f ( y ) . (Nous avions besoin de XxXyX0λ1

    f(λx+(1λ)y)λf(x)+(1λ)f(y).
    Xêtre convexe pour que cette condition ait un sens.) Géométriquement: chaque fois que est un segment de ligne dans X , le graphique de f (limité à ce segment) se trouve au-dessus ou sur le segment de connexion ( x , f ( x ) ) et ( y , f ( y ) ) dans R n + 1 .xy¯Xf(x,f(x))(y,f(y))Rn+1

    L'archétype d'une fonction convexe est localement partout parabolique avec un coefficient de tête non positif: sur tout segment de droite, il peut s'exprimer sous la forme avec a 0.yay2+by+ca0.

Une difficulté avec est que X est la sphère unitaire S n - 1R n , qui n'est décidément pas convexe. ()XSn1Rn Cependant, nous pouvons modifier ce problème en incluant des vecteurs plus petits. En effet, lorsque nous mettons à l'échelle par un facteur λ , f est multiplié par λ 2 . Lorsque 0 < x x < 1 , nous pouvons mettre à l'échelle x jusqu'à la longueur unitaire en le multipliant par λ = 1 / xλfλ20<xx<1x, augmentant ainsifmais restant dans la boule unitaireDn={x R nxx1}. Reformulons donc()commeλ=1/xx>1f Dn={xRnxx1}()

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

Son domaine est qui est clairement convexe, nous sommes donc à mi-chemin. Reste à considérer la convexité du graphe de f .X=Dnf

Une bonne façon de penser au problème même si vous n'avez pas l'intention d'effectuer les calculs correspondants - est en termes de théorème spectral. () Il dit qu'au moyen d'une transformation orthogonale , vous pouvez trouver au moins une base de R n dans laquelle A est diagonal: c'est-à-dire,PRnA

A=PΣP

ΣPAxxAx

AΣP

σ1σ2σn0.

x=Pyxy=Pxf

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

Xσi

()xx=1σ1fXffσ1

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

σ1fgfX

σ1σ1yyPyy=xxxg

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

σ1σiiggx2=x3==xn=0xx=1x1=±1y=P(±1,0,,0)P

gDn=Sn1yy=1fgσ1gfDnfg

whuber
la source
4
σ1
@amoeba Droit sur tous les plans; Merci. J'ai amplifié la discussion sur ce point.
whuber
3
(+1) Dans votre réponse, vous semblez définir une fonction convexe comme étant ce que la plupart des gens considéreraient comme une fonction concave (peut-être puisqu'un problème d'optimisation convexe a un domaine convexe et une fonction concave sur laquelle un maximum est calculé (ou une fonction convexe sur laquelle un minimum est calculé))
user795305
2
gXf
2
fgg
6

Non.

kM

X^=argminrank(X)kMXF2

(F

Bien que la norme soit convexe, l'ensemble sur lequel elle est optimisée n'est pas convexe.


Une relaxation convexe du problème de l'ACP est appelée approximation convexe de bas rang

X^=argminXcMXF2

1

Vous pouvez voir Apprentissage statistique avec parcimonie , ch 6 (décompositions matricielles) pour plus de détails.

Si vous êtes intéressé par des problèmes plus généraux et comment ils sont liés à la convexité, voir Modèles de bas rang généralisés .

Jakub Bartczuk
la source
1

Avertissement: Les réponses précédentes expliquent très bien comment PCA dans sa formulation d'origine n'est pas convexe mais peut être converti en un problème d'optimisation convexe. Ma réponse ne s'adresse qu'aux pauvres âmes (comme moi) qui ne sont pas si familières avec le jargon des sphères unitaires et des SVD - ce qui est, en fait, bon à savoir.

Ma source est cette note de cours du Prof. Tibshirani

Pour qu'un problème d'optimisation soit résolu avec des techniques d'optimisation convexe, il y a deux conditions préalables.

  1. La fonction objectif doit être convexe.
  2. Les fonctions de contrainte doivent également être convexes.

La plupart des formulations d'ACP impliquent une contrainte sur le rang d'une matrice.

rank(X)=k,J11J22

Honeybadger
la source
Xk
Xk