CS231N学习笔记-图像分类

本文介绍了CS231N课程中关于图像分类的内容,包括FirstClassifier(近邻算法)的应用、CIFAR10数据集、L1/L2距离及其在K-NN中的作用。讨论了超参数选择、算法缺陷以及线性分类器的局限性,同时提及了线性分配器在二维和三维空间的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 仅供自己学习记录参考

注:感谢B站up主,同济子豪兄的优质课程

【子豪兄】精讲CS231N斯坦福计算机视觉公开课(2020最新)_哔哩哔哩_bilibili

第二讲 图像分类

概述

目标检测等方向本质是图像分类

image-20211225093610000

一个通道由三个RGB矩阵构成,其中的像素点是[0,255],像素点值是0-2^8

image-20211225094109975

其中目标的图像可能只占一部分,但是也要可以识别:

 图像分类是一个黑盒,不能像计算公式那样明显的推导,不能人工构建特征,需要用大量图片灌输,形成特征

image-20211225094608217

如果手动构建,人类无法详细的描述特征,也不能高效的构建

image-20211225095121460

所以就要用到机器学习的数据驱动方法

        1)准备大量图片和标签

        2)使用数据进行机器训练

        3)评估/测试分类器

image-20211225095217220

First classifier:Nearest Neighbor(近邻算法)

算法思想

看离这个点最近的点是好的还是坏的,离他最近的是好人,这个点就是好人,离他最近的是坏人,他就是坏人,也叫惰性算法,不需要构建算法

image-20211225095750388

一个比较权威的数据集CIFAR 10

L1 distance(曼哈顿距离/第一街区距离):把两个方向的绝对值之差相加

类别边界,就是每个点相对另一个点的垂直平分线

image-20211225100207086

image-20211225100359889

代码实现(python2)及算法问题

问题:训练的时候不需要花时间,预测的时候在进行大量计算,不符合实际要求

image-20211225100830567

算法具象化

image-20211225101304366

K-Nearest Neighbors

算法思想

比较该点周围K个点的好坏,在判断该点。如果这个点的三个或更多个周围点都是好的,那么该点也是好的。反之,该点为坏

image-20211225101703765

L2 distance():所有点到原点的距离

不管连个点怎么变换,距离都是不变的 但是L1就会发生变动

image-20211225102327021

两种距离计算和不同近邻算法的DEMO演示:http://vision.stanford.edu/teaching/cs231n-demos/knn/

怎样选择超参数呢?

两个超参数:K值和distance类型

训练集、验证集、测试集

image-20211225103403248

交叉验证法

用在小数据集上更有效

image-20211225103518116

算法缺陷

下面图片处理以后的L2距离相同,但是这些图片跟原图有较大差别

image-20211225103947506

随着维度的增加,计算量指数级增大

应用

推荐系统(协同过滤模型)

 

image-20211225104602065

Linear Classification(线性分配器)

二维

image-20211225104750184

三维

image-20211225104820246

分类器使用的基本思想

把原图像像素值编程自变量输入函数,可以得到权重W和截距b

image-20211225105118557

image-20211225105321566

使用线性分类器训练出来的图像效果(将提取的特征可视化了)

image-20211225110041173

线性分类效果

太直了,只能用直线分类

image-20211225110518361

很多非直线问题无法解决

image-20211225110732596

tensorflow-playground-demo

https://playground.tensorflow.org/#activation=tanh&regularization=L1&batchSize=10&dataset=xor&regDataset=reg-plane&learningRate=0.03&regularizationRate=0&noise=0&networkShape=4,3,3,3,3&seed=0.93022&showTestData=false&discretize=false&percTrainData=50&x=true&y=true&xTimesY=false&xSquared=false&ySquared=false&cosX=false&sinX=false&cosY=false&sinY=false&collectStats=false&problem=classification&initZero=false&hideText=false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值