机器学习预测分类

时间:2011-07-13 11:25:53

标签: machine-learning classification predict

我有以下问题。我有一个包含一系列数字的训练数据集。每个数字属于某个类。有五个班级。

范围: 1 ... 10

培训数据集: {1,5,6,6,10,2,3,4,1,8,6,...}

类: 并[1,2] [3,4] [5,6] [7,8] [9,10]

是否可以使用机器学习算法来查找类预测的可能性以及适合此类型的算法?

最好,美国

1 个答案:

答案 0 :(得分:3)

如问题评论中所述,I want to calculate the likelihood of a certain class to appear based on the given distribution of the training set
 这个问题很简单,很难用机器学习
只需计算“训练集”中Countd12,Count_34,... Count_910中每个类的出现次数。给定类xy出现的可能性仅由

给出
   P(xy) = Count_xy  / Total Number of elements in the "training set"
         = Count_xy  / (Count_12 + Count_34 + Count_56 + Count_78 + Count_910)

一个更有趣的问题......
...将训练集视为序列并猜测该序列中的下一个项目是什么。然后,下一个项目来自给定类别的概率不仅基于该类别的先验(上面计算的P(xy)),而且还将考虑序列中在其之前的项目。这个问题的一个有趣的部分就是弄清楚如何“远远地”看起来和“重量”给予前面的项目序列。

编辑(现在OP表示他/她对“更有趣的问题”感兴趣)。
这种“预测给定前序”问题几乎直接映射到了 machine-learning-algorithm-for-predicting-order-of-events StackOverflow问题 稍有不同的是,这里的字母表有10个不同的代码(在另一个问题中有4个),而这里我们尝试预测代码的,而不仅仅是代码本身。关于这个聚合,这里,每个类2个代码,我们有几个选项:

  • 从头开始使用,即用类替换序列中读取的每个代码,然后只考虑并跟踪类。
  • 仅使用代码,即创建1到10代码的预测器,并且只考虑最后的类,添加构成类的两个代码的概率,以产生下一个项的可能性属于那个班级。
  • 一些混合解决方案:考虑/使用代码,但有时会聚合到类中。

我个人的选择是首先尝试使用代码预测器(仅在最后聚合),如果从初始尝试中获得的某些洞察力告诉我们逻辑或其性能可以简化,可能会从那里进行调整或者我们会更早地聚合。实际上,可以使用相同的预测器来尝试两种方法,只需要改变输入流,用它前面的奇数替换所有偶数。我猜测,当我们提前聚合时,有价值的信息(用于猜测即将到来的代码)会丢失。