我正在理解和学习候选消除过程,以找到假设空间。我对以下示例运行CEl时有些困惑:
我们有一个笼子,两个鸟可以生活在同一个笼子里。每只鸟的描述包括
- 性别(雄性,雌性)
- 颜色(红色,绿色,蓝色)
- 原产地(美国,巴西,俄罗斯,澳大利亚,中国)
经过几次迭代后,我得到了以下S具体假设和G一般假设:
S << 雄性,红色,?>, < 雌性,蓝色,中国>>
G << ?,?,?,?>, < ?,?,?,?>>
现在,如果训练示例是:负例,即不能一起生活 << 雌性,红色,美国>, < 雌性,蓝色,澳大利亚>>
新的G一般假设会是什么?
让我写下我认为可能的答案:
新G
要么是:<< 雄性,?,?>, < ?,?,?>> &&<< ?,?,?>, < ?,?,中国>>
要么是:<< 雄性,?,?>, < ?,?,?>> &&<< ?,?,?>, < ?,?,中国>> &&<< ?,?,?>, < ?,?,俄罗斯>> &&<< ?,?,?>, < ?,?,巴西>> &&<< ?,?,?>, < ?,?,美国>>
我认为第二个是正确的,因为它是一般假设,应该足够一般以包括其余三个国家。
回答:
第二个是错误的,因为根据候选消除算法,对于G的每个最小特化,必须在S中有一个更具体的假设。但你添加了三个特化,而S中的单一假设并不更具体(S要求第二只鸟来自中国,而你添加到G中的最后三个特化要求其他特定的国家)。
第一个版本看起来是正确的。
请注意,这里有一个假设,即假设中两只鸟的顺序是有影响的。