- Classification spectrale (intelligence artificielle)
-
En intelligence artificielle, le terme classification spectrale désigne une famille d'algorithmes de classification non-supervisée. Cette dernière est de plus en plus usitée, à la fois en raison de son efficacité, et de sa simplicité relative d'implémentation qui se résume principalement à l'extraction de vecteurs propres d'une matrice de similarités. Par rapport à des algorithmes classiques comme celui des K-moyennes, elle offre l'avantage de classer des ensembles de données de structure "non-globulaire" dans un espace de représentation adéquat.
Sommaire
Définition
La classification spectrale est une méthode de partitionnement en K groupes reposant sur la minimisation d'un critère de type "Coupe", soit simple à K=2, soit multiple à K≥2. Ces deux mesures expriment la cohésion interne des groupes, relativement à leur dissociation les uns des autres. Elles sont directement fonctions d'une matrice de similarités entre objets, notée S.
Étant donné un ensemble de N objets, il est possible d'obtenir une représentation détaillée de cet ensemble sous la forme d'un graphe pondéré (cf. théorie des graphes), noté G(V,E,S). V désigne l'ensemble des nœuds du graphe, correspondant aux objets; E est l'ensemble des arcs inter-nœuds et S est la matrice de poids des arcs (matrice de similarités), symétrique et non négative (Sij indiquant la similarité entre les objets xi et xj).
Dans le but de résoudre le problème d'optimisation du critère de Coupe défini précédemment, la classification spectrale s'appuie sur l'utilisation du spectre de la matrice de similarités des données en vue du partitionnement de l'ensemble des objets dans un espace de plus faible dimension. Le problème de classification revient alors à un problème de partitionnement de graphe pour lequel les nœuds d'un même groupe sont similaires et les nœuds appartenant à des groupes différents sont dissimilaires[1].
Les différents types de graphes pondérés
L'objectif de la construction d'un graphe pondéré est de rendre compte (ou de modéliser) les relations de voisinage entre les objets. Il existe alors plusieurs façons de procéder :
- Graphe de voisinage ε : connexion des nœuds pour lesquels la similarité Sij est supérieure à ε,
- Graphe des k plus proches voisins : connexion du ième nœud avec le jème nœud si et seulement si l'objet xj fait partie des k plus proches voisins de l'objet xi.
- Graphe totalement connecté : connexion de tous les nœuds entre eux et pondération des arcs de liaison par la valeur de Sij.
Construction de la matrice de similarités S
Dans la littérature, plusieurs techniques permettent d'obtenir une mesure de similarité entre deux objets. Le choix de la fonction de similarité dépend essentiellement du domaine de provenance des données (par exemple, fouille de documents, fouille de données web, etc.), mais également du type de données (qui peuvent être décrit par des variables numériques, catégorielles, binaires, etc.). Cependant, les deux formules les plus répandues et les plus utilisées sont :
- Noyau Gaussien[2] :
avec d étant une mesure de distance (de type Euclidienne, Manhattan, Minkowski, etc.), et σ, un paramètre d'échelle dont la valeur est fixé par l'utilisateur.
- Distance cosinus[3] :
S = BTB avec B désignant la matrice de données (constituée de N objets décrits chacun par M attributs) normalisée en ligne.
Construction de l'espace spectral
Les algorithmes de classification spectrale utilisent l'information contenue dans les vecteurs propres d'une matrice Laplacienne (construite à partir de la matrice de similarités S) afin de détecter une structure des données. Soit D, la matrice diagonale des degrés (D=diag(D11,...,DNN)) telle que :
représente le degré du ième nœud du graphe G. Il est alors possible de construire la matrice Laplacienne L en utilisant une des nombreuses normalisations présentes dans la littérature :
- Aucune normalisation[4] :
L = S - Normalisation par division[5] :
L = D − 1S - Normalisation par division symétrique[6] :
- Normalisation additive[7] :
(avec dmax désignant le degré maximum de D et I étant la matrice identité). L'étape suivante consiste à extraire les vecteurs propres de la matrice Laplacienne. Il est démontré que l'utilisation des K (nombre de groupes souhaité) premiers vecteurs propres orthogonaux de L (correspondant aux K plus grandes valeurs propres), permet d'obtenir un espace de projection de plus faible dimension (en K dimensions) que l'espace original (en M dimensions). La matrice X est alors construite en stockant ces vecteurs propres (en colonnes) : X = [x1,x2,...,xK].
Partitionnement des données dans l'espace spectral
Le partitionnement des données est alors effectué sur la matrice X. En effet, la première étape consiste à considérer chaque ligne de cette matrice comme représentant un objet dans l'espace spectral (en K dimensions). La seconde étape est alors d'appliquer un algorithme de classification non-supervisée sur cette matrice. Le partitionnement des données en K se résume alors à l'affectation de l'objet original xi au groupe k si et seulement si la ième ligne de X a été affectée au groupe k.
Bien que l'algorithme de partitionnement utilisé le plus souvent dans la littérature soit l'algorithme des K-moyennes, il est tout à fait envisageable d'utiliser n'importe quelle autre méthode non-supervisée afin de classer les différents objets[8],[9].
Applications
- Indexation et recherche par le contenu[4],
- Recherche de documents Web[10],
- Segmentation d'images[5],
- Analyse de marchés,
- Analyse de documents[11],
- Classification non-supervisée.
Notes et références
- « Von Luxburg U., A Tutorial on Spectral Clustering. Statistics and Computing, vol. 17(4), p. 395-416, 2007»
- « Zelnik-Manor L., Perona P., Self-tuning spectral clustering. Advances in Neural Information Processing Systems, vol. 17, p. 1601-1608, 2004»
- « Salton G., Automatic Text Processing: the transformation, analysis and retrieval of information by computer. Addison-Wesley, 1989»
- « Deerwester S., Dumais S., Landauer T., Furnas G., Harshman R., Indexing by latent semantic analysis. Journal of the American Society of Information Science, vol. 41(6), p. 391-407, 1990»
- « Meila M., Shi J., Learning segmentation by random walks. Advances in Neural Information Processing Systems, p. 470-477, 2000»
- « Ng A., Jordan M., Weiss Y., On spectral clustering: Analysis and an algorithm. JProceedings of Advances in Neural Information Processing Systems, p. 849-856, 2002»
- « Kamvar S., Klein D., Manning C., Spectral Learning. 18th International Joint Conference on Artificial Intelligence, p. 561-566, 2003»
- « Lang K., Fixing two weaknesses of the spectral method. Advances in Neural Information Processing Systems, p. 715-722, 2006»
- « Bach F., Jordan M., Learning spectral clustering. Advances in Neural Information Processing Systems, p. 305-312, 2004»
- « Kurucz M., Benczur A., Csalogany K., Lucacs L., Spectral Clustering in Social Networks. Advances in Web Mining and Web usage Analysis, 2009»
- « Brew C., Schulte im Walde S., Spectral clustering for german verbs. Proceedings of EMNLP-2002, 2002»
- Portail des probabilités et des statistiques
- Portail de l'informatique théorique
Wikimedia Foundation. 2010.