用于评估用户响应的算法

时间:2009-11-01 19:46:47

标签: algorithm statistics probability data-mining

我正在开发一个用于分类汽车照片的网络应用程序。将向用户呈现各种车辆的照片,并且将被要求回答关于他们所看到的一系列问题。结果将记录到数据库中,平均并显示。

我正在寻找算法来帮助我识别经常不与群组投票的用户,这表明他们可能要么不关注照片,要么他们对他们所看到的内容撒谎。然后,我想要排除这些用户,并重新计算结果,这样我可以用已知的信心说,这张特定的照片显示的是这样的车辆。

这个问题适用于所有计算机科学人员,在哪里可以找到这样的算法,或者给自己设计这样的算法的理论背景。我假设我将不得不学习一些概率和静力学,也许是一些数据挖掘。一些书籍建议会很棒。谢谢!

P.S。这些是多项选择题。

所有这些都是很好的建议。谢谢!我希望堆栈溢出有一种方法可以选择多个正确的答案,这样你就可以更多地认可你的贡献!!

7 个答案:

答案 0 :(得分:3)

阅读The Elements of Statistical Learning,这是关于数据挖掘的一个很好的纲要。

您可能会对无监督算法感兴趣,例如群集。假设大多数人不撒谎,最大的集群是正确的,其余的是错误的。相应地标记人,然后应用一些贝叶斯统计数据,你就完成了。

当然,大多数数据挖掘技术都是非常具有实验性的,所以不要指望它们永远是正确的......甚至在大多数情况下都是如此。

答案 1 :(得分:2)

我相信您所描述的内容是使用outlier/anomaly detection解决的。 存在许多技术:

  • 基于统计的方法
  • 基于距离的方法
  • 基于模型的方法

我建议您从优秀的书slides

中查看这些Introduction to Data Mining

答案 2 :(得分:0)

如果您知道您期望的答案,为什么要让人们投票?通过排除某些值,您基本上可以选择之类的投票。汽车给不同的人留下不同的印象。如果100个人喜欢一辆车,那么当有人来并说他/她不喜欢它时,你会排除投票吗?

但无论如何,考虑到你仍然想要这样做,首先你需要来自“可信赖”选民的大量数据。这将让您了解“好”答案,从这一点开始,您可以选择排除阈值。

如果没有初始数据集,则无法应用任何算法,因为您会得到错误的结果。从0到100的比例中只考虑一次100投票。第二次投票是“1”您将排除此投票,因为它与平均值相差太远。

答案 3 :(得分:0)

我认为一个非常简单的算法可以为您完成此任务。你可以尝试通过计算标准偏差来获得更好的,但我不会打扰。

这是一个应该足够的简单方法:

对于每个用户,计算他们回答的问题数量以及他们为问题选择最常用答案的次数。选择流行答案与您可以猜到的总答案的比率最低的用户正在提供虚假数据。

你可能不想丢弃那些他们只回答了少量问题的用户的数据,因为他们可能只是对一些人提出了不同意见而不是伪造数据。

答案 4 :(得分:0)

他们是什么类型的问题(是/否,或1到10?)。

你可以通过使用平均值而不是平均值来避免丢弃任何东西。如果平均值如果响应中存在极端异常值,则可能会影响平均值,但如果使用中位数,则可能会得到更好的答案。例如,如果您有5个答案,请订购它们并选择中间答案。

答案 5 :(得分:0)

我认为你所说的是你担心某些人是“异常值”,他们会给你的数据增加噪音,使分类不太可靠。所以,如果你有雪佛兰Camaro,并且大多数人说它是小马车,肌肉车或跑车,但你有一些傻瓜说它是家庭轿车,你会希望尽量减少他的影响投票。

您可以做的一件事是为用户提供类似Stack Overflow的信誉评分:

  • 用户与其他用户“达成协议”的次数越多,他或她的分数就越高。对于给定用户(用户X),可以通过简单计算回答问题的用户选择与用户X相同的类别的百分比来确定,然后对所有回答的问题平均该值。
  • 您可能希望将此值乘以回答的问题总数,以鼓励人们尽可能多地回答问题。 (注意:如果你选择这样做,那就相当于只是将百分比协议分数相加而不是平均它们。)
  • 您可以向用户提供最终的声誉分数,并确保解释他们的回复与其他用户的回复一致的回报。这将鼓励人们回答更多问题,同时也要注意他们的答案。
  • 最后,您可以通过将选择给定类别的所有人的总信誉分数相加来计算给定分类的确定性分数。

其中一些想法可能需要一些改进,特别是因为我不知道你的具体情况。当然,如果人们可以看到其他人在投票之前选择了,那么对系统进行游戏就太容易了。

答案 6 :(得分:0)

如果你要收集“从1到10的等级,你会如何评价这辆车”的投票,你可能会使用简单的平均值和标准差:标准偏差越小,一般的共识就越一致在你的选民中,你可以标记例如用户3个标准开发人员的平均值。

对于多项选择,您需要更加小心。除了投票最多的选择之外,简单地抛弃除了选民之外什么都不会做。你需要建立一个衡量胜利者的重要程度的标准。其他选择,例如标记用户的投票选项少于获胜选项的1/3。

请注意,我写了“标记用户”,放弃投票。如果你放弃投票,你无法分辨你对结果有多自信(“91%投票认为这是福特野马”)。如果用户有超过一定比例的投票标记 - 那么,这取决于你。

然而,你最棘手的问题可能是收集足够的票数。根据多项选择问题的容易程度,每张照片可能需要几倍的选项数作为投票。否则统计数据毫无意义。