李飞飞计算机视觉学习总结三
学习线性分类器
学习内容提要:
第二讲:图像分类
数据驱动方法
1.1. 收集大量的图像数据及标签
1.2. 使用机器学习算法训练一个分类器
1.3. 使用新图像衡量训练的分类器
近邻算法
2.1. 算法描述:
训练数据集合为 T={(x1,y1),(x2,y2),...,(xn,yn)}
其中Xi是一个n维的特征向量,Yi为实例对应类别
2.2. 距离向量
根据给定的度量,在训练集合中找出与x轴距离最近的k个点(k=1时为近邻算法)
2.3. 分类决策规则(k>1的时候->KNN)
根据分类决策规则(如对数表决,加权方法等)决定x的类别y
KNN算法(K-Nearest Neighbor)
3.1. 三要素:K的值的选择,距离度量,分类决策规则
3.2. 过程:训练数据集合T,选择K值,度量距离(L1或者L2)
3.3. 复杂度分析
a. 训练复杂度:KNN算法只是将训练数据及标签先保存,并不涉及某些运算,复杂度为o(1)
b. 测试复杂度:对于某个样本,需要与数据标签逐一进行对比,计算量与数据大小有关,复杂度为o(N)
线性分类器
4.1. 概念:通过特征的线性组合来作出分类决定(如感知机,svm,Fisher,Logistic)
对于32*32*3一张图彩色图,f(x,w)线性分类器与knn区别
线性分类器模型函数f(x,w)=wx+b (可以看成一种模板匹配方法)
线性分类器的缺点也就是存在的问题
Ps: f(x,w)线性分类器与knn区别 线性分类器的缺点也就是存在的问题
打卡内容:
f(x,w)线性分类器与knn区别
1.1. KNN: 计算一个点A与其他所有点之间的距离,取出与该点最近的k个点,然后统计这k个点里面所属分类比例最大的,则点A属于该分类
1.2. f(xi,W,b)=Wxi+b :参数W被称为权重(weights)。b被称为偏差向量(bias vector)1.3. knn需要保留训练数据,而线性分类器只需要保留训练好的权重w即可,线性分类器可运行在小型设备上
线性分类器为什么可以看成一种模板匹配方法
2.1. 权重W的另一个解释是它的每一行对应着一个分类的模板(有时候也叫作原型),一张图像对应不同分类的得分,是通过使用内积(也叫点积)来比较图像和模板,然后找到和哪个模板最相似。从这个角度来看,线性分类器就是在利用学习到的模板,针对图像做模板匹配。
2.2. 高效地使用k-NN,没有使用所有的训练集的图像来比较,而是每个类别只用了一张图片(这张图片是我们学习到的,而不是训练集中的某一张),使用(负)内积来计算向量间的距离,而不是使用L1或者L2距离。
线性分类器的缺点也就是存在的问题
线性分类器优缺点:算法简单和具有“学习”能力,线性分类器速度快、编程方便;但是可能拟合效 果不会很好。
分析代码实现的任务是什么,每个函数模块实现的功能是什么,代码运行的逻辑
研究中