0Pricing
Learn AI with Python · Leçon

Théorie des graphes pour l’apprentissage automatique

Nœuds, arêtes, matrice d’adjacence, types de graphes, caractéristiques des graphes, représentations des réseaux sociaux.

Théorie des graphes pour l’apprentissage automatique est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Qu’est-ce qu’un graphe

Un graphe modélise des entités et les relations entre elles. Formellement, un graphe est G = (V, E), où V est l’ensemble des sommets (nœuds) et E est l’ensemble des arêtes reliant des paires de nœuds. De nombreux systèmes réels sont naturellement représentés par des graphes.

Nœuds et arêtes

Chaque nœud représente une entité (un utilisateur, un atome, une page web). Chaque arête représente une relation (une amitié, une liaison chimique, un hyperlien). L’apprentissage automatique sur les graphes exploite cette structure de connexions, et pas seulement des échantillons isolés.

La matrice d’adjacence

La matrice d’adjacence A indique quels nœuds sont connectés. Pour n nœuds, A est de taille n par n ; A[i][j] = 1 si une arête relie le nœud i au nœud j, et 0 sinon.

import numpy as np

# Triangle: 0-1, 1-2, 0-2
A = np.array([
    [0, 1, 1],
    [1, 0, 1],
    [1, 1, 0],
])

Caractéristiques des nœuds X

Au-delà de la structure, chaque nœud possède généralement un vecteur de caractéristiques. Empilés les uns avec les autres, ces vecteurs forment la matrice de caractéristiques X, de forme (num_nodes, num_features). Dans un graphe social, une ligne peut contenir l’âge d’un utilisateur, le nombre de publications et l’ancienneté du compte.

X = np.array([
    [25, 120, 3.0],   # node 0
    [31,  45, 5.5],   # node 1
    [22, 300, 1.2],   # node 2
])

Matrice des degrés

Le degré d’un nœud correspond à son nombre d’arêtes. La matrice des degrés D est diagonale, et chaque élément diagonal est égal au degré du nœud correspondant. Elle constitue la base du laplacien du graphe.

D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighbors

Le laplacien du graphe

Le laplacien du graphe est défini par L = D - A. Il représente les différences de valeurs entre des nœuds connectés et joue un rôle fondamental dans la théorie spectrale des graphes ainsi que dans de nombreuses formulations des GNN.

L = D - A
print(L)

Pourquoi le laplacien est important

Les valeurs propres et les vecteurs propres du laplacien révèlent la structure globale : la connectivité, les groupes et la régularité. Les convolutions sur les graphes sont souvent dérivées du laplacien. Comprendre L = D - A est donc essentiel pour comprendre les GNN.

Orienté ou non orienté

Dans un graphe non orienté, une arête n’a pas de direction (comme une amitié), donc A est symétrique. Dans un graphe orienté, les arêtes pointent dans une seule direction (comme un abonnement ou une citation), donc A peut être asymétrique : A[i][j] peut différer de A[j][i].

# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
    [0, 1, 0],
    [0, 0, 1],
    [0, 0, 0],
])

Graphes pondérés

Les arêtes peuvent porter des poids représentant une intensité ou une distance. Les éléments de la matrice d’adjacence sont alors des nombres réels, et non plus seulement 0 ou 1. Dans un réseau routier, les arêtes peuvent être pondérées par la durée du trajet ; dans un graphe de similarité, par la similarité cosinus.

Représenter efficacement les arêtes

Pour les graphes creux de grande taille, la matrice d’adjacence gaspille de la mémoire, car la plupart de ses éléments sont nuls. Les frameworks d’apprentissage automatique stockent plutôt les arêtes sous forme de liste d’arêtes (format COO) : deux tableaux indiquant la source et la cible de chaque arête. PyTorch Geometric appelle cette structure edge_index.

# Triangle edges as edge_index [2, num_edges]
edge_index = [
    [0, 0, 1],   # sources
    [1, 2, 2],   # targets
]

Applications de l’apprentissage automatique sur les graphes

Les graphes sont présents partout :

  • Social : recommandation d’amis, détection de communautés
  • Moléculaire : prédiction des propriétés des molécules (atomes = nœuds, liaisons = arêtes)
  • Graphes de connaissances : prédiction de liens entre entités et relations
  • Web et citations : classement et classification

Vérification rapide

Vérifiez vos connaissances en théorie des graphes.

Récapitulatif

Vous avez appris les fondements de la théorie des graphes pour l’apprentissage automatique :

  • Un graphe est G = (V, E), composé de nœuds et d’arêtes
  • La matrice d’adjacence A encode la connectivité ; X contient les caractéristiques des nœuds
  • Le laplacien du graphe est L = D - A
  • Les graphes peuvent être orientés ou non orientés, pondérés ou non pondérés
  • Les applications couvrent les graphes sociaux, moléculaires et de connaissances

Questions Fréquemment Posées

La leçon « Théorie des graphes pour l’apprentissage automatique » est-elle gratuite ?

Oui — le texte complet de « Théorie des graphes pour l’apprentissage automatique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Théorie des graphes pour l’apprentissage automatique » ?

Nœuds, arêtes, matrice d’adjacence, types de graphes, caractéristiques des graphes, représentations des réseaux sociaux. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Théorie des graphes pour l’apprentissage automatique » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Théorie des graphes pour l’apprentissage automatique
  2. Réseaux convolutifs de graphes (GCN)
  3. Classification de nœuds avec les GNN
  4. Prédiction de liens et classification de graphes
← Retour à Learn AI with Python