FPGA视觉从入门到放弃——小波矩与支持向量机刷MNIST

小波矩是FPGA板已有的模块,而深度学习框架下的MNIST的测试准确率可轻松地到99%以上。这里得到的效果不足以超越后者,由于内部影响依然做了该实验。所以,这些时间只够买个教训~ 如下图所示:

这里写图片描述

1. 单分类器

(1) 自定义 数据集

已有方法的分类是每俩类比较1回,这样的分类器针对的数据不完备,修改后准确率大跌。

方法\类别飞机汽车平均
已有方法84.5598.3778.8687.26
未降维86.1898.3784.5589.70
降维91.87100.0094.3195.39
降维集成89.4397.5694.3193.77
提取边缘68.2967.4879.6771.81
(2) MNIST 数据集

这里以数字 1,3,6,8 的小波矩特征为例。其中,横轴为特征的索引,纵轴为具体某个特征值。

这里写图片描述

支持向量机用于2分类问题:假设要识别数字 1 ,那么训练样本中数字1的标签为1,而其余数字的标签为-1。所以正样本数目只有负样本的 19 。对每类数字分类器,训练样本中采样正样本4500个,则采样每个数的负样本500个;测试样本为自带的测试样本。稀疏编码后重建数字 0 ~9的特征。

这里写图片描述

重建后有些特征值波动很小,区分性很小,所以选择方差较大的特征。此处给出归一化后的方差变化较大的3个特征,看起来分类好像有戏的样子(其实重叠的点也不少)~

这里写图片描述

重建后的样本送入采用RBF核的支持向量机得到每个数字的分类器。每个数字的支持向量机可以对自己的类别作二分类判断。

准确率\类别0123456789平均
错误90.2088.6589.6889.9090.1891.0890.4289.7290.2689.9190.00
正确99.1699.3492.0193.8995.2393.8695.5295.8996.1395.2595.63

如果不随机采样,训练时负样本太多会导致支持向量机测试时分类结果全为-1,如同上面错误行的结果。单分类器的正确率一般,与往年1的效果相比,手动设计特征的劣势就体现出来了~

2. 多分类器

假设数字 0 ~9的分类结果同时为 1 ,那么这时输出结果是几?

这就是不同目标的分类器间的集成问题。理想的解决方法应该与集成学习不太一样,因为集成学习主要指多个分类器针对同一目标共同决策的方法。

按照集成学习的思路往下走,每个数字的支持向量机的输出为概率形式,但它并不能够直接使用,需计算其后验概率。已知每个训练样本的后验概率和类别标签(0~9),用多元线性回归拟合。

(1) 自定义 数据集

标签为1对应飞机,说明飞机的训练数据和测试数据的差异较大,或者训练和测试数据的分布差不多,但小波矩提取飞机的特征不明显。

这里写图片描述
这里写图片描述

(2) MNIST 数据集

直接用多元线性回归把后验概率的多类分类问题转换为回归问题。实际上,后验概率的准确度取决于每个分类器的性能。若多分类问题中每个二分类问题划分的难度有差异,也可能影响子分类器的性能,比如测试集中的标签0和1的分类效果明显比其它数字好,但0和1数字分类器会削弱其它数字分类器的影响,而它俩与其它数字的分类一点关系没有。

换句话说,假设这个世界上只有3种职业:厨子,医生和警察。平时厨子烧得一手好菜;警察爱岗敬业功绩满满;但医生比较惨,医闹不断。他们的社会影响力由同1套规则度量。突然有1天新型病毒爆发,领导召集这3个职业的代表开会。最后,医生提出的方案由于社会影响力太小被否决。

这里写图片描述
这里写图片描述

MNIST和自己的训练数据的集成效果一般;MNIST测试数据的集成效果不好(准确率仅64.6%),但自己的数据却可以接受。说明自己的训练和测试数据的区分度没有MNIST大,换句话说,自己数据的模型允许一些过拟合。所以,当幸运地碰到了简单的实际问题,且什么方法都浪得飞起时,还是要经过benchmark的考验来说服自己~ (╬ ̄皿 ̄)凸

另外,不同目标的分类器集成还是要看实际情况。这里的MNIST,若非要用比较弱的小波矩表示特征的话,暂且选择各分类器的后验概率的最大值吧~


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值