Automeans, ou comment éviter le « k par k » avec K-means

Magazine
Marque
MISC
HS n°
Numéro
18
Mois de parution
novembre 2018
Spécialité(s)


Résumé

Nous voulons (par exemple) classifier un jeu de données très grand, disons quelques millions de données, voire quelques milliards, mais non labellisées. Face au problème, l’algorithme K-means semblait un bon candidat. Il s'agit d'un des grands classiques des algorithmes du Machine Learning qui comporte cependant un défaut : il est nécessaire de lui donner k, le nombre de clusters (c’est ce qu’on appelle un « hyperparamètre »). Quand cette valeur optimale est inconnue, il est coûteux de trouver une bonne approximation, surtout sur un très grand jeu de données. Pour pallier à ce problème, nous avons développé un nouvel algorithme : Automeans, cet algorithme calcule le nombre « optimal » de clusters.


L’utilisation du Machine Learning dans le cadre de la sécurité n’est pas nouvelle, l’article [1] date de 2011. Désormais, ces techniques sont étudiées pour repérer des attaques, détecter des malwares, identifier des familles de malwares, etc. Voir l’article de S. Larinier dans ce hors-série.

Notre étude s’est faite dans le cadre de la classification de malwares. De nombreux travaux ont déjà été effectués dans ce domaine, voir[8] pour des références. Pour notre étude, nous voulons nous placer dans un cadre le plus proche possible d’une étude réelle. Nous nous plaçons donc à large échelle (millions de fichiers) : nous sommes face à un grand ensemble de malwares inconnus et non labellisés.

L'objectif est de faire un prétraitement de ce large ensemble de malwares pour avoir une première partition rapidement sans toutefois négliger la qualité. De cette partition…

La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture