Find-S算法的一个常见缺点是,Find-S返回的假设h可能不是唯一符合数据的h。
现在,我在理解这一点上遇到了一个问题,因为肯定只有一个“最具体”的假设?
例如:给定以下训练数据:

我们将得到以下迭代i:
i0: S={日本,本田,蓝色,1980,经济}(使用示例1)
i1: S={日本,本田,蓝色,?,经济}(使用示例3:跳过示例2,因为它是负的)
i2: s={日本,本田,?,?,经济}(使用示例5:跳过示例4,因为它是负的)
i3: s= {Japan,?,End }(使用示例6)结束(跳过示例7,因为它是负的)
因此,在我看来,除了S= {Japan,?,there }之外,对于这个数据集不可能有任何其他最具体的假设。但很明显,不知何故我肯定错了。有人能解释一下我的假设是不正确的吗?谢谢。
发布于 2013-05-26 01:07:52
这是我自己学的。但据我所知,我想出了和你一样的答案。然而,在您的i1步骤中,您错过了Toyota,这将为您赢得一个?前面的内容如下所示:
S1 = {Japan, Honda, Blue, 1980, Economy}
S2 = {Japan, ?, Blue, ?, Economy}
S3 = {Japan, ?, ?, ?, Economy}
S4 = {Japan, ?, ?, ?, Economy}我从半小时前就开始阅读这篇文章了,但据我所知,Find-S只会给你一个假设,因为你是从specific ==> generalised表单开始的。
但是,如果您使用的是generalised ==> specific表单,那么您最终可能会得到许多示例。我在这里是因为这就是为什么我要找出它是如何工作的。
https://stackoverflow.com/questions/14069269
复制相似问题