2009-11-01 48 views
5

我正在研究一个将用于分类汽车照片的Web应用程序。用户将看到各种车辆的照片,并会被要求回答关于他们看到的一系列问题。结果将被记录到数据库中,取平均值并显示。算法评估用户响应

我正在寻找算法来帮助我识别经常不与该群组投票的用户,这表明他们可能不注意照片,或者他们在说谎他们看到的东西。然后,我想排除这些用户,并重新计算结果,以便我可以用已知的信心说,这张特定的照片显示的是这样一种车辆。

这个问题出现在所有你的计算机科学家,在哪里可以找到这样的算法,或给自己设计这样的算法的理论背景。我假设我将不得不学习一些概率和静态,也许一些数据挖掘。一些书的建议会很好。谢谢!

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

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

+0

问题是开放式还是多项选择?他们是主观的还是客观的,通常只有一个正确答案? – 2009-11-01 19:55:45

+0

他们是多项选择问题 – Ralph 2009-11-01 20:03:12

回答

0

如果你知道什么答案你期待你为什么要人们投票?通过排除一些值,您基本上可以在之类的东西中投票。汽车给不同的人以不同的印象。如果100ppl爱一辆车,那么当有人来到并说他/她不喜欢它时,你排除了投票?

但无论如何,考虑到你仍然想这样做,首先你需要从“值得信赖”的选民那里收集大量数据。这会给你一个“好”的答案,从这个角度你可以选择排除阈值。

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

+1

从我所了解的情况来看,这更多是** outiler检测**问题。 – Amro 2009-11-01 20:05:59

0

我认为一个非常简单的算法可以为你做到这一点。你可以尝试通过计算标准偏差等来获得更多的信息,但我不会打扰。

这里有一个简单的办法,应该是足够了:

对于每一个用户来说,他们计算选择的问题最普遍的回答,他们回答问题的数量和次数。选择最受欢迎答案的比例与可以猜测的总答案的比例最低的用户提供虚假数据。

您可能不希望丢弃用户的数据,他们只回答了少数问题,因为他们可能只对少数几个人提出异议而不愿意提供虚假数据。

0

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

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

+2

平均值是一个平均值。你的意思是说“中位数而不是平均数”? – erickson 2009-11-01 20:15:07

+0

@erickson,是的,我的意思是中位数,对不起,谢谢你的更正 – Jeremy 2009-11-02 00:22:03

3

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

您可能特别关注无监督算法,例如聚类。假设大多数人不撒谎,最大的集群是正确的,其余是错误的。相应标记人员,然后应用一些贝叶斯统计数据,您就完成了。

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

0

我认为你所说的是你担心某些人是“异常值”,并且他们正在给你的数据增加噪音,使分类变得不那么可靠。所以,如果你有一辆雪佛兰卡玛洛,而大多数人都说它是一辆小马车,一辆肌肉车或一辆跑车,但是你有一些说它是家庭轿车的故事,你会想尽量减少他的影响投票。

有一两件事你可以做的是提供一个堆栈溢出类似信誉得分的用户:

  • 越多,用户是“同意”与其他用户,更好的他或她的得分会。对于给定的用户(用户X),这可以通过简单计算回答问题的用户的百分比选择与用户X相同的类别,然后在回答的所有问题上平均该值来确定。
  • 您可能希望将此值乘以回答的问题总数,以鼓励人们回答尽可能多的问题。 (注意:如果您选择这样做,这相当于只是将百分比协议分数相加,而不是平均分)。
  • 您可以向用户展示最终信誉分数,确保解释他们将获得奖励他们的反应与其他用户的反应是否一致。这将鼓励人们回答更多的问题,但也要照顾他们的答案。
  • 最后,您可以计算给定分类的确定性分数,方法是将选择给定类别的所有人的总声誉分数相加。

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

+0

谢谢@DanThMan! – Ralph 2009-11-01 21:29:12

0

如果你要收集“从1到10的分数,你如何评价这辆车”的投票,你可能会使用简单的平均值和标准偏差:标准差越小,您的选民之间的一般共识越一致,您可以标记例如平均3个标准开发者。

对于多项选择,您需要更加小心。只是抛弃除最受赞成的选择之外的所有选择,都不会做任何事情,只会对选民产生不满。你需要建立一个衡量赢家有多重要的衡量标准w.r.t.其他选项,例如标志用户投票选择少于1/3的获胜选项。

请注意,我写了“国旗用户”,不是弃票。如果你放弃选票,你不能说出你对结果的自信程度(“91%投票认为这是一辆福特野马”)。如果用户的投票数超过一定比例 - 嗯,这取决于您。

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