|
|
|
|
|
Il n'existe pas de méthode supérieure à toutes les autres
|
|
étape 1 étape 2 étape 3 centre D(2;4) centre D(2;4) centre J(5/3;10/3) centre B(2;2) centre I(27/7;17/7) centre K(24/5;11/5) points groupe groupe groupe A(1;3) B D J B(2;2) B I J C(2;3) B D J D(2;4) D D J E(4;2) B I K F(5;2) B I K G(6;2) B I K H(7;3) B I K
Figure 3.1 : exemple pour l'algorithme des k-moyennes
|
| Algorithme des k-moyennes |
| paramètre : le nombre k de groupes |
| entrée : un échantillon de m enregistrements x1®,... xm® |
| 1. choisir k centres initiaux c1®,... ck® |
| 2. pour chacun des m enregistrements, l'affecter au groupe i dont |
| le centre ci® est le plus proche |
| 3. si aucun élément ne change de groupe alors arrêt et sortir les groupes |
| 4. calculer les nouveaux centres : pour tout i, ci® est la moyenne des |
| éléments du groupe i |
| 5. aller en 2 |
|
|
|
|
À partir de ces données, si on recherche des associations entre deux produits, on construit le tableau de co-occurrence qui montre combien de fois deux produits ont été achetés ensemble :
produit A produit B produit C produit D produit E achat 1 X X achat 2 X X X achat 3 X X achat 4 X X X achat 5 X X
Figure 3.2 : liste des achats
Un tel tableau permet de déterminer avec quelle fréquence deux produits se rencontrent dans un même achat. Par exemple, le produit A apparaît dans 80% des achats, le produit C n'apparaît jamais en même temps que le produit E, les produits A et D apparaissent simultanément dans 40% des achats. Ces observations peuvent suggérer une règle de la forme : << si un client achète le produit A alors il achète le produit D >>.
produit A produit B produit C produit D produit E produit A 4 1 1 2 1 produit B 1 2 1 1 0 produit C 1 1 1 0 0 produit D 2 1 0 3 1 produit E 1 0 0 1 2
Figure 3.3 : tableau de co-occurrence
|
|
| article(s) | A | B | C | A et B | A et C | B et C | A et B et C |
| fréquence | 45% | 42,5% | 40% | 25% | 20% | 15% | 5% |
| règle | confiance |
| si A et B alors C | 0.20 |
| si A et C alors B | 0.25 |
| si B et C alors A | 0.33 |
| règle | confiance | f(résultat) | amélioration |
| si A et B alors C | 0.20 | 40% | 0.50 |
| si A et C alors B | 0.25 | 42.5% | 0.59 |
| si B et C alors A | 0.33 | 45% | 0.74 |
|
| 2 | 3 | 4 | |
| n | n(n-1)/2 | n(n-1)(n-2)/6 | n(n-1)(n-2)(n-3)/24 |
| 100 | 4950 | 161 700 | 3 921 225 |
| 10 000 | » 5 × 107 | » 1.7 × 1011 | » 4.2 × 1014 |
|
|
| Algorithme de classification par k-PPV |
| paramètre : le nombre k de voisins |
| donnée : un échantillon de m enregistrements classés (x®,c(x®)) |
| entrée : un enregistrement y® |
| 1. déterminer les k plus proches enregistrements de y® |
| 2. combiner les classes de ces k exemples en une classe c |
| sortie : la classe de y® est c(y®)=c |
|
Pour définir la fonction de distance, on définit d'abord une distance sur chacun des champs, puis on combine ces distances pour définir la distance globale entre enregistrements. Commençons par étudier les choix possibles selon le type du champ.
|
|
|
|
|
Pour classer un enregistrement, il suffit de descendre dans l'arbre selon les réponses aux différents tests pour l'enregistrement considéré. Soit l'enregistrement x® défini par : nom=Digra, prénom=Omar, age=32, csp=2, MS=2550, prets en cours = oui, autres comptes = oui. Cet enregistrement sera classé Y car MS<=2550 et age > 25 et autres comptes = oui. On peut déjà remarquer quelques propriétés importantes des arbres de décision :![]()
Figure 3.5 : exemple d'arbre de décision ; MS est la moyenne des soldes du compte courant, autres comptes est un champ binaire qui vaut oui si le client dispose d'autres comptes, la classe Y indique un a priori favorable pour l'attribution d'un prêt.
| Si MS > 5000 | alors | Y |
| Si MS <= 5000 et age > 25 et autres comptes=oui | alors | Y |
| Si MS <= 5000 et age > 25 et autres comptes= non | alors | N |
| Si MS <= 5000 et age <= 25 | alors | N |
|
| Algorithme d'apprentissage par arbres de décision |
| donnée : un échantillon S de m enregistrements classés (x®,c(x®)) |
| initialisation : arbre vide ; noeud courant : racine ; échantillon courant : S |
| répéter |
| décider si le noeud courant est terminal |
| si le noeud courant est terminal alors |
| étiqueter le noeud courant par une feuille |
| sinon |
| sélectionner un test et créer le sous-arbre |
| finsi |
| noeud courant : un noeud non encore étudié |
| échantillon courant : échantillon atteignant le noeud courant |
| jusque production d'un arbre de décision |
| élaguer l'arbre de décision obtenu |
| sortie : arbre de décision élagué |
| (60,40) | ® | A (30,10) (30,5) (0,25) |
| (60,40) | ® | B (40,20) (20,20) |
|
|
|
|
|
|
|
|
Pour le neurone biologique, lorsque l'activité en entrée dépasse un certain seuil, sa sortie est activée. Pour le neurone formel, une fonction de transfert H est appliquée à l'activité d'entrée. Cette fonction doit être telle que sa valeur de sortie soit 1 lorsque l'activité est suffisante et 0 sinon (parfois -1). Un premier choix possible est la fonction de Heaviside définie par H(x) =1 si x>0 et H(x)=0 sinon. Cette fonction n'est pas dérivable et les algorithmes utilisant des méthodes de gradient, on utilise plus souvent des approximations dérivables de cette fonction. Parmi elles, la fonction la plus utilisée est la fonction sigmoïde définie par :
|
La première couche est la couche d'entrée : aucun calcul n'est effectué, une cellule d'entrée ne fait que copier son entrée vers sa sortie. Les entrées correspondent aux attributs (ou leurs codages) du problème considéré. Ensuite, viennent une ou plusieurs couches cachées constituées de neurones élémentaires. Tous les neurones d'une couche sont les entrées de chaque neurone de la couche suivante et de elle seulement : autrement dit, il n'y a pas de retour arrière et on passe d'une couche à la suivante. Enfin, la dernière couche est la couche de sortie qui contient un ou plusieurs neurones. Les sorties de ces neurones correspondent aux valeurs à estimer (ou leurs codages) pour le problème considéré.![]()
Figure 3.8 : Un perceptron multicouches : une couche d'entrée de 5 cellules, 2 couches cachées possédant respectivement 3 et 2 neurones, 1 couche de sortie à 1 neurone
|
paramètre parameter objet du paramètre fonction d'activation activation function fonction d'activation pour le neurone élémentaire, souvent la sigmoïde nombre d'exemples epoch length nombre d'exemples avant mise à jour des poids, par défaut 1 taux d'apprentissage learn rate coefficient qui contrôle la vitesse de modification des poids inertie momentum coefficient qui permet de lisser la variation des poids tolérance error tolerance ; target error seuil d'erreur pour arrêt de l'apprentissage
Table 3.1 : paramètres d'apprentissage pour la rétropropagation
|
Si on souhaite avoir un réseau de neurones ayant un bon pouvoir de généralisation, il faut choisir une architecture assez riche, mais pas trop ! En effet, on rencontre ici la même difficulté que pour les arbres de décision, il faut éviter la sur-spécialisation et si l'architecture est trop riche, on prend le risque d'un apprentissage << par coeur >>, sans pouvoir de généralisation. Le choix de l'architecture est fait, soit par l'expérience, soit par des essais successifs.
|