我看了很多遍,终于搞懂了,现在编程试一试,
参考文献(十三)通俗易懂理解——Adaboost算法原理 - 知乎 (zhihu.com)
先写一一段代码,把这个数据集里头的所有分类器找出来:一共四种结果:
第一种:针对x
x<1.5,y=1;else,y=-1,统计下来,一共分错4次
x<2.5,y=1;else,y=-1,统计下来,一共分错3次
x<3.5,y=1;else,y=-1,统计下来,一共分错4次
............统计后,分错次数最少是3次。
第二种:针对x
x>1.5,y=1;else,y=-1,统计下来,一共分错6次
x>2.5,y=1;else,y=-1,统计下来,一共分错7次
x>3.5,y=1;else,y=-1,统计下来,一共分错6次
............统计后,分错次数最少是5次。
第三种:针对y
y>1.5,y=1;else,y=-1,统计下来,一共分错4次
y>2.5,y=1;else,y=-1,统计下来,一共分错4次
y>3.5,y=1;else,y=-1,统计下来,一共分错4次
............统计后,分错次数最少是3次。
第四种:针对y
y<1.5,y=1;else,y=-1,统计下来,一共分错6次
y<2.5,y=1;else,y=-1,统计下来,一共分错6次
y<3.5,y=1;else,y=-1,统计下来,一共分错6次
............统计后,分错次数最少是5次。
分类犯错次数最少的是第一种,和第三种情况,都是3次。
第一种里头,犯错次数最少的两次都是3,对应x<2.5,y=1,else,y=-1
以及x<8.5,y=1;else,y=-1
第三种里头,对应y>6.5,标签为1,else,标签=-1
写到这里发现y应该是标签,上面写错了,没关系!也就是说,我们的分类器遍历完,只找到三个犯错小的:仅为3次,分别是:
1,x<2.5,标签=1,else,标签=-1
2,x<8.5,标签=1;else,标签=-1
3,y>6.5,标签为1,else,标签=-1
看文章,不写程序,是很难理解的,这一节就如此。ok