我试图理解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>
算法会做什么?它会将新记录归类为正面还是负面?
我搜索了很多,但我没有找到任何有用的东西。
答案 0 :(得分:1)
在学习之后,通过测试算法学习的假设,可以对看不见的例子进行分类。如果示例与多个假设一致,则可以应用多数投票规则。
<disclaimer>
如果没有太多这种学习经验</disclaimer>
,目的是学习一个可能空间的区域,这个区域可以由&#34; general&#34;和&#34;具体&#34;边界,可能具有在它们之间插值的能力。
例如,也许你会考虑<Sunny, ?, ? ,Strong ,?, ?>
一个包含的假设,因为它是&#34;在&#34;之间。 <Sunny, Warm, ?, Strong, ?, ?>
和<Sunny, ?, ? ,? ,?, ?>
。
边界识别的假设空间代表了模型学到的知识。其中的每个假设(例如<Sunny, ?, ? ,Strong ,?, ?>
)将匹配新的数据点。然后由您来决定如何解释所产生的&#34;意见&#34;。显然把它投入&#34;投票&#34;很常见。
总结:
请注意,虽然上述算法适用于通信意图,但它可能对性能有害。特别地,可以一次考虑所包括的假设组。这样做会减少所需的迭代次数。