当前最佳假设搜索
当前最佳假设搜索背后的想法是保持单个假设并在出现新示例时对其进行调整以保持一致性。
假设空间H是学习算法旨在接受的一组假设。学习算法相信一个假设是正确的,即它相信这句话:
h1 V h2 V h3 V.... V hn
可以排除与示例不一致的假设。
与示例不一致有两种可能的方式:
- 假阴性:在这个假设中,例子应该是负面的,但实际上它是正面的。
- 假阳性:在这种类型的假设中,示例应该是肯定的,但实际上它是否定的。
如果示例与假设一致,则不要更改它。如果示例为假阴性,则泛化假设,如果示例为假阳性,则专门化假设。
function CURRENT-BEST-LEARNING(examples) return a hypothesis
H<- any hypothesis consistent with the first example in examples
for each remaining example in examples do
if e is a false positive for H then
H<- choose a specialization of H is consistent with examples
else if e is a false negative for H then
H<- choose a generalization of H is consistent with examples
if no consistent specialization/generalization can be found
then fail
return H
当前的最佳假设学习算法搜索一致的假设,并在没有找到解决方案时回溯算法。
请注意,每次我们考虑推广或专门化假设时,我们必须检查与其他示例的一致性,因为扩展的任意增加或减少可能包括或排除以前看到的负面或正面示例。
泛化和专业化被定义为改变假设的扩展的操作。
当前的最佳假设算法及其变体已在许多学习系统中使用。
缺点:
- 为每次修改重新检查所有先前的实例是非常昂贵的。
- 搜索过程可能涉及大量的回溯。假设空间可以是一个双倍指数大的地方。
假设之间的更一般的比和“更具体的比”关系提供了假设空间的逻辑结构,使有效搜索成为可能。