2010-06-10 3 views
4

Y a-t-il une bonne référence aux algorithmes que les gens utilisent pour la détection d'événements rares? De même, comment le facteur temps est-il pris en compte? Si j'ai un cas où les points de données successifs disent quelque chose (t_1 à t_n), comment peut-on le factoriser dans un scénario d'apprentissage automatique?Détection d'événements rares

Tout pointeur sera apprécié.

+1

Cela dépend de ce que vous voulez dire quand vous parlez d '«événement rare» ... comment la rareté d'un événement est-elle quantifiée dans le domaine de votre problème? – Kiril

+0

Regardez le processus du point marqué pour savoir comment les incréments informatifs peuvent être traités. – Tristan

+0

Une fois en quelques jours, mais les données sont des données minute. Donc, ses quelques 120 minutes en (2-10) * 1440 mins – AlgoMan

Répondre

5

Il peut être utile de décrire davantage votre scénario. Puisque vous essayez de trouver des événements rares, je suppose que vous avez une définition de travail pas rare (pour certains espaces problème c'est vraiment difficile). Par exemple, disons que nous avons un processus qui n'est pas un processus de marche aléatoire comme l'utilisation du processeur pour certains services. Si vous voulez détecter des événements rares, vous pouvez prendre l'utilisation moyenne et ensuite voir plusieurs écarts-types. Les techniques de Statistical Process Control sont utiles ici.

Si nous avons un processus de marche aléatoire tel que le cours des actions (boîte de vers ouverte ... veuillez supposer cela par souci de simplicité). Le mouvement directionnel de t à t + 1 est aléatoire. Un événement aléatoire peut être un certain nombre de mouvements consécutifs dans une seule direction ou un grand mouvement dans une seule direction à un seul pas de temps. Voir Stochastic Calculus pour les concepts sous-jacents.

Si un processus à l'étape t dépend uniquement de l'étape t-1, nous pouvons utiliser Markov Chains pour modéliser le processus.

Voici une courte liste de techniques mathématiques à votre disposition. Maintenant sur l'apprentissage automatique. Pourquoi voulez-vous utiliser l'apprentissage automatique? (Toujours bon à penser pour vous assurer de ne pas trop compliquer le problème) Supposons que vous faites et c'est la bonne solution. L'algorithme que vous utilisez n'est pas très important à ce stade. Ce que vous devez faire est de définir ce qu'est un événement rare. Inversement, vous pouvez définir ce qu'est un événement normal et rechercher des choses qui ne sont pas normales. Notez que ce ne sont pas la même chose. Disons que nous produisons un ensemble d'événements rares r1 ... rn. Chacun de ces événements rares aura certaines fonctionnalités associées. Par exemple, si un ordinateur a échoué, il pourrait y avoir des fonctionnalités comme la dernière fois qu'il a été vu sur un réseau, son statut de port de commutateur, etc ... C'est en fait la partie la plus importante de l'apprentissage machine. Il consiste généralement à étiqueter manuellement un ensemble d'exemples pour former le modèle. Une fois que vous avez une meilleure compréhension de l'espace des caractéristiques, vous pourrez peut-être former un autre modèle à étiqueter pour vous. Répétez ce processus jusqu'à ce que vous soyez satisfait. Maintenant, si vous êtes en mesure de définir votre ensemble d'événements rares, il peut être moins coûteux de générer simplement des heuristiques. Pour détecter des événements rares, j'ai toujours trouvé que cela fonctionne mieux.

+0

D'accord :). Le problème que j'essaie de comprendre est qu'il y a un signal que je peux attraper avant l'apparition de ces événements. Le facteur temps joue donc un rôle ici. Comme il y avait des approches basées sur des règles qui ont été définies auparavant. Mais cela n'apprend pas, quand il y a un changement dans le logiciel/HW, sur lequel il enquête. – AlgoMan

+0

La seule chose à faire est de recycler continuellement le modèle. L'apprentissage automatique fonctionne en regardant le passé, de sorte qu'il suppose que l'avenir ressemblera au passé. Donc, vous pourriez être en mesure de faire quelque chose pour déterminer si un processus n'est pas normal. Cependant, vous ne pourrez probablement pas le classer dans une catégorie spécifique puisque vous ne l'aurez jamais vu auparavant. Envisager la négociation à haute fréquence. Ils ont des modèles qui sont construits pour fonctionner dans la plupart des conditions du marché.Lorsque les conditions du marché ne sont pas normales, ils s'arrêtent car ils ne savent pas si le modèle fonctionnera. –