Vous êtes sur la page 1sur 12

Go Digital by INPT

B IG DATA

PFA REPORT
PROJECT

Encadré par : Pr. ZIYATI Elhousaine


Réalisé par : BENSOUDA KORACHI El Ghali
Remerciements

Ce travail, ainsi accompli, n’aurait pas pu arriver à terme sans l’aide et le


soutien d’Allah, louange au tout miséricordieux. Et nous lui demandons
miséricorde pour soulever cette épidémie de « CORONA VIRUS ».

Je tiens à remercier en premier lieu mes parents qui ne préservent aucun


effort pour me voir escalader à pas ferme sur la montagne du savoir, et dépasser
tous les obstacles vers l’amélioration et l’excellence. Tout mot dit, je ne les
remercierais jamais assez.

Après, je tiens à adresser mes sincères remerciement ainsi que mes


sentiments les plus respectueux à notre professeur et encadrant Mr
Elhousaine.Ziyati qui nous a donner la possibilité de travailler sur un tel sujet
et qui a mis à notre disposition toutes les ressources nécessaires pour le bon
déroulement de ce projet avec ses précieuses directives et ses judicieux
conseils.

Enfin, Nous tenons à remercier toute personne ayant contribué de près


ou de loin au succès de notre projet.

1
Résumé
Le présent rapport synthétise le travail d’un projet effectué dans le cadre
de notre évaluation finale dans la matière « Traitements des Données Massives
» encadré par Mr Elhousaine ZIYATI. Le sujet de ce projet est « TENSOR
DECOMPOSITION TUCKER : HOOI »

Dans la réalisation de ce projet, nous allons faire une comparaison des


performances de deux algorithmes de décomposition qui sont HOSVD et
HOOI. Cette comparaison va s’effectuer au niveau efficacité et précision des
deux algorithmes précités.
Donc, la portée de ce rapport est de donner un large aperçu des
tensors, de leurs décompositions, en utilisant les deux algorithmes HOSVD
et HOOI.

Abstract
This report summarizes the work of a project carried out as part of our
final evaluation of the “Massive Data Processing” material supervised by Mr
Elhousaine ZIYATI. The subject of our project is " TENSOR DECOMPOSITION
TUCKER : HOOI ”.

In carrying out this project, we will make a comparison of the


performance of two decomposition algorithms that are HOSVD and HOOI. This
comparison will be made at the efficiency and accuracy of the two algorithms
mentioned above.

So, the scope of this report is to give a great overview of tensors, their
decompositions, using the two algorithms HOSVD and HOOI.

2
Table des matières

Remerciements ................................................... 1
Résumé/Abstract ……………………………… 2

I. Introduction ………………………………… 4

II. Algorithmes python………………………….. 5

i. Algorithme HOSVD …………….. 5

ii. Algorithme HOOI ………………. 6


a. Explication Algorithme
b. Explication Code Python

III. SVD / PARAFAC ……………………………10

IV. Conclusion ………………………………..…. 11

3
I. Introduction

 Les tenseurs sont des tableaux multidimensionnels de


valeurs numériques et généralisent donc les matrices 1010011010010000
à de multiples dimensions. Les tensoSrs et leurs 1010100111101110
décompositions sont particulièrement bénéfiques 1101101101010100
dans les milieux d’apprentissage non supervisés, mais 0011100101011001
0101001110101000
gagnent en popularité dans d’autres sous-disciplines 1010100010110101
comme l’analyse des données temporelles et multi- 1011011010001010
relationnelles. Alors, on pourrait considérer qu’un 1110001010100010
tensor est une généralisation à n indices du concept 1000101110101100
0100110100110100
de matrice carrée.
1000010101001111

 Dans ce cadre, nous allons introduire des concepts de


tension de base, discuter pourquoi les tensors
peuvent être considérés comme plus rigides que les
matrices en ce qui concerne le caractère unique de
leur décomposition, expliquer les algorithmes de
factorisation les plus importants et leurs propriétés.
BIG DATA

4
II. Algorithmes

i. HOSVD

