课程内容全纪录:
1、讲解图像分类的难点
  1、光照强度
  2、主体变形
  3、主体与背景咬合
  4、主体与背景相接近
  5、同类别间存在区别
2、KNN
  1、最近邻算法
  2、Knn
  3、hyperparameter 的 cross-validation
3、线性分类器
 
全解析:
1、图像分类的难点示意图
  
CS231n 2016 通关 第二章-KNN 2、KNNCS231n 2016 通关 第二章-KNN

首先是KNN中用到的距离计算公式,L1和L2如下:

CS231n 2016 通关 第二章-KNN

图示KNN的计算过程:

图中有种类 a o,当需要确定c属于哪个种类时,可以使用KNN

CS231n 2016 通关 第二章-KNN    CS231n 2016 通关 第二章-KNN

计算c到所有a和所有o的距离,L1或者L2均可。如图示取K为3,即取到3个较小值。

CS231n 2016 通关 第二章-KNN

因为较小值中包含在o种类的数量多,所以确定c种类为o:

CS231n 2016 通关 第二章-KNN    CS231n 2016 通关 第二章-KNN

当K为1时,即为最近邻。同时KNN需要注意的点:

  1.取K为奇数  

  2.K个较小值中尽量包含少的种类  

  3.在实际中需要权衡训练时间测试时间,最近邻不需要训练时间,但是需要很多的测试时间。

而CNNs则相反。所以在实际当中很少使用最近邻。

CS231n 2016 通关 第二章-KNN    CS231n 2016 通关 第二章-KNN

可以使用KNN运算库:ANN 来进行计算。在数据可视化中会使用KNN.

reference:https://www.youtube.com/watch?v=UqYde-LULfs

 

2.3  cross-validation 交叉验证

KNN中K的取值是不确定的,称之为hyperparameter,即超参数。通过cross-validation即交叉验证的方式来选取合适的K值。

  选取validation集:将原始训练集拆分成多个数据集合,使用其中之一作为验证集。

CS231n 2016 通关 第二章-KNN

  验证过程:选取K后,对验证集进行计算,得到不同验证集上的准确率,对准确率取平均值,平均准确率较好的K值为合适的超参数。

CS231n 2016 通关 第二章-KNN

  绘制准确率曲线,得到合适的超参数:此处选择K = 7

CS231n 2016 通关 第二章-KNN

 

当然最重要的是课程的最后总结:

CS231n 2016 通关 第二章-KNN

 

瞬间爆炸。。。

3、线性分类器

  所谓线性分类器,是对输入数据进行线性的计算,最终得到预测label的概率值:

CS231n 2016 通关 第二章-KNN

  参数设置:注意此时加了bias也就是截距 b:

CS231n 2016 通关 第二章-KNN

  对线性分类器进行分类界面的可视化:

CS231n 2016 通关 第二章-KNN

  那么问题来了:解释加bias的原因?

    如果没有bias,所有的分类界面均经过原点。可区分性降低。

    bias在CNNs中也会使用。原因类似。

  线性分类器总结:

    当图像所需要识别的主体部分缺失时,分类困难。 

图片来源:CS231n winter 课件。 

附:通关CS231n企鹅群:578975100 validation:DL-CS231n 

CS231n 2016 通关 第二章-KNN

相关文章:

  • 2021-05-19
  • 2021-07-09
  • 2022-01-13
  • 2021-07-08
  • 2022-12-23
  • 2021-07-14
  • 2021-05-02
猜你喜欢
  • 2021-06-15
  • 2022-01-17
  • 2021-11-22
  • 2022-02-04
  • 2021-08-19
  • 2022-01-25
  • 2021-10-03
相关资源
相似解决方案