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 ):
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.
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?.
Réponses:
Quelle est la définition d'une projection dans ce sens strict (algébrique linéaire) (du mot)
Pour la projection orthogonale ou la projection vectorielle, vous avez
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:
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:
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)
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 .R P=RTR b=RTx x′=Rb=RTRx RTR
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=RTR U
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».
la source
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).P P2=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×k R k≪d
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.R d×k U
la source
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×k R R x∈Rd R
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:R RTR=I∈Rk×k x R
et devient une matrice de projection , parce qu'elle est carrée et .RRT∈Rd×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 .R Rk Rd x∈Rd xRRT R RRT
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
la source
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.
la source