La «projection aléatoire» n'est-elle pas à proprement parler une projection?

10

Les implémentations actuelles de l'algorithme de projection aléatoire réduisent la dimensionnalité des échantillons de données en les mappant de à utilisant une matrice de projection dont les entrées proviennent d'une distribution appropriée (par exemple de ):RdRkd×kRN(0,1)

x=1kxR

Idéalement, il existe des preuves théoriques montrant que cette cartographie préserve approximativement les distances par paires.

Cependant, récemment, j'ai trouvé ces notes où l'auteur prétend que cette cartographie avec une matrice aléatoire n'est pas une projection au sens algébrique linéaire strict du mot (page 6). D'après les explications qui y sont données, cela est dû au fait que les colonnes de ne sont pas strictement orthogonales lorsque ses entrées sont choisies indépendamment dans . Par conséquent, les versions antérieures de RP où l'orthogonalité des colonnes de était appliquée peuvent être considérées comme une projection.RN(0,1)R

Pouvez-vous fournir une explication plus détaillée de (1) quelle est la définition d'une projection au sens strict et (2) pourquoi RP n'est-il pas une projection sous cette définition?.

Daniel López
la source
1
Vous pouvez trouver des réponses à (1) en cherchant sur notre site . L'assertion (2) est immédiate car si les colonnes étaient toujours orthogonales, leurs entrées ne pourraient pas être indépendantes.
whuber

Réponses:

4
  1. Quelle est la définition d'une projection dans ce sens strict (algébrique linéaire) (du mot)

    https://en.wikipedia.org/wiki/Projection_(linear_algebra)

    En algèbre linéaire et l' analyse fonctionnelle, une saillie est une transformation linéaire à partir d' un espace vectoriel à lui-même de telle sorte que . Autrement dit, chaque fois que est appliqué deux fois à une valeur, il donne le même résultat que s'il était appliqué une fois (idempotent).PP2=PP

    Pour la projection orthogonale ou la projection vectorielle, vous avez

    https://en.wikipedia.org/wiki/Projection_(linear_algebra)

    Une projection orthogonale est une projection pour laquelle la plage U et l'espace nul V sont des sous-espaces orthogonaux.

  2. Pourquoi RP n'est-il pas une projection selon cette définition?

    Michael Mahoney écrit dans vos notes de cours que cela dépend de la façon dont le RP est construit , que le RP soit ou non une projection au sens algébrique linéaire traditionnel. Il le fait aux troisième et quatrième points:

    Troisièmement, si les vecteurs aléatoires étaient exactement orthogonaux (comme ils l'étaient en fait dans les constructions JL d'origine), alors nous aurions que la projection JL était une projection orthogonale

    ...

    mais bien que cela soit faux pour les Gaussiens, les variables aléatoires et la plupart des autres constructions, on peut prouver que les vecteurs résultants sont approximativement de longueur unitaire et approximativement orthogonaux{±}

    ...

    c'est «assez bon».

    Vous pourriez donc faire, en principe, la projection aléatoire avec une construction différente qui se limite aux matrices orthogonales (bien que ce ne soit pas nécessaire). Voir par exemple l'œuvre originale:

    Johnson, William B. et Joram Lindenstrauss. "Extensions de mappages de Lipschitz dans un espace Hilbert." Mathématiques contemporaines 26.189-206 (1984): 1.

    ... si l'on choisit au hasard une projection orthogonale de rang surkl2n

    ...

    Pour être précis, nous supposons que est la projection sur les premières coordonnées de et que soit la mesure de Haar normalisée sur , le groupe orthogonal sur . Alors la variable aléatoire définie par détermine la notion de " projection de rang aléatoire ".Qkl2nσO(n)l2n

    f:(O(n),σ)L(l2n)
    f(u)=UQU
    k

    L'entrée wikipedia décrit la projection aléatoire de cette manière (la même chose est mentionnée dans les notes de cours aux pages 10 et 11)

    https://en.wikipedia.org/wiki/Random_projection#Gaussian_random_projection

    La première ligne est un vecteur unitaire aléatoire choisi uniformément parmi . La deuxième ligne est un vecteur unitaire aléatoire de l'espace orthogonal à la première ligne, la troisième ligne est un vecteur unitaire aléatoire de l'espace orthogonal aux deux premières lignes, et ainsi de suite.Sd1

    Mais vous n'obtenez généralement pas cette orthogonalité lorsque vous prenez toutes les entrées matricielles dans les variables matricielles aléatoires et indépendantes avec une distribution normale (comme Whuber l'a mentionné dans son commentaire avec une conséquence très simple "si les colonnes étaient toujours orthogonales, leurs entrées pourraient ne pas être indépendant ").

    La matrice et le produit dans le cas de colonnes orthonormées, peuvent être considérés comme une projection car ils concernent une matrice de projection . C'est un peu la même chose que de voir la régression des moindres carrés ordinaires comme une projection. Le produit n'est pas la projection mais il vous donne une coordonnée dans un vecteur de base différent. La projection «réelle» est , et la matrice de projection est .RP=RTRb=RTxx=Rb=RTRxRTR

    La matrice de projection doit être l' opérateur d'identité sur le sous-espace qui est la plage de la projection (voir les propriétés mentionnées sur la page wikipedia). Ou dit autrement, il doit avoir les valeurs propres 1 et 0, de sorte que le sous-espace pour lequel il est la matrice d'identité soit la portée des vecteurs propres associés aux valeurs propres 1. Avec des entrées matricielles aléatoires, vous n'obtiendrez pas cette propriété. Ceci est le deuxième point dans les notes de coursP=RTRU

    ... il "ressemble" à une matrice orthogonale à bien des égards ... la est un sous-espace uniformément distribué ... mais les valeurs propres ne sont pas dans .range(PTP){0,1}

    notons que dans cette citation la matrice rapporte à la matrice dans la question et non à la matrice de projection qui est impliquée par la matricePRP=RTRR

    La projection aléatoire par différentes constructions, comme l'utilisation d'entrées aléatoires dans la matrice, n'est donc pas exactement égale à une projection orthogonale. Mais c'est plus simple sur le plan informatique et, selon Michael Mahoney, c'est «assez bien».

