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
Obtenez une expression simple pour la fonction objectif.
Agrandir son domaine, qui n'est pas convexe, en un qui l'est.
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)= x′Ax subject to x′x=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 ( ∗ ) .)x′Ax/x′xx→λx(∗)
Tout problème d'optimisation peut être formulé de manière abstraite comme
Trouvez au moins un qui rend la fonction f : X → R aussi grande que possible.x∈Xf:X→R
Rappelons qu'un problème d'optimisation est convexe lorsqu'il bénéficie de deux propriétés distinctes:
Le domaine est convexe. X⊂Rn 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 .x∈Xy∈X0≤λ≤1λx+(1−λ)y∈XXX
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 Xx∈Xy∈X0≤λ≤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.y→ay2+by+ca≤0.
Une difficulté avec est que X est la sphère unitaire S n - 1 ⊂ R n , qui n'est décidément pas convexe. (∗)XSn−1⊂Rn 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<x′x<1x, augmentant ainsifmais restant dans la boule unitaireDn={x∈ R n∣x′x≤1}. Reformulons donc(∗)commeλ=1/x′x−−−√>1f Dn={x∈Rn∣x′x≤1}(∗)
Maximize f(x)= x′Ax subject to x′x≤1(**)
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
ΣPAx→x′Ax
AΣP
σ1≥σ2≥⋯≥σn≥0.
x=P′yxy=Pxf
f(y)=y′Ay=x′P′APx=x′Σx=σ1x21+σ2x22+⋯+σnx2n.
Xσi
(∗∗)x′x=1σ1fXffσ1
g(y)=f(y)−σ1y′y.
σ1fgfX
−σ1−σ1y′yPy′y=x′xxg
g(y)=σ1x21+⋯+σnx2n−σ1(x21+⋯+x2n)=(σ2−σ1)x22+⋯+(σn−σ1)x2n.
σ1≥σiiggx2=x3=⋯=xn=0x′x=1x1=±1y=P(±1,0,…,0)′P
g∂Dn=Sn−1y′y=1fgσ1gfDnfg