cs231n-Lecture 2: Image Classification

Image Classification

问题: Semantic Gap(语义鸿沟)(图像由大量的数组成)
挑战:
1.Viewpoint variation(视点变化)
2.Background Clutter(背景杂波)
3.Illumination(亮度)
4.Occlusion(封闭环境)
5.Deformation(变形)
6. Intraclass variation(同组变形)
机器学习:数据驱动的方法
1.获取数据集
2.训练一个分类器
3.在新图像上评价分类器

Nearest Neighbor Classifier

KNN算法核心思想:
1.训练:获取数据集
2.测试:得到测试图像与数据集各个图像的距离矩阵,根据不同的计算方法,得到距离,取前k个距离最近的点,统计出现次数最多的标签(若出现次数相同,则取下标值小的点)。
距离计算方法:
在这里插入图片描述
这两种计算方法适用于不同的情景。
k值的不同也会导致分类结果的不同。
在这里插入图片描述
为了获取良好的超参数,需要对数据集进行处理。
将数据集分为三部分,train,validation,test。
test的使用避免了k = 1,train效果最好的情况,即数据足够多的情况下,k = 1是最好的。
validation则可以确定算法的好坏。
在这里插入图片描述
train和validation可以看做是一部分,在这一部分中采用交叉验证的方法。
在这里插入图片描述
即先用train和validation的数据进行测试,确定最佳k值,之后再用test进行测试,判断超参数的优越性。
用像素距离的KNN算法是从未使用的,原因如下:
1.像素距离矩阵判断失误多
2.多维度计算量大

Linear Classifier

如字面意思,线性分类器的边界一定是线性的,而KNN不一定。
假设有10种类别,线性分类使用函数f(x,W)(W为权重,x为输入数据),得到10种类别对应的分数,根据分数选择最佳类别。
函数体现了线性特征,即f = Wx + b
如图在这里插入图片描述
注意每一种类别都对应着一组权重,如图10种类别,每个类别都有3072个权重。
分析结果如图:
在这里插入图片描述

对于线性分类,有很多难以解决的问题。以二分类为例,以下是二分类无法解决的:
在这里插入图片描述

代码总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值