Question

Je travaille sur un système de détection de la fraude. Dans ce domaine, de nouvelles fraudes apparaissent régulièrement, de sorte que de nouvelles fonctionnalités doivent être ajoutés au modèle sur une base continue.

Je me demande quelle est la meilleure façon de le gérer (du processus de développement perspective)? Il suffit d'ajouter une nouvelle fonctionnalité dans le vecteur de fonction et re-formation du classificateur semble être une approche naïve, parce que trop de temps sera consacré à réapprendre des caractéristiques anciennes.

Je pense sur le chemin de la formation d'un classificateur pour chaque fonction (ou un couple de fonctionnalités connexes), puis en combinant les résultats de ces classificateurs avec un classificateur global. Y a-t-il des inconvénients de cette approche? Comment puis-je choisir un algorithme pour le classificateur global?

Était-ce utile?

La solution

Dans un monde idéal, vous conservez toutes vos données historiques, et ne courez en effet un nouveau modèle avec la nouvelle fonctionnalité extraite rétroactivement à partir de données historiques. Je dirais que la ressource de calcul passé à ce sujet est tout à fait réellement utile. Est-ce vraiment un problème?

Oui, il est une technique largement acceptée pour construire un ensemble de classificateurs et de combiner leurs résultats. Vous pouvez construire un nouveau modèle en parallèle seulement sur les nouvelles fonctionnalités et en moyenne dans sa prédiction. Cela devrait ajouter de la valeur, mais vous ne serez jamais saisir l'interaction entre les nouveaux et les anciens caractéristiques de cette façon, car ils ne seront jamais apparaissent ensemble dans un classificateur.

Autres conseils

Voici une idée qui vient émergea du bleu - si vous utilisez des aléatoire subspatial échantillonnage (comme en fait Sean Owen déjà suggéré) pour former un tas de nouveaux classificateurs chaque fois qu'une nouvelle affiche de caractéristiques (en utilisant un sous-ensemble de fonctionnalités au hasard, y compris le nouvel ensemble de fonctionnalités). Vous pouvez former ces modèles sur un sous-ensemble d'échantillons et pour gagner du temps de formation.

De cette façon, vous pouvez avoir de nouveaux classificateurs prendre éventuellement sur les deux caractéristiques nouvelles et anciennes, et en même temps garder vos anciens classificateurs. Vous pourriez même, en utilisant peut-être une technique de validation croisée pour mesurer la performance de chaque classificateur, être capable de tuer-off les moins performants ceux après un certain temps, afin d'éviter un modèle pléthorique.

Ce que vous décrivez tombe dans la catégorie de la dérive du concept dans l'apprentissage de la machine. Vous pourriez trouver des idées intéressantes et exploitables dans le présent document résumé et vous trouverez une taxonomie du possible approches ces diapositives .

Licencié sous: CC-BY-SA avec attribution
scroll top