计算机视觉之训练分类器

训练策略:
无参模型:KNN(lazy,没有训练过程,可直接用于分类,在knn和k-means上有点迷,k-means是将所有的样本聚类,构建词袋、图像分割、拟合多条直线的时候,用了k-means)
生成模型:naive bayes
判别模型:线性模型和SVM

KNN(k的选择和距离公式选择很重要):
将测试样本与训练集中的样本做距离运算,找到最近的k个样本,记录最多的标注结果。
实际的问题来了,如果把测试样本与所有训练集样本做距离运算,计算量太大了,能不能找到一种方法减少计算量?

解决方案1:Locality Sensitive Hashing
通过构建hash table 可以使得原本距离很近的样本分在同一个bucket,这样在找k个相近的样本时,就只要考虑同一个bucket中的样本,找到k个最近的样本后,记录k个样本类出现的个数,利用投票机制,确定测试样本所属类别。
随机选择多个投影向量,与数据向量做点积得到部分索引值,所有索引号相同的数据项在一个bucket中。由于所选的投影向量是随机的,可能实际相邻的样本hash之后不在同一个bucket中,没有关系,重新选择投影向量相邻数据项就有可能在同一个bucket中。
在这里插入图片描述
解决方案2:K-D 树

朴素贝叶斯:(有了训练集,那么p(y=1) 、 p(x|y=1)的值可根据训练集求出,写到这里对在图像分割利用贝叶斯、MRF理论有了更深的认识,由于没有训练样本,所以利用了吉布斯引入团的概念,求各个像素可能的类别的概率)
p(y=1|x)=p(x|y=1)p(y=1)/p(x)
假设特征无关,根据训练集中相应特征出现的概率乘积来训练分类器。

linear 分类器、SVM思想找到一个判别平面来分离不同类型的数据。

多分类问题:
one vs one:训练集中每两个类生成一个分类器
one vs all :训练集中以一个类为正样本,其余所有样本作为负样本

分类器性能指标:
ROC和AOC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值