Question

Je travaille sur une application web qui sera utilisé pour classer les photos d'automobiles. Les utilisateurs seront présentés avec des photos de divers véhicules, et seront invités à répondre à une série de questions sur ce qu'ils voient. Les résultats seront enregistrés dans une base de données, en moyenne, et affiché.

Je suis à la recherche d'algorithmes pour me aider à identifier les utilisateurs qui souvent ne votent pas avec le groupe, ce qui indique qu'ils sont probablement soit ne pas prêter attention aux photos, ou qu'ils se trouvant sur ce qu'ils voient. Je veux donc d'exclure ces utilisateurs, et recalculer les résultats, tels que je peux dire, avec une quantité connue de confiance, que cette photo particulière montre un véhicule qui est ceci et cela.

Cette question va à tous les gars de l'informatique, où trouver ces algorithmes ou pour me donner l'arrière-plan théorique pour concevoir de tels algorithmes. Je suppose que je vais devoir apprendre une certaine probabilité et statics, peut-être une exploration de données. Certaines recommandations du livre serait génial. Merci!

P.S. Ce sont des questions à choix multiples.

Tous ces éléments sont de bonnes suggestions. Je vous remercie! Je souhaite qu'il y avait un moyen de débordement de pile pour sélectionner plusieurs réponses si plus vous pourriez être reconnu pour vos contributions !!

Était-ce utile?

La solution

Je crois que ce que vous avez décrit est résolu en utilisant détection des valeurs aberrantes / anomalie . Plusieurs techniques existent:

  • méthodes basées statistiques
  • méthodes basées sur la distance
  • méthodes basées sur des modèles

Je vous suggère de jeter un oeil à ces diapositives de l'excellent livre introduction à Data Mining

Autres conseils

Les éléments d'apprentissage statistique , il est un grand recueil de données sur l'exploitation minière.

Vous pouvez être intéressé en particulier dans les algorithmes non supervisés, par exemple le regroupement. En supposant que la plupart des gens ne mentent pas, le plus grand groupe est juste et le reste est faux. personnes Mark en conséquence, puis appliquer quelques statistiques bayésiens et vous faire.

Bien sûr, la plupart des données technologies minières sont assez experimentative, ne comptez pas sur ce qu'ils seront toujours raison ... ou même dans la plupart des cas.

Si vous savez ce que vous attendez les réponses sont pourquoi vous demandez aux gens de voter? En excluant certaines valeurs que vous tournez essentiellement le vote dans quelque chose que souhaitez. Automobiles font une impression différente à différentes personnes. Si 100 ppl aimé une voiture alors quand quelqu'un vient et dit qu'il / elle ne l'aime pas, vous excluez le vote?

Mais de toute façon, étant donné que vous voulez toujours faire, tout d'abord vous aurez besoin d'un grand ensemble de données o « confiance » des électeurs. Cela vous donnera une idée de réponse « bonne » et de ce point vous pouvez choisir le seuil d'exclure.

Sans un ensemble initial de données que vous ne pouvez pas appliquer un algorithme parce que vous obtiendrez des résultats faux. Considérez juste un vote de 100 à partir sur une échelle de 0 à 100. Le second vote est « 1 » Le vous excluront ce vote parce est trop loin de la moyenne.

Je pense qu'un algorithme assez simple pourrait accomplir cela pour vous. Vous pouvez essayer d'obtenir colombophile en calculant les écarts-types et autres, mais je ne voudrais pas déranger.

Voici une approche simple qui devrait être suffisant:

Pour chacun de vos utilisateurs, calculer le nombre de questions auxquelles ils ont répondu et le nombre de fois ils ont choisi la réponse la plus populaire pour la question. Les utilisateurs qui ont le plus faible ratio de choisir la réponse populaire par rapport à des réponses au total, vous pouvez deviner fournissent des données fausses.

Vous ne voudriez probablement pas jeter les données des utilisateurs où ils ont seulement répondu à un petit nombre de questions parce qu'ils ont probablement simplement en désaccord sur quelques-unes par rapport mettant en fausses données.