Cette méthode est mieux connue sous le nom de SVD de haut ordre
(HOSVD), qui a montré que le HOSVD est une généralisation convaincante de la
matrice SVD et discuté des moyens de calculer plus efficacement les principaux
vecteurs singuliers gauches de X(n). En fait, le tenseur de base du HOSVD est
tout-orthogonal, qui a la pertinence de tronquer la décomposition.
Puisque la HOSVD repose sur les dépliements selon chaque dimension
prise séparément, elle ne permet pas d’accéder à l’information. De ce fait, le
HOSVD tronqué n’est pas optimal en termes de donner le meilleur ajustement.
Cependant, HOSVD n'est pas une méthode sure et se montre très intolérante à
l'erreur.

5
ii. HOOI “ High Order Orthogonal Iteration”

Explication Algorithme :

1. initialiser les valeurs A(n)


2. Ajouter nos valeurs matricielles aléatoires à notre list Un pour le
mode n.
3. Tensor Y se multiplie à la liste des transposés Un.
4. Refaire les 3 premières étapes du HOSVD à l’aide de SVD.
5. Même chose que HOSVD pour core tensor.

Explication du code python :

Avant d’entamer la rédaction de notre code nous devons importer les


bibliothèques qu’on utilisera par la suite.

6
1. initialiser les valeurs A(n) et ajouter nos valeurs matricielles
aléatoires a la liste des Un pour n modes
Résultat : Nous avons obtenu notre liste pour n à portée !

On peut soit initialiser nos valeurs matricielles avec des matrices


aléatoires ou bien nous pouvons même utiliser celles que nous avons
obtenu précédemment avec HOSVD. Mais pour notre cas nous allons
travailler avec la maniera aléatoire et pour cela nous allons utiliser la
fonction python random.randit qui va retourner un nombre entier
sélectionné à partir du range prédéfinit.

Fonction Boucle :

 Y tenseur reçoit <- le tenseur X multiplié par la liste des U_n


transposés.

7
 Déplier le tensor pour chaque mode n. Puis, utilisez l’algorithme
SVD sur ces matrices en décomposant ce "slice" en plusieurs
matrices.

Ensuite, on calcule le core tensor :

Calculer G : on utilise la fonction tenalg.mode_dot pour effectuer une


opération en un tenseur (x) et une matrice U transposé.

Reconstruction de notre tenseur pour tester sa précision :

Nous pouvons modifier le noyau G sans affecter l’ajustement tant que


nous appliquons la modification inverse aux matrices facteur.

8
Cette liberté ouvre la porte au choix de transformations qui simplifient la
structure centrale d’une manière ou d’une autre afin que la plupart des
éléments de G soient nuls, éliminant ainsi les interactions entre les
composants correspondants et améliorant l’unicité.

Comme nous pouvons le voir, cette méthode fournit des composants de


reconstruction précis lorsque le taux d’erreur est proche de nulle.

 Par conséquent, nous pouvons conclure que HOOI est mieux adapté
pour la décomposition Tensor.

9
III. SVD / PARAFAC
SVD

 Dans l’algèbre linéaire, la


décomposition singulière de la valeur
(SVD) est une factorisation d’une
matrice réelle ou complexe qui
généralise la décomposition d’une
matrice normale carrée à n’importe
quelle m x n matrices de l’affichage
par l’intermédiaire d’une extension de
la décomposition polaire.
PARAFAC

 Analyse des facteurs parallèles


« PARAllel FACtors (PARAFAC) » est
une méthode pour décomposer les
tableaux multidimensionnels afin de
se concentrer sur les caractéristiques
d’intérêt, et fournit une illustration
distincte des résultats.

10
IV. Conclusion
L’algorithme HOSVD est un algorithme non itératif, souvent
utilisé pour initialiser HOOI, tandis que, les matrices de facteur dans
l’algorithme HOOI sont itérativement mises à jour. Donc, on conclut
ce projet par dire que l’algorithme HOOI est le plus performant en
termes d’efficacité et de précision.
En résumé, ce projet a été l’occasion pour nous d’utiliser
plusieurs techniques sur un véritable problème de traitement des
données massives afin de faciliter notre compréhension et notre
assimilation du cours.

11

Vous aimerez peut-être aussi