Find-S算法常见的缺点之一是Find-S返回的假设h可能不是唯一适合数据的假设。
现在,我对此有一个问题,因为肯定只有一个“最具体”的假设?
例如: 鉴于以下培训数据:
我们将得到以下迭代:
i0:S = {Japan,Honda,Blue,1980,Economy}(使用示例1)
i1:S = {日本,本田,蓝色,?,经济}(使用示例3:跳过示例2,因为它是否定的)
i2:S = {日本,本田,?,?,经济}(使用示例5:跳过示例4,因为它是否定的)
i3:S = {日本,?,?,?,经济}(使用示例6) 结束(跳过示例7,因为它是否定的)
所以,就我看来,除了S = {Japan,?,?,?,Economy}之外,对于这个数据集不能有任何其他最具体的假设。但显然我一定是错的。 有人可以解释我的假设是不正确的吗?感谢。
答案 0 :(得分:1)
我自己也在学习。但据我所知,我想出了和你一样的答案。但是,在您的i1
步骤中,您错过了Toyota
哪个会获得一个?早些时候如下:
S1 = {Japan, Honda, Blue, 1980, Economy}
S2 = {Japan, ?, Blue, ?, Economy}
S3 = {Japan, ?, ?, ?, Economy}
S4 = {Japan, ?, ?, ?, Economy}
我真的刚刚开始阅读这个半小时前,但据我所知,Find-S只会给你一个假设,因为你是从specific ==> generalised
形式开始的。
如果您使用的是generalised ==> specific
表单,那么最终可能会有很多示例。我在这里是因为这就是我试图找出它是如何工作的原因。