Quel genre de questions sont-elles (Oui / Non ou 1 à 10?).

Vous pourrez peut-être se contenter de ne pas jeter quoi que ce soit en utilisant une moyenne au lieu d'une moyenne. Avec des moyennes s'il y a des valeurs aberrantes dans la réponse qu'elle pourrait avoir une incidence sur la moyenne, mais si vous utilisez médiane vous pouvez obtenir une meilleure réponse. Ainsi, par exemple si vous aviez 5 réponses, de les commander et choisir celui du milieu.

Je pense que ce que vous dites que vous craignez que certaines personnes sont des « valeurs aberrantes », et ils ajoutent du bruit à vos données, ce qui rend les catégorisations moins fiables. Donc, si vous avez une Chevrolet Camaro, et la plupart des gens disent qu'il est soit une voiture de poney, une voiture de muscle, ou une voiture de sport, mais vous avez une goofball qui dit que c'est une berline familiale, vous voulez minimiser l'impact de son vote.

Une chose que vous pouvez faire est de fournir un score de réputation comme Stack Overflow pour les utilisateurs:

  • Plus un utilisateur est « en accord » avec d'autres utilisateurs, mieux son score serait. Pour un utilisateur donné (Utilisateur X), cela pourrait être déterminée par un calcul simple de ce pourcentage d'utilisateurs qui ont répondu à une question a choisi la même catégorie que l'utilisateur X, puis une moyenne de cette valeur sur toutes les questions répondues.
  • Vous pouvez multiplier cette valeur par le nombre total de question a répondu à encourager les gens à répondre à autant de questions que possible. (. Remarque: si vous choisissez de le faire, il serait équivalent à la somme que les scores de l'accord de pourcentage plutôt que de les en moyenne)
  • Vous pouvez présenter le score de réputation finale aux utilisateurs, en veillant à expliquer qu'ils seront récompensés pour la façon dont leurs réponses concordent avec celles d'autres utilisateurs. Cela encouragera les gens à répondre à d'autres questions, mais aussi de prendre soin de leurs réponses.
  • Enfin, vous pouvez calculer un score de certitude pour une catégorisation donnée en additionnant le score total de la réputation de toutes les personnes qui ont choisi une catégorie donnée.

Certaines de ces idées peuvent avoir besoin d'un certain raffinement, d'autant plus que je ne connais pas votre situation exacte. Certes, si les gens peuvent voir ce que les autres ont choisi avant ils votent, il serait trop facile de jouer avec le système.

Si vous deviez récolter des voix comme « sur une échelle de 1 à 10, comment évaluez-vous cette voiture », vous pouvez probablement utiliser moyenne simple et écart-type: plus l'écart-type, plus unanime, le consensus général est parmi vos électeurs, et vous pouvez les utilisateurs de drapeau qui sont par exemple 3 développeurs standard de la moyenne.

Pour le choix multiple, vous devez être plus prudent. mettre au rebut, tous, mais l'option la plus voté ne fera que les électeurs contrarier. Vous devez établir une mesure de la façon dont le gagnant est important w.r.t. les autres options, par exemple les utilisateurs de drapeau qui ont voté pour les options avec moins de 1/3 des options gagnantes comptent.

Notez que je l'ai écrit "les utilisateurs de drapeau", pas jeter votes. Si vous vous défaussez votes, vous ne pouvez pas dire à quel point êtes-vous confiant sur le résultat ( « 91% ont voté ce être une Ford Mustang »). Si un utilisateur a plus d'un certain pourcentage de ses voix battant pavillon -. Eh bien, c'est à vous

Votre problème le plus délicat, cependant, sera probablement de recueillir suffisamment de voix. En fonction de la facilité le problème à choix multiples est, vous avez probablement plusieurs fois le nombre d'options comme un vote, par photo. Sinon, les statistiques sont vides de sens.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top