学习adaboost(一,遍历分类器,c#实现)

我看了很多遍,终于搞懂了,现在编程试一试,
参考文献(十三)通俗易懂理解——Adaboost算法原理 - 知乎 (zhihu.com)

学习adaboost(一,遍历分类器,c#实现)_第1张图片

先写一一段代码,把这个数据集里头的所有分类器找出来:一共四种结果:

第一种:针对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次。

学习adaboost(一,遍历分类器,c#实现)_第2张图片

第二种:针对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次。

学习adaboost(一,遍历分类器,c#实现)_第3张图片

第三种:针对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次。

学习adaboost(一,遍历分类器,c#实现)_第4张图片

第四种:针对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次。

学习adaboost(一,遍历分类器,c#实现)_第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

 

 

 

你可能感兴趣的:(学习,算法,计算机视觉)