M ÉTHODES M ATRICIELLES
EN D ATA MINING
M ATRIX M ETHODS IN D ATA M INING
Younès Bennani
Professeur des Universités
Master d’InformaGque
Master of Science in Informa:cs
Année M1
Université Paris 13/Younès Bennani Traitement Numérique des Données 1
Younès BENNANI
Professeur des Universités
Méthodes Matricielles en Data Mining
Matrix Methods in Data Mining
Master Informatique
Année M1
Université Paris 13/Younès Bennani Traitement Numérique des Données 2
• Partie I
• Introduction
• Matrices et vecteurs
• Opérations matricielles de base
• Propriétés
• Partie II
• Factorisations liées à la résolution de systèmes d'équations linéaires!
• Factorisation LU
• Factorisation QR
• Factorisation de Cholesky
• Factorisation SVD
• Factorisations basées sur valeurs propres et concepts connexes!
• Factorisation spectrale!
• Factorisation de Jordan
• Factorisation de Schur!
• Factorisation QZ!
• Factorisation de Takagi
• Partie III
• Factorisation NMF
• Factorisation Semi-NMF
• Factorisation Convex-NMF
• Factorisation Tri-NMF
• Partie IV
• Applications en Data Mining
Programme!
Université Paris 13/Younès Bennani Traitement Numérique des Données 3
Partie I
• Partie I • Introduction• Matrices et vecteurs
• Opérations matricielles de base
• Propriétés
Université Paris 13/Younès Bennani Traitement Numérique des Données 4
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining 5
Bibliographie!
6
Introduction !
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
12 millions SMS/minute en 2010, 20 millions SMS/minute en 2013.
L’évolution du téléphone mobile en smartphone multiplie par 10 la quantité d’informations émises, même progression entre un smartphone et une tablette.
Avec ses 800 millions de membres, Facebook génère 30 milliards de documents nouveaux chaque mois.
Les « tweets », micro-messages diffusés à tout un réseau via Twitter sont estimés à 140 millions d'unités/jour.
Près de 294 milliards de courriels seraient échangés chaque jour via nos boîtes mails.
Sources de Données
1,2 zettaoctet d’informations a été crée en 2010 : soit 1021…
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining 7
Vottabyte (1024) Zettabyte (1021) Exabyte (1018) Petabyte (1015) Terabyte (1012) Gigabyte (109) Megabyte (106)
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining 8
Nature des données!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining 9
Nature des données!
Une croissance estimée à 44%
par an jusqu’en 2020, aidée par le prochain boum des objets connectés.
Les quantités d’informations générées par les outils numériques donnent le vertige
« l'humanité a créé plus d'informations au cours des deux dernières années que pendant toute son histoire ».
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining 10
Evolution des données!
11
Données - Data!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
12
A
Représentation des données!
a b d c
e
f g h
=[x1, x2, …, xn]
= b b b h h h a a
=[x1, x2, …, xn]
= 0000000 …1100111000...
x
x
Représentation Structurelle Représentation Numérique
Méthodes syntaxiques - Grammaires et automates - Arbres et graphes
Méthodes statistiques
- Méthodes paramétriques+ non-paramétriques - Extraction et sélection de traits
- Classification automatique
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
13
A
Codage numérique des formes!
t x(t)
t1 t2 t3 tn-1 tn
€
x= x1
x2 M
xn
⎛
⎝
⎜
⎜ ⎜
⎜
⎞
⎠
⎟
⎟ ⎟
⎟
= x t
( )
1x t
( )
2M x t
( )
n⎛
⎝
⎜
⎜
⎜ ⎜
⎜
⎞
⎠
⎟
⎟
⎟ ⎟
⎟
€
x= x1
x2 M
xn
⎛
⎝
⎜ ⎜
⎜
⎜
⎞
⎠
⎟ ⎟
⎟
⎟
= x
( )
1 x( )
2 Mx n
( )
⎛
⎝
⎜
⎜ ⎜
⎜ ⎜
⎞
⎠
⎟
⎟ ⎟
⎟ ⎟
Pixel #1
Pixel #n
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
14 Représentation
numérique
Un exemple :
Chernoff faces of the speaker data!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani Traitement Numérique des Données 15
Classification (automatique) :
« Clustering »!
Espace des formes
regroupement
ω3
ω4 ω2
ω1
Espace des « clusters »
Université Paris 13/Younès Bennani Traitement Numérique des Données 16
Classement/Discrimination!
Espace des formes
identification
Espace de décision
ω1
ω2
ω3
ω4
?
Université Paris 13/Younès Bennani Traitement Numérique des Données 17
Classement/Discrimination!
*
?
Université Paris 13/Younès Bennani Traitement Numérique des Données 18
Chaîne de traitement!
Codage Prétraitement Analyse Décision
Apprentissage
fréquenc e(Hz)
Monde Physique Espace des Formes
Analogique --> Numérique Espace de Représentation Microphone
Caméra
Sélection de l'info. nécessaire Elimination du bruit Suppression de la redondance
Calcul de paramètres Espace des Paramètres
Modélisation Espace des Noms Reconnaissance Calcul de distance ou
de probabilité
19
Opérations sur les Vecteurs/Matrices !
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
20
Vecteurs et Matrices!
Dans de nombreuses applications, une matrice est juste un tableau rectangulaire de données, et ses éléments sont des scalaires, des nombres réels :
Pour traiter les données par des méthodes mathématiques, une structure mathématique doit être ajoutée. Dans le cas le plus simple, les colonnes de la matrice sont considérées comme des vecteurs dans Rm.
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
21
Vecteurs et Matrices!
Matrices de documents, sont utilisées dans la recherche d'information.
Considérons la sélection suivante de cinq documents. Mots clés, que nous appelons termes, sont indiqués en gras.
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
22
Vecteurs et Matrices!
Si l'on compte la fréquence des termes dans chaque document, nous obtenons le résultat suivant :
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
23
Vecteurs et Matrices!
Maintenant, supposons que nous voulons trouver tous les documents qui sont pertinents à la requête
« ranking of Web pages »
Ceci est représenté par un vecteur requête, construit de manière analogue à la matrice terme-document :
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Ainsi, la requête elle-même est considérée comme un document.
La tâche de recherche d'information peut maintenant être formulée comme un problème mathématique : trouvez les colonnes de A qui sont proches du vecteur q.
Pour résoudre ce problème, nous devons utiliser une mesure de distance dans R10.
24
Vecteurs et Matrices!
La classification des caractères manuscrits est un problème de reconnaissance de formes.
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
25
Vecteurs et Matrices!
Matrices d’achats ou de votes.
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
26
Vecteurs et Matrices!
Le cœur du moteur de recherche Google est un calcul matriciel.
La Google matrice P est construite sur la base de la structure de liens du Web, et l'élément Pij est non nulle si il y a un lien d'une page Web j à i.
Le graphique ci-dessous illustre un ensemble de pages Web avec outlinks et inlinks :
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Pour que le moteur de recherche soit utile, il faut utiliser une mesure de la qualité des pages Web.
La matrice Google est utilisé pour classer les pages. Le classement se fait en résolvant un problème de valeurs propres pour P.
27
Addition de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
28
Addition de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Exemple en Matlab :
>> A =!
8 1 6!
3 5 7!
4 9 2!
2 3 1!
>> B =!
8 1 6!
3 5 7!
4 9 2!
1 2 6!
>> C=A+B!
C =!
16 2 12!
6 10 14!
8 18 4!
3 5 7!
29
Multiplication de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
30
Multiplication de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Exemple en Matlab :
>> A =!
8 1 6!
3 5 7!
4 9 2!
2 3 1!
>> B =!
8 1 6!
3 5 7!
4 9 2!
1 2 6!
>> M=-2*A!
M =!
-16 -2 -12!
-6 -10 -14!
-8 -18 -4!
-4 -6 -2!
>> N=3*B!
N =!
24 3 18!
9 15 21!
12 27 6!
3 6 18!
31
Multiplication de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
32
Multiplication de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
33
Multiplication de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Exemple en Matlab :
>> A =!
8 1 6!
3 5 7!
4 9 2!
2 3 1!
>> B =!
8 1 6!
3 5 7!
4 9 2!
1 2 6!
>> D=A*B’!
D =!
101 71 53 46!
71 83 71 55!
53 71 101 34!
25 28 37 14!
Produit terme à terme :!
>> H=A.*B!
H =!
64 1 36!
9 25 49!
16 81 4!
2 6 6
34
Propriétés : Multiplication de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
35
Propriétés : Multiplication de Matrices!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Exemple en Matlab :
>> A =!
8 1 6!
3 5 7!
4 9 2!
2 3 1!
>> B =!
8 1 6!
3 5 7!
4 9 2!
1 2 6!
>> C=A-2!
C =!
6 -1 4!
1 3 5!
2 7 0!
0 1 -1!
>>B=B’!
>>AB =A*B!
AB=!
101 71 53 46!
71 83 71 55!
53 71 101 34!
25 28 37 14!
>> BC=B*C!
BC =!
59 30 46!
29 79 27!
47 35 53!
>> P1=A*BC!
P1=!
783 529 713!
651 730 644!
591 901 533!
252 332 226!
>> P2=AB*C!
P2=!
783 529 713!
651 730 644!
591 901 533!
252 332 226!
36
Transposée de Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
37
Propriétés de la transposée!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
38
Propriétés de la transposée!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Exemple en Matlab :
A =!
8 1 6!
3 5 7!
4 9 2!
2 3 1!
>> At=A’!
At =!
8 3 4 2!
1 5 9 3!
6 7 2 1!
>> AAt=A*At!
AAt =!
101 71 53 25!
71 83 71 28!
53 71 101 37!
25 28 37 14!
>> AtA=At*A!
AtA =!
93 65 79!
65 116 62!
79 62 90!
>> B!
B =!
8 3 4 1!
1 5 9 2!
6 7 2 6!
>> (A*B)’!
ans =!
101 71 53 25!
71 83 71 28!
53 71 101 37!
46 55 34 14!
>> B'*A’!
ans =!
101 71 53 25!
71 83 71 28!
53 71 101 37!
46 55 34 14!
39
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
40
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Définition d’un mineur :
41
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Définition d’un cofacteur :
42
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Calcul des déterminants par expansion cofacteurs :
43
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
44
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
45
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Méthode alternative pour le calcul des déterminants :
46
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
47
Déterminant d’une Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Exemple en Matlab :
>> M=magic(3)!
M =!
8 1 6!
3 5 7!
4 9 2!
>> det(M)!
ans =!
-360!
>> M=magic(2)!
M =!
1 3!
4 2!
>> det(M)!
ans =!
-10!
48
Inverse de Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
49
Inverse de Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
50
Inverse de Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
51
Inverse de Matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Exemple en Matlab :
>> M=magic(3)!
M =!
8 1 6!
3 5 7!
4 9 2!
>> inv(M)!
ans =!
0.1472 -0.1444 0.0639!
-0.0611 0.0222 0.1056!
-0.0194 0.1889 -0.1028!
>> M*inv(M)!
ans =!
1.0000 0.0000 0.0000!
0.0000 1.0000 0.0000!
0.0000 0.0000 1.0000!
52
Produit scalaire & norme!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Comment mesurer la «taille» d'un vecteur.
Les normes de vecteurs les plus courantes sont :
Les trois normes définies ici sont des cas particuliers de la
p-norme :
53
Produit scalaire & norme!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Le produit scalaire entre deux vecteurs x et y dans R
n, est défini par :
En règle générale, une norme vectorielle est une application R
n→R avec les propriétés :
54
Norme de matrice !
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Pour toute norme vectorielle, nous pouvons définir une
norme de l'opérateur correspondant définie comme
étant :
55
Norme de matrice !
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
56
Norme de matrice !
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Soit A
∈ Rm × n. Dans certains cas, nous allons traiter la matrice non pas comme un opérateur linéaire mais plutôt comme un point dans un espace de dimension mxn, soit R
mxn.
Nous pouvons utiliser la norme de Frobenius, qui est définie par :
La norme de Frobenius ne correspond pas à une norme de vecteur, de sorte qu'il n'est pas un opérateur.
Cette norme a l'avantage qu'il est plus facile à calculer que la norme 2.
La norme de Frobenius est en fait étroitement liée à la norme euclidienne dans le sens où les matrices sont identifiés par des éléments de Rmn.
57
Dépendance linéaire!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
58
Rang de matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Le rang d'une matrice est défini comme le nombre m a x i m u m d e v e c t e u r s - c o l o n n e s l i n é a i r e m e n t indépendants.
C'est un résultat standard en algèbre linéaire que le nombre de vecteurs-colonnes linéairement indépendants = au nombre de vecteurs-lignes linéairement indépendants.
calculer la forme échelonnée réduite A’
de cette matrice A.
A’ a le même rang que A, et le rang correspond au nombre de lignes qui sont non nulles. Dans ce cas, nous avons deux lignes qui correspondent à ce critère.
Rang(A)=2
59
Rang d’une matrice!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani Traitement Numérique des Données 60
Université Paris 13/Younès Bennani Traitement Numérique des Données 61
Partie II
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1.5 -1 -0.5 0 0.5 1
• Partie II
• Factorisations liées à la résolution de systèmes d'équations linéaires!
• Factorisation LU
• Factorisation QR
• Factorisation de Cholesky
• Factorisation SVD
• Factorisations basées sur valeurs propres et concepts connexes!
• Factorisation spectrale!
• Factorisation de Jordan
• Factorisation de Schur!
• Factorisation QZ!
• Factorisation de Takagi
Université Paris 13/Younès Bennani Traitement Numérique des Données 62
Factorisations liées à la résolution de systèmes d'équations linéaires
63
Factorisation matricielle LU!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
La factorisation LU a été proposée comme une décomposition des formes quadratiques et bilinéaires. Lagrange, dans le tout premier papier dans ses œuvres complètes (1759) tire l'algorithme que nous appelons élimination de Gauss.
Plus tard, Turing a introduit la factorisation LU d'une matrice en 1948 qui est utilisé pour résoudre le système d'équations linéaires.
J-L Lagrange
(1736 –1813) A. M. Turing
(1912-1954)
€
A = L U
Applicable : A carrée
64
Factorisation matricielle LU!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Soit A une matrice carrée. On dit que A admet une factorisation LU s'il existe une matrice triangulaire inférieure formée de 1 sur la diagonale, notée L, et une matrice triangulaire supérieure, notée U, qui vérifient l'égalité :
A = L x! U
65
Factorisation matricielle LU!
Université Paris 13/Younès Bennani
€
Méthodes Matricielles pour le Data MiningA = L U
Il n'est pas toujours vrai qu'une matrice A admette une factorisation LU. Cependant dans certains cas, en permutant des lignes de A, la factorisation devient possible. On obtient alors une factorisation de la forme :
où P est une matrice de permutation.
€
A = P L U
66
Exemple de factorisation LU!
Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
67
Algorithme de factorisation LU!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
68
Algorithme de factorisation LU!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Exemple en Matlab :
>> M=magic(3)!
M =!
8 1 6!
3 5 7!
4 9 2!
>> [L,U]=lu(M)!
L =!
1.0000 0 0!
0.3750 0.5441 1.0000!
0.5000 1.0000 0!
U =!
8.0000 1.0000 6.0000!
0 8.5000 -1.0000!
0 0 5.2941!
>> L*U!
ans =!
8 1 6!
3 5 7!
4 9 2!
>> [L,U,P]=lu(M)!
L =!
1.0000 0 0!
0.5000 1.0000 0!
0.3750 0.5441 1.0000!
U =!
8.0000 1.0000 6.0000!
0 8.5000 -1.0000!
0 0 5.2941!
P =!
1 0 0!
0 0 1!
0 1 0!
>> P*L*U!
ans =!
8 1 6!
3 5 7!
4 9 2!
69
Orthogonalité!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Deux vecteurs x et y non nuls sont orthogonaux si : x
Ty = 0
Si une matrice Q est orthogonale alors : Q
TQ = I
Le produit de deux matrices Q et P orthogonales est orthogonale.
Soit X=PQ alors X
TX = (PQ)
TPQ= Q
TP
TP Q = Q
TQ = I
70
Factorisation QR!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Tout d'abord la factorisation QR a été proposée par Gram (1883).
Plus tard, Erhard Schmidt (1907) a prouvé le théorème de la factorisation QR.
€
A = Q R
Jørgen Pedersen Gram
(1850 –1916) Erhard Schmidt
(1876-1959) Applicable : A( mxn)
71
Factorisation QR!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Si A est une matrice m × n avec des colonnes linéairement indépendantes, alors A peut être décomposée sous forme d’un produit de deux matrices : Q une matrice m × m dont les colonnes forment une base orthonormée de l'espace de colonne de A et R une matrice triangulaire supérieure inversible.
€
A = Q R
72
Factorisation QR!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
•
Factorisation QR obtenue en général par application successives de transformations orthogonales sur les données :
Q=Q1 … Qn
où Q
imatrices orthogonales simples telles que :
QT A = R•
Transformations utilisées :
•
Réflexions de Householder
•
Rotations de Givens
•
Procédé de Gram-Schmidt (auquel cas Q est de taille
mxn et R est de taille nxn)
73
Réflexions de Householder!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
74 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Réflexions de Householder!
75 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Réflexions de Householder!
76
Rotations de Givens!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
77 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Méthode de Gram-Schmidt!
78 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Méthode de Gram-Schmidt!
79 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Méthode de Gram-Schmidt!
Exemple en Matlab :
M =!
8 1 6!
3 5 7!
4 9 2!
>> [Q,R]=qr(M)!
Q =!
-0.8480 0.5223 0.0901!
-0.3180 -0.3655 -0.8748!
-0.4240 -0.7705 0.4760!
R =!
-9.4340 -6.2540 -8.1620!
0 -8.2394 -0.9655!
0 0 -4.6314!
>> Q*R!
ans =!
8.0000 1.0000 6.0000!
3.0000 5.0000 7.0000!
4.0000 9.0000 2.0000!
80 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Cholesky!
Théorème: Si A est une matrice réelle, symétrique et définie positive, alors il existe une unique matrice triangulaire inférieure L avec des éléments diagonaux positifs telle que :
€
A = L L
TAndre-Louis Cholesky 1875-1918
A = L x! L
TApplicable : A carrée, symétrique, définie positive
81 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Cholesky!
Supposons :
Résoudre l’équation :
82 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Cholesky!
Supposons Alors
La factorisation de Cholesky
Pour A nous avons,
For k from 1 to n
For j from k+1 to n
83 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Cholesky!
Exemple en Matlab :
M =!
4 2 -2!
2 10 2!
-2 2 5!
>> L=chol(M)!
L =!
2.0000 1.0000 -1.0000!
0 3.0000 1.0000!
0 0 1.7321!
>> L=chol(M,'lower’)!
L =!
2.0000 0 0!
1.0000 3.0000 0!
-1.0000 1.0000 1.7321!
>> L*L’!
ans =!
4 2 -2!
2 10 2!
-2 2 5!
84
Factorisation en valeurs singulières (S
ingularV
alueD
ecomposition)!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Ils sont 5 mathématiciens qui ont établi l’existence de la Factorisation SVD :
Eugenio Beltrami (1835-1899)
Camille Jordan (1838-1921)
James Joseph Sylvester (1814-1897)
Erhard Schmidt (1876-1959)
Hermann Weyl (1885-1955)
• La SVD a été développée originalement par deux mathématiciens au milieu des années 1800 : Eugenio Beltrami et Camille Jordan
• D’autres mathématiciens ont finalisé par la suite la SVD dont James Joseph Sylvester, Erhard Schmidt et Hermann Weyl qui ont étudié la SVD au milieu des années1900.
• C.Eckart et G. Young ont prouvé :
“low rank approximation of SVD” (1936).
C.Eckart Applicable : A (mxn)
85
Factorisation en valeurs singulières (S
ingularV
alueD
ecomposition)!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Théorème : Toute matrice X (m×n), de Rang(X)=r, où (r≤n≤ m), peut être factorisée sous la forme :
X = UΛV
T• U est une matrice (colonnes) orthonormale (m×n) (UTU=I), contenant les vecteurs propres de la matrice symétrique XXT.
• Λ une matrice diagonale (n×n ), contenant les valeurs singulières de X. Le nombre d’éléments diagonaux non nuls de Λcorrespond au Rang(X).
• VT est une matrice (lignes) orthonormale (n×n ) (VTV=I), contenant les vecteurs propres de la matrice symétrique XTX.
86
Factorisation en valeurs singulières (S
ingularV
alueD
ecomposition)!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Exemple en Matlab :
>> M =!
8 1 6!
3 5 7!
4 9 2!
>> [U,G,V]=svd(M)!
U =!
-0.5774 0.7071 0.4082!
-0.5774 0.0000 -0.8165!
-0.5774 -0.7071 0.4082!
G =!
15.0000 0 0!
0 6.9282 0!
0 0 3.4641!
V =!
-0.5774 0.4082 0.7071!
-0.5774 -0.8165 -0.0000!
-0.5774 0.4082 -0.7071!
>> U*G*V’!
ans =!
8.0000 1.0000 6.0000!
3.0000 5.0000 7.0000!
4.0000 9.0000 2.0000!
X = UΛVT
87 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Karl Pearson (1901)
Pearson, K. (1901). On Lines and Planes of Closest Fit to Systems of Points in Space.
Philosophical Magazine 2 (6) : 559-572. http ://stat.smmu.edu.cn/history/pearson1901.pdf.
Original Variable A
Original Variable B
PC 1 PC 2
SVD et ACP
(Analyse en Composantes Principales)!(PCA : Principal Component Analysis)
88 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
SVD et ACP
(Analyse en Composantes Principales)!-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1.5 -1 -0.5 0 0.5 1
-1.23,-1.56,-1.75,-0.28,0.60,2.22,0.85,0.21,-0.20,0.89,1.08,4.20,2.89,7.75,4.59,3.15,5.12,3.32,1.20,0.24,-0.56,2!
-0.69,2.43,0.61,2.08,2.30,3.25,5.52,4.55,2.97,2.22,2.81,1.61,1.24,1.89,1.88,-1.34,0.83,1.41,1.78,0.60,2.42,1!
-0.12,-0.94,1.29,2.59,2.42,3.55,4.94,3.25,1.90,2.07,0.51,1.45,2.50,0.12,1.41,2.78,0.64,0.62,-0.01,-0.79,-0.12,0!
0.86,0.29,2.19,-0.02,1.13,2.51,2.37,5.45,5.45,4.84,4.65,4.05,2.58,1.40,1.24,1.41,1.07,-1.43,2.84,-1.18,1.12,1!
1.16,0.37,0.40,-0.59,2.66,1.00,2.69,4.06,5.34,3.53,4.82,4.79,4.30,1.84,1.73,0.21,-0.18,0.13,-0.21,-0.80,-0.68,1!
-0.00,0.77,1.32,0.29,-1.28,0.84,1.60,1.55,2.93,4.76,5.55,4.30,4.89,2.81,2.37,3.68,-0.98,0.69,0.91,-1.80,0.39,2!
0.87,1.07,-0.65,1.46,0.84,2.70,3.67,2.94,3.81,5.20,8.16,3.29,4.24,2.43,0.40,1.60,0.72,0.66,0.05,-0.24,0.67,1!
-0.22,-0.91,-1.18,0.35,-1.92,-1.59,1.91,0.75,1.72,2.02,3.63,3.91,2.73,4.29,4.89,2.04,1.13,-0.66,-1.33,0.41,-0.75,2!
-1.11,-1.14,-0.89,0.00,0.53,0.44,0.24,2.15,1.64,1.75,3.92,5.68,3.39,4.24,3.81,4.56,3.18,1.51,2.90,0.14,-0.12,2!
-0.75,1.10,-1.90,1.43,0.47,0.40,0.86,3.51,2.62,4.50,6.83,6.94,0.75,3.23,1.08,-0.25,0.73,-0.41,-1.50,0.46,1.47,2!
0.14,-1.18,1.42,2.28,3.10,3.15,3.49,4.54,1.40,3.41,3.40,2.83,0.06,0.60,3.61,2.08,-0.83,0.55,-0.55,-0.43,-1.05,0!
….!
1.32,-0.40,-0.69,4.17,3.66,4.00,5.24,3.88,2.17,1.82,3.65,1.01,1.82,1.13,-0.07,0.26,0.50,1.38,1.25,-1.34,0.53,0!
-0.93,2.48,1.20,2.97,2.91,3.57,3.68,4.19,3.22,3.53,2.46,2.17,0.77,0.52,2.42,-0.89,0.51,-0.39,0.82,0.14,-0.63,1!
-1.06,0.59,1.01,3.33,2.05,3.20,4.70,4.21,4.73,2.22,2.67,2.79,2.05,-1.53,-1.54,0.37,-0.09,1.04,-0.08,-0.27,0.47,1!
1.86,0.37,-0.35,0.74,0.84,0.21,1.97,1.52,1.85,2.39,3.92,3.76,3.27,1.61,3.08,2.78,1.58,1.68,2.61,-0.91,-0.27,2!
-0.51,-0.48,0.35,-1.67,0.26,2.45,-0.09,2.03,0.79,1.42,1.13,2.52,2.06,4.50,4.28,4.66,3.30,0.38,0.75,1.76,0.37,0!
1.16,-1.19,-2.26,0.63,0.32,1.51,2.11,2.58,1.03,2.01,4.04,4.55,5.65,2.74,3.12,2.67,2.01,4.12,-0.81,0.07,-0.96,2!
-0.09,2.30,-0.43,0.36,0.11,-1.20,1.47,2.25,3.50,2.14,6.68,5.45,2.22,2.79,2.61,1.87,0.48,1.98,1.64,1.32,0.71,2!
-1.43,-0.46,-0.52,1.45,-0.00,1.35,1.39,0.81,0.03,1.39,2.55,2.42,3.07,5.46,6.29,6.50,4.60,3.77,1.62,1.01,-1.86,0!
A C P
ℜ 21 → ℜ 2
Waveform de Breiman
89
SVD et ACP
(Analyse en Composantes Principales)!Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Principe :
• Procédé de projection linéaire pour réduire le nombre de variables (dimension).
• Le transfert d'un ensemble de variables corrélées dans un nouvel ensemble de variables non corrélées.
• Projeter les données dans un espace de dimension inférieure
• Forme d'apprentissage non supervisé Propriétés :
• ACP peut être considérée comme une rotation des axes existants à de nouvelles positions dans l'espace défini par les variables d'origine.
• Nouveaux axes sont orthogonaux et représentent les directions avec une variabilité maximale.
90
SVD et ACP
(Analyse en Composantes Principales)!Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
• X : matrice des données centrées
• C=XXT : matrice de correlations (similarités)
• La factorisation de C= XXT = UΣUT
où U = [u1, u2, …, um] et Σ = diag[λ 1, λ 2, …, λ m]
• La Factorisation de XXT = VΣVT
• La relation entre la SVD et les deux autres factorisations :
X=U Σ1/2 VT
• vecteurs propres U, les vecteurs propres V,
• Valeurs singulières = racines carrées des valeurs propres.
91
SVD et ACP
(Analyse en Composantes Principales)!Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Composantes principales
Calcul des coordonnées des points sur les axes principaux : Les composantes principales sont obtenues par :
€
ck =Fk(xi)= uk,xi = ukj xij
j=1 d
∑
kème Composante principale
Facteur principal de rang k associé à xi
Les composantes principales peuvent être considérées comme denouvelles variables, combinaisons linéaires des variables initiales, non corrélées entre elles et de variance maximale.
Université Paris 13/Younès Bennani Traitement Numérique des Données 92
Université Paris 13/Younès Bennani Traitement Numérique des Données 93
Factorisations basées sur valeurs propres et concepts connexes
94 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation spectrale!
Soit A une matrice m × m réelle et symétrique, alors il existe une matrice orthogonale P telle que :
ou où Λ est une matrice diagonale.
A.L. Cauchy (1789-1857)
A. L. Cauchy a proposé la factorisation spectrale en 1829.
Applicable : A carrée
95 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Jordan!
Soit A une matrice n×n alors il existe une matrice non singulière P et une matrice JK(λ) de dimension k×k de la forme :
tel que :
€
P−1AP =
Jk1(
λ
1) 0 L 0 0 Jk2(λ
2) L 0M M O M
0 0 0 Jk
r(
λ
r)⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
• Factorisation de Jordan est utilisée en équations différentielles et en analyse des séries temporelles.
Camille Jordan (1838-1921) Applicable : A carrée
96 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Jordan!
Exemple en Matlab :
>> M=magic(3)!
M =!
8 1 6!
3 5 7!
4 9 2!
>> [P,J]=jordan(M)!
P =!
-0.4202 -2.3798 1.0000!
-0.5798 1.3798 1.0000!
1.0000 1.0000 1.0000!
J =!
-4.8990 0 0!
0 4.8990 0!
0 0 15.0000!
>> inv(P)*M*P!
ans =!
-4.8990 0.0000 0!
-0.0000 4.8990 0.0000!
0.0000 0 15.0000!
€
P−1AP=
Jk1(λ1) 0 L 0 0 Jk
2(λ2) L 0
M M O M
0 0 0 Jk
r(λr)
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
97 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Schur!
Applicable : A carrée
Il existe deux versions de cette décomposition : la décomposition de Schur complexe et la décomposition de Schur réelle.
Une matrice complexe a toujours une décomposition de Schur complexe.
Une matrice réelle admet une décomposition de Schur si et seulement si toutes ses valeurs propres sont réelles.
Version complexe :
A = U T U
Hoù U est une matrice unitaire, UH est la transposée conjuguée de U, et T est une matrice triangulaire supérieure appelée la forme de Schur complexe qui représente les valeurs propres de A le long de sa diagonale .
98 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Schur!
Version réelle :
A = V S V
TA, V, S et VT sont des matrices qui contiennent des nombres réels seulement.
Dans ce cas, V est une matrice orthogonale, VT est la transposée de V, et S est une matrice triangulaire supérieure de bloc appelé la forme de Schur réelle.
Les blocs sur la diagonale de S sont de taille :
- (1 × 1) : dans ce cas, elles constituent de véritables valeurs propres
ou
- (2 × 2) : dans ce cas, ils sont dérivés de paires de valeurs propres complexes conjuguées.
99 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Schur!
Exemple en Matlab :
A =!
4 2 -2!
2 10 2!
-2 2 5!
>> [U,T]=schur(A)!
U =!
0.7348 -0.6481 0.2003!
-0.3146 -0.0640 0.9471!
0.6010 0.7589 0.2509!
T =!
1.5079 0 0!
0 6.5394 0!
0 0 10.9528!
>> U*T*U’!
ans =!
4.0000 2.0000 -2.0000!
2.0000 10.0000 2.0000!
-2.0000 2.0000 5.0000!
100 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation QZ!
Applicable : A,B carrées
Aussi appelé : décomposition de Schur généralisée
Il existe deux versions de cette décomposition : complexe et réelle.
Version complexe :
A = Q S Z
Het B = Q T Z
Hoù Q et Z sont des matrices unitaires, l’indice supérieur H représente transposé conjugué, et S et T sont des matrices triangulaires supérieures.
Dans la décomposition QZ complexe, les rapports entre les éléments diagonaux de S vers les éléments diagonaux correspondants de T,
λi= S ii / Tii
sont les valeurs propres généralisées qui résolvent le problème généralisé des valeurs propres Av = λBv (où λ est un scalaire inconnu et v est un vecteur non nul inconnu).
101 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation QZ!
Applicable : A,B carrées
Version réelle :
A = Q S Z
Tet B = Q T Z
Toù A, B, Q, Z, S et T sont des matrices contenant des nombres réels seulement .
Dans ce cas, Q et Z sont des matrices orthogonales, l’exposant T représente la transposition, et S et T sont des matrices blocs triangulaires supérieures.
Les blocs sur la diagonale de S et T sont de taille (1 × 1) ou (2 × 2).
102 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation QZ!
Exemple en Matlab :
A =!
4 2 -2!
2 10 2!
-2 2 5!
>> [S,T,Q,Z]=qz(A,B)!
S =!
2.5132 -0.6353 8.5018!
0 6.5587 -0.2329!
0 0 6.5520!
T =!
9.0755 -1.0283 14.6485!
0 6.5587 -0.2329!
0 0 6.5520!
>> S=Q*A*Z!
ans =!
2.5132 -0.6353 8.5018!
-0.0000 6.5587 -0.2329!
0.0000 0.0000 6.5520!
B =!
7 5 1!
5 13 5!
1 5 8!
Q =!
-0.5774 -0.5774 -0.5774!
0.6172 0.1543 -0.7715!
0.5345 -0.8018 0.2673!
Z =!
-0.7524 0.6587 0!
0.1344 0.1534 -0.9790!
-0.6449 -0.7366 -0.2040
>> T=Q*B*Z!
ans =!
9.0755 -1.0283 14.6485!
-0.0000 6.5587 -0.2329!
0.0000 0.0000 6.5520!
103 Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani
Factorisation de Takagi!
Applicable : A carrée, complex, symétrique
Décomposition:
A = V D V
Toù D est une matrice diagonale réelle positive ou nulle, et V est unitaire. VT désigne la matrice transposée de V.
Les éléments diagonaux de D sont les racines carrées non négatives des valeurs propres de AAH.
V peut être complexe, même si A est réelle.
Il s'agit d'un cas particulier de la factorisation spectrale (voir ci- dessus)
104
Factorisation matricielle!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
Matrice A Factorisation LU
pas toujours unique Factorisation QR
Carrée Rectangulaire
Symétrique Asymétrique SVD
Factorisation
Cholesky Factorisation Spectrale
Factorisation Jordan
Diagonalisation P-1AP=Λ
105
Exercices!
Méthodes Matricielles pour le Data Mining Université Paris 13/Younès Bennani
106
107 Université Paris 13/Younès Bennani Méthodes Matricielles pour le Data Mining
Université Paris 13/Younès Bennani Traitement Numérique des Données 108