algorithm - 候选淘汰——新数据的分类

标签 algorithm machine-learning

我正在努力理解 version space learning和候选消除算法。 以这些具有以下属性的训练示例为例:

Sky, Temp, Humid, Wind, Water, Forecast, EnjoySport

以及对应的值:

<Sunny, Warm, Normal, Strong, Warm, Same,   Yes>
<Sunny, Warm, High,   Strong, Warm, Same,   Yes>
<Rainy, Cold, High,   Strong, Warm, Change, No>
<Sunny, Warm, High,   Strong, Cool, Change, Yes>

如果我执行候选消除,我发现 S(最具体的假设)和 G(最一般的假设)是:

S: {<Sunny, Warm, ?, Strong, ?, ?>}
G: {<Sunny, ?, ? ,? ,?, ?>, <?, Warm, ?, ?, ?, ?>}

但是,新数据的分类呢?我的意思是,如果我有一个像这样的新数据点会怎样?

<Sunny, Warm, Normal, Strong, Cool, Change>

算法会做什么?它会将新记录分类为正面还是负面?

我搜索了很多,但没有找到任何有用的东西。

最佳答案

来自Wikipedia page :

After learning, classification can be performed on unseen examples by testing the hypothesis learned by the algorithm. If the example is consistent with multiple hypotheses, a majority vote rule can be applied.

<disclaimer>在没有太多经验的情况下进行这种学习</disclaimer> ,目的是学习可以用“一般”和“特定”边界描述的可能性空间区域,或许具有在它们之间进行插值的能力。

例如,您可能会考虑 <Sunny, ?, ? ,Strong ,?, ?>到一个包含的假设,因为它在“之间”<Sunny, Warm, ?, Strong, ?, ?><Sunny, ?, ? ,? ,?, ?> .

由边界确定的假设空间代表您的模型已学习的知识。其中的每个假设(例如 <Sunny, ?, ? ,Strong ,?, ?>)将匹配或不匹配新数据点。然后由您决定如何解释由此产生的“意见”。显然,对它进行“投票”很常见。

总结:

  1. 列举最具体和最一般边界之间的所有假设。
  2. 记录每个假设对新数据点的 react :它是说是还是不是?
  3. 新数据点的“赞成”票多还是“反对”票多?这就是您将新点标记为的内容。

请注意,虽然上述算法有利于传达意图,但可能对性能不利。特别是,一次可以考虑多组包含的假设。这样做会减少所需的迭代次数。

关于algorithm - 候选淘汰——新数据的分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496706/

相关文章:

c# - 查找总和为指定目标数的所有数字(整数分区)

java - 将 "<"或 ">"作为参数传递给比较器

python - predict_proba 或 decision_function 作为估计器 "confidence"

用于 L1 正则化的 Matlabquadprog 参数

python - Tensorflow:张量上的矩阵大小不兼容错误

java - 迷宫递归解决StackOverflow报错

java - 我的 Havel-Hakimi 算法代码有什么问题?

c++ - 递归函数的时间复杂度,其中递归减少了大小

machine-learning - 使用rapidminer中的堆叠模块

python - 如何找出策略迭代的值?