FIND-S算法可能是最简单的机器学习算法之一。但是,我找不到很多例子。只是标准的“晴天,下雨,玩球”的例子总是用于机器学习。请有人帮我这个应用程序(它是机器学习中的过去的考试问题)。
假设的格式为a <= x <= b
,c <= y <= d
,其中x
和y
是x,y
平面中的点,c
和{{ 1}}是任何整数。基本上,这些假设定义了d
空间中的矩形。
这些是培训示例,其中x,y
是一个反面示例,-
是一个正面示例,而对是+
坐标:
x,y
我想做的就是将FIND-S应用到这个例子中!一定很简单!一些提示或解决方案都会很棒。
谢谢。
答案 0 :(得分:50)
Find-S寻求适用于所有正面例子的最具限制性(即最具特定性)的假设(否定被否定)。
在您的情况下,有一个明显的图形解释:“找到包含所有'+'坐标的最小矩形”......
... a = 4,b = 6,c = 3,d = 5.
执行此操作的算法将是这样的:
Define a hypothesis rectangle h[a,b,c,d], and initialise it to [-,-,-,-]
for each + example e {
if e is not within h {
enlarge h to be just big enough to hold e (and all previous e's)
} else { do nothing: h already contains e }
}
如果我们通过您的训练集逐步完成此操作,我们会得到:
0. h = [-,-,-,-] // initial value
1. h = [4,4,4,4] // (4,4) is not in h: change h so it just contains (4,4)
2. h = [4,5,3,4] // (5,3) is not in h, so enlarge h to fit (4,4) and (5,3)
3. h = [4,6,3,5] // (6,5) is not in h, so enlarge again
4. // no more positive examples left, so we're done.