Sextus Empiricus
la source
1
Merci pour votre réponse, je pense qu'elle va dans le même sens que celle que j'ai donnée plus haut. Juste pour clarifier , je pense que vous devriez indiquer que . Ensuite, comme vous l'expliquez, si les entrées de sont iid de nous ne pouvons pas garantir que ou que ait des valeurs propres dans . Inversement, si les colonnes de sont orthonormées, les deux conditions sont remplies. Mais il est essentiel d'indiquer que la projection est , et non seule! P=RRTRRd×kN(0,1)P2=PP{0,1}RRRTR
Daniel López
1
@ DanielLópez Je l'ai mis à jour.
Sextus Empiricus
6

C'est vrai: la "projection aléatoire" n'est pas à proprement parler une projection.

Projection d' un objet mathématique est clairement défini: https://en.wikipedia.org/wiki/Projection_(linear_algebra) - il est un opérateur idempotentent linéaire, par exemple opérateur linéaire tel que . Appliquer une projection deux fois équivaut à ne l'appliquer qu'une seule fois, car après qu'un point est projeté sur un sous-espace, il devrait simplement y rester s'il est projeté à nouveau. Il n'y a rien d'orthogonalité dans cette définition; en fait, une projection peut être oblique (voir Wikipedia).PP2=P

Notez que seules les matrices carrées peuvent représenter des "projections" dans ce sens. La "projection aléatoire" utilise une matrice aléatoire avec , il ne peut donc pas s'agir d'une projection au sens de la définition ci-dessus.d×kRkd

Même si vous faites les colonnes de orthonormées (par exemple en appliquant le processus de Gram-Schmidt), cet argument s'applique toujours. Quelqu'un a récemment posé cette question à propos de l'ACP: que faut-il exactement appeler "matrice de projection" dans le contexte de l'ACP? - une matrice de vecteurs propres orthonormés n'est pas à proprement parler une projection.Rd×kU

