这是什么类型的ML?算法重复从池中选择1个正确的候选者(或无)



我有一组3-5个黑匣子得分功能,可以为候选人分配正面的实际价值得分。

每个人都在排名最高的候选人最高,但他们并不总是同意 - 我想找到如何将分数组合在一起以获得最佳的元评分,以便在一群候选人中,一个具有最高元评分的人通常是实际的正确候选者。

因此它们是普通的R^n矢量,但是每个维度单独的尺寸对于正确的候选者来说往往具有更高的价值。天真的我只能将组件乘以,但我希望有更多的微妙受益。

如果最高分数太低(或者两个最高得分太近),我只是放弃并说"无"。

因此,对于每个试验,我的输入是这些得分向量的一组,输出是哪个向量对应于实际正确的答案或"无"。这有点像技术采访,其中一些可能有不同意见的人采访了一群候选人,但总的来说,每个候选人都更喜欢最好的候选人。我自己的应用程序是客观的最佳候选人。

我想最大化正确的答案并最大程度地减少误报。

更具体地说,我的培训数据看起来像是许多实例

{[0.2,0.45,1.37],[5.9,0.02,2],...} -> i

我是输入集中的ITH候选向量。

因此,我想学习一个倾向于从输入中最大化最佳候选人的得分向量的函数。没有最佳程度。这是二进制对还是错。但是,这似乎不是传统的二进制分类,因为在一组矢量中,最多可能有1个"分类"为正确,其余的都是错误的。

谢谢

您的问题不完全属于机器学习类别。乘法方法可能会更好。您也可以尝试为输出功能尝试不同的统计模型。

ml,更具体地分类,需要培训数据,您的网络可以从中学习数据中的任何现有模式并使用它们将特定类分配给输入向量。

如果您真的想使用分类,那么我认为您的问题可以适合 OneVsall分类的类别。您将需要一个网络(或仅一个输出层),其数量的单元格单元数量等于您的候选人数(每个都代表一个)。请注意,这里的候选人人数将得到固定。

您可以将整个候选向量用作网络所有单元格的输入。可以使用单速编码(即00100)指定输出。3是实际正确的候选人,如果没有正确的候选人输出为00000。

为此,您将需要一个大数据集,其中包含您的候选向量和相应的实际正确候选人。对于此数据,您要么需要一个函数(再次像乘法一样),要么可以自己分配输出,在这种情况下,系统将学习如何对输出给定的不同输入进行分类,并以与您相同的方式对新数据进行分类。这样,它将最大化正确的输出数量,但此处正确的定义将是您对培训数据进行分类的方式。

您还可以使用不同类型的输出类型,其中输出层的每个单元格对应于您的评分功能,而00001表示您选择的第五个评分函数是正确的。这样,您的候选人就不必确定。但同样,您将必须手动为网络设置培训数据的输出以学习。

OneVsall 是一种分类技术,其中输出层中有多个单元格,并且每个类别之间的一个类别与所有其他类别之间都执行二进制分类。最后,分配了最高概率的Sigmoid,静止为零。

您的系统已经了解了如何通过培训数据对数据进行分类,您可以将新数据馈送,它将以相同的方式(即01000等)提供输出。

我希望我的答案能够为您提供帮助。:)

最新更新