cs231n计算机课程,CS231N-课程简介与图像分类(示例代码)

CS231N-课程简介与图像分类

计算机视觉

1.计算机视觉历史背景和概述

77a5c971d4aecdbf7b5a5ca1494a9934.png

enter description here

这是很有趣的,开始是原始图像的二值化这种,然后经历了一个2.5d,伪3d,最后达到我们日常见到的3d图像。有人最初 将输入图像作为 一些圆柱体,有些作为圈,线条处理。还有用了adaboost目标检测。还说明图片的识别还很受 遮挡,颜色,动作等影响。

2.K近邻

1.数据方面问题

一个猫的图片用一堆像素点表示,稍微改变一下,像素点会发生巨大变化,计算机很难理解这种变化。这个叫做语义鸿沟(semantic gap)。视角,照明,动作,遮挡等等都会改变。

2.k近邻算法

2525590fa39f59a2bf3414eceb805546.png

enter description here

通过计算预测的图像与已知图像的最近的距离的图像,作为预测的label

选用L1距离的时候,如上图。

3.复杂度怎么样?

Q: With N examples, how fast are training and prediction?

A: Train O(1), predict O(N)

4.距离度量方式很多,选择哪种方式?

7a675b879f30fe97e7c5ee75bacfec71.png

enter description here

根据助教介绍,L1比较适用于每个feature有一定意义的情况下。L1下改变坐标轴会有不同的结果。最好还是都试一下。

K怎么选择?

793b165f1b48463662c1c0efb8e7309b.png

不同的k有不同的效果。基本上是根据K进行投票。除此之外也有利用距离进行加权的。通常来说,比较大的k的边界比较平滑。

5.超参数怎么设置?

首先数据集划分,

1,数据集全做训练

2.分为训练集和验证集(缺少在新数据下的表现能力)

3..分成训练集验证集和测试集 (比较合理,并且为了确保测试集比较可靠,让测试集不能泄露。也就是最后把测试集拿出来看结果)

4.k-folds交叉验证 数据分k组,k-1组训练,1组验证。最终会有k个损失,求得平均,选择损失最小的组 再做训练。knn中就是选择使得平均误差最小的k。

3.计算机视觉基本不用knn:

维度灾难:knn属于泛一致性模型,不管数据是什么分布,如果给足够多的数据就能有最好的结果。然而,假设16 * 16数据,每个像素点3个取值。那么需要3^256数据。

测试集上很慢

距离的衡量方式很不准确。如下图,l2距离一样但是并不能很好表示变化。

bc42fdfb8b4285dbdc2bf8d65b451436.png

enter description here

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值