amibe
la source
3
Dans votre dernier paragraphe vous dites que si les colonnes sont orthonormées alors la projection n'est toujours pas une projection au sens d'une projection en algèbre linéaire. Cependant, c'est simplement parce que la matrice n'est pas une matrice carrée. Cela est plus dû à la notation qu'au principe. Si vous étendez la matrice avec des zéros, la matrice est une projection linéaire.
Sextus Empiricus
1
@MartijnWeterings Non, je ne pense pas. Prenez l'espace 2D et U qui est 1x2 et ressemble à ceci: [sqrt (2) / 2, sqrt (2) / 2] (correspondant à la projection sur la diagonale). Maintenant, étendez-le avec des zéros. Il ne sera pas égal à lui-même au carré.
amoeba
1
Il devrait être étendu d'une autre manière, peut être fait
kjetil b halvorsen
2
@amoeba, je suis d' accord qu'il étirait le concept / définition, mais je dirais qu'il est plus nuancée que qui comprend ce terme inverse qui ne correspond pas à . La combinaison linéaire lorsqu'elle est constituée de vecteurs orthogonaux ressemble à une projection orthogonale sur un sous-espace plus petit et vous pouvez répéter cette projection, ce qui en fait la même chose. C'est seulement qu'avec la projection, un ensemble différent de vecteurs de base est choisi (du moins c'est ainsi que l'on peut le voir) et la représentation matricielle ne fonctionne pas comme , mais géométriquement, elle ressemble à une projection. R(RTR)1RTIUP2=P
Sextus Empiricus
2
C'est vrai, @MartijnWeterings, mais pourquoi un avec des colonnes non orthogonales ne "ressemblerait" pas à une projection oblique ? R
amoeba
1

Je pense que la clé ici est de considérer l'espace de colonne de la matrice RP comme le sous-espace sur lequel nous effectuons la projection. En général, que les colonnes de soient orthogonales ou non, on peut projeter un échantillon sur l'espace de colonne de utilisant l'équation [1] suivante:d×kRRxRdR

p=xR(RTR)1RT , où .pRd

Si, comme dans les anciennes versions ou RP, les colonnes de la matrice sont restreintes pour être orthonormées, alors , et donc la projection de sur l'espace des colonnes de devient:RRTR=IRk×kxR

p=xRRT , avec ,pRd

et devient une matrice de projection , parce qu'elle est carrée et .RRTRd×d(RRT)2=RRTRRT=RRT

Peut-être que l'affirmation selon laquelle l'ancienne version de Random Projection (si les colonnes de étaient orthonormées) est en fait une projection fait référence au fait que, dans ce cas, l'incorporation vers le bas vers et la reconstruction postérieure vers d'un échantillon donné par est en effet une projection sur l'espace colonne de , et est une matrice de projection .RRkRdxRdxRRTRRRT

Je vous serais reconnaissant de bien vouloir confirmer / corriger mon raisonnement ici.

Référence:

[1] http://www.dankalman.net/AUhome/classes/classesS17/linalg/projections.pdf

Daniel López
la source
1
C'est correct, mais pour tout R, la matrice que vous utilisez dans la première formule est également une projection. Je ne pense donc pas que l'orthogonalité des colonnes R soit importante pour l'argument que vous donnez dans le dernier paragraphe. R(RTR)1RT
amoeba
1
Certes, mais mon point de vue était que vous souhaitiez peut-être que soit la matrice de projection, car elle correspond à la logique d'intégration et de reconstruction naturelle dans la réduction de la dimensionnalité. De cette façon, les colonnes de forment une base orthonormée du sous-espace (espace de colonne de R). Je contacterai l'auteur des notes pour voir si elles peuvent éclairer ce point. Merci pour votre réponse! RRTR
Daniel López
2
@amoeba la matrice est en effet une projection également, mais la projection aléatoire n'utilise pas la partie , mais à la place . Lorsque vous avez des colonnes orthonormales alors cette pseudo inverse partie est égale à la matrice . Vous pouvez le voir de la même façon qu'en ce qui concerne OLS, calculer , comme une projection, mais les coefficients ne sont pas la projection. OLS n'est strictement qu'une projection lorsque vous calculez . Toujours pourrait être considéré comme la projection sur une base différente. C'est plus une chose sémantique que mathématique. ( R T R ) - 1 R T R T R T β = ( R T R ) - 1 R T y β y = R ( R T R ) - 1 R T y βR(RTR)1RT(RTR)1RTRTRTβ=(RTR)1RTyβy^=R(RTR)1RTyβ
Sextus Empiricus
-1

Si vous utilisez un retournement ou une permutation de signe aléatoire recalculable avant la transformation de Fast Walsh Hadamard, la projection aléatoire est orthogonale.

Sean O'Connor
la source