《机器学习》中候选消除算法的疑惑

我刚学到这里,被这个问题卡住两天…今天恍然大悟:原来是概念就没弄清楚。反例d:c(x)= 0 反例也属于实例集X一致:h(x) = c(x) = 1 或者 h(x) = c(x) = 0 即假设h能够正确分类(这里即区分正、 反例)一组样例的时候,我们称这个假设是与这些样例一致的。举例说明:第三条样本是反例,即 c(x) = {Rainy,Cold,High,Strong,Warm,Change} = 0此时S中的假设是{\u0026lt;Sunny,Warm,?,Strong,Warm,Same\u0026gt;}将反例{Rainy,Cold,High,Strong,Warm,Change}带入假设h:\u0026lt;Sunny,Warm,?,Strong,Warm,Same\u0026gt;可得h(x) = 0因为h(x) = c(x)所以假设h与反例d是一致的因此不需要移除h不知道我讲清楚了吗
■网友
候选消除实际上是这样的:《机器学习》中候选消除算法的疑惑
【《机器学习》中候选消除算法的疑惑 】
假如无偏学习,那么最开始s之上是空集,而g之上是全集,如果某个条件在s或g对应的线之上,则被s或g判为正例,反之则被判为反例。所有的s之上的都是已经出现过的反例,而新出现的正例会使s下移。而所有g之下的都是已经出现过的正例,而新出现的反例会使s下。移两者之间就是‘变形空间’。这样两者之间是无法通过后面所说的投票分类的,因为‘未见实例会被变形空间中刚好半数的假设划分为正例,而被另一半划分为反例’。现在引入了‘候选消除’算法,那么在每次因新的训练数据使s或g移动时,都会更趋近于中间一些,规则是:以原书上为例,假如有个正例使s线下移,由于有偏学习,这个正例拆分的条件里面假如不能包括之前反例的合取(因为候选消除的假设就是‘真实假设‘的条件要么空,要么是某一特定属性,要么是属性的合取,不存在析取),那么s就会把它“吃下去”。这同g2到g3加6个条件一样,为啥只加了3个呢?就是另外三个条件不能包括已经出现过的正例,也就是不可能作为所有已经出现正例的合取,所以按照预设它们不可能是‘真实假设‘。所以去掉这三个条件就是’有偏学习‘。去掉它们使得g所对应的那条线又向上收紧了一些。那么去掉的这些条件正确吗?不一定,因为这只是假设之前正例没出现过的条件会被g弃掉。假如后来又遇到新的训练数据,正好落在向上收紧的区域,但是一个反例,怎么办呢?那就把g因’有偏学习‘收紧的区域缩小一些,去掉这个反例所对应的情况。因此就需要加上楼主提问的这句话:从s或g中移去所有与d不一致的假设,用于解决假设和后续训练数据冲突的情况。
■网友
这句话中的不一致可以理解为,训练样例h,被包含在极大特殊假设(例子中的S(0)←{\u0026lt;Φ ,Φ ,Φ ,Φ ,Φ ,Φ \u0026gt;} )与S(n)(例子中的S(3)←{\u0026lt;S ,W ,? ,S ,W ,S \u0026gt;} )形成的空间中,但是是一个反例,则删除S(3)中判断h为正值的元素。在例子中若训练样例h为\u0026lt;S ,W ,N ,S ,W ,S\u0026gt;,0,那么修改后的S(4)就因该为 S(4)←{\u0026lt;S ,W ,H ,S ,W ,S \u0026gt;}
■网友
个人认为,这句话是冗余但并非错误,有它无它不影响。因为归纳偏置为合取,那么对于S来说,应该是极小特殊化,不该包含反例。
■网友
令 不一致假设为h,如果不移除h,那么变型空间必定会包含h或比h更一般的假设,而这些假设都会错判某反例,根据变型空间的定义,其中不应该包含这样的假设。


    推荐阅读