我正在尝试理解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>这个算法会做什么?它会将新记录归类为正面还是负面?
我搜索了很多,但没有找到任何有用的东西。
发布于 2016-09-15 02:15:10
在学习之后,可以通过测试算法学习到的假设来对未见过的示例进行分类。如果该示例与多个假设一致,则可以应用多数投票规则。
<disclaimer>在没有太多学习</disclaimer>的经验的情况下,其目的是学习可能性空间中的一个区域,该区域可以由“一般”和“特定”边界描述,可能具有在它们之间插值的能力。
例如,您可能会考虑将<Sunny, ?, ? ,Strong ,?, ?>添加到包含的假设中,因为它位于<Sunny, Warm, ?, Strong, ?, ?>和<Sunny, ?, ? ,? ,?, ?>之间。
由边界标识的假设空间表示您的模型所学到的知识。其中的每个假设(比如<Sunny, ?, ? ,Strong ,?, ?>)要么匹配一个新的数据点,要么不匹配。然后由你来决定如何解释由此产生的“意见”。显然,把它放在“投票”上是很常见的。
总结一下:
请注意,虽然上面的算法对于传达意图很好,但它可能会对性能造成负面影响。具体地说,可以一次考虑多组包含的假设。这样做可以减少所需的迭代次数。
https://stackoverflow.com/questions/39496706
复制相似问题