cs231n lecture2 image classification
1、图片分类若采用最近邻法:
import numpy as np class NearestNeighbor:
def _init_(self):
pass def train(self, X, y):
self.Xtr = X
self.ytr = y def predict(self, X):
num_test = X.shape[0]
Y_pred = np.zeros(num_test, dtype = self.ytr.dtype) for i in range(num_test):
distances = np.sum(np.abs(self.Xtr - X[i, :]), axis = 1)
min_index = np.argmin(distances)
Y_pred[i] = self.ytr[min_index] return Y_pred
train函数时间复杂度为O(1),test函数时间复杂度为O(n),n为训练集大小。
训练时间短,但测试时间过长。
一般最好是训练时间较长,测试时间短,如CNN。
2、超参数:不是学习到的参数而是自己人工设置的参数。
如K近邻算法中的K值和距离度量算法的选择。
3、数据集划分:
划分为训练集、验证集、测试集。验证集用来选择超参数,只在测试集上测试一次。
当数据集比较小时,可采用k折交叉验证的方法,即将数据集划分为k份,其中k - 1份作为训练集,剩下的1份作为验证集,取k份数据集分别作为验证集的结果的平均值作为最终结果。
然而由于交叉验证计算代价高,在实践中使用较少。
4、KNN(K最近邻)优缺点:
当特征个数较少时适合用。另外可通过kd树、k均值等方法减少时间复杂度。

另外通过L2距离来比较图片是和人类直觉不同的,如上图中,原始图片分别经过平移、遮挡、变色,但得到的图片和原始图片的L2距离相同,
这和人类直觉显然不符。

在上面的图片中,相邻的图片L2距离较小,可以发现一些背景相似的图片距离较小,相对于主体,背景对类别的影响更大。
cs231n lecture2 image classification的更多相关文章
- cs231n spring 2017 lecture2 Image Classification 听课笔记
		
1. 相比于传统的人工提取特征(边.角等),深度学习是一种Data-Driven Approach.深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体.而人工提取特征的方式很脆弱,换一个物体 ...
 - cs231n spring 2017 lecture2 Image Classification
		
1. 相比于传统的人工提取特征(边.角等),深度学习是一种Data-Driven Approach.深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体.而人工提取特征的方式很脆弱,换一个物体 ...
 - CNN for Visual Recognition (02)
		
图像分类 参考:http://cs231n.github.io/classification/ 图像分类(Image Classification),是给输入图像赋予一个已知类别标签.图像分类是计算机 ...
 - CNN(卷积神经网络)、RNN(循环神经网络)、DNN,LSTM
		
http://cs231n.github.io/neural-networks-1 https://arxiv.org/pdf/1603.07285.pdf https://adeshpande3.g ...
 - L2 范数  L1 范数 出租车范数
		
https://en.wikipedia.org/wiki/Norm_(mathematics) http://cs231n.github.io/classification/
 - AI入门丨开源学习资源推荐
		
现在AI大热,网上的资源也非常多,让人眼花缭乱.非科班的我,经过半年的摸索,也算马马虎虎入了坑.下面整理了我认为不错的学习资源,大部分我都看过,以分享给更多的人.我会不断保持更新,也欢迎大家补充. P ...
 - (Review cs231n) Spatial Localization and Detection(classification and localization)
		
重在图像的定位和检测的内容. 一张图片中只有一种给定类别标签的对象,定位则是图像中有对象框:再这些类中,每一个训练目标都有一个类和许多的图像内部对应类的位置选框. 猜想的仅是类标签,不如说它们是位置 ...
 - 1. cs231n k近邻和线性分类器 Image Classification
		
第一节课大部分都是废话.第二节课的前面也都是废话. First classifier: Nearest Neighbor Classifier 在一定时间,我记住了输入的所有的图片.在再次输入一个图片 ...
 - 【cs231n】图像分类-Linear Classification线性分类
		
[学习自CS231n课程] 转载请注明出处:http://www.cnblogs.com/GraceSkyer/p/8824876.html 之前介绍了图像分类问题.图像分类的任务,就是从已有的固定分 ...
 
随机推荐
- SIP中的SDP offer/answer交换初探
			
1.引言 SDP的offer/answer模型本身独立与于利用它的高层协议.SIP是使用offer/answer模型的应用之一.RFC 3264 定义了offer/answer模型,但没有规定使用哪个 ...
 - elment-UI中表头和内容错位
			
当出现纵向滚动条的时候就错位了 网上找了很多方法发现对我的不生效 //把这样式添加到index.html中.或者app.vue中(必须是入口文件,才能全局起作用!)body .el-table th. ...
 - react route使用HashRouter和BrowserRouter的区别-Content Security Policy img-src 404(Not found)
			
踩坑经历 昨天看了篇关于react-route的文章,说BrowserRouter比HashRouter好一些,react也是推荐使用BrowserRouter,毕竟自己在前端方面来说,就是个小白,别 ...
 - 【Git】一、安装、配置和仓库创建
			
之前一直使用图形界面的git,只会一些最常用的操作,并没有说深入学习git的全部功能 开发这么久了,觉得是时候学习一下指令操作,更快捷也更bigger ------------------------ ...
 - vue-element-admin跟springboot+shiro部署爬坑记
			
今天把前端采用vue-element-admin与springboot的项目部署到正是线上,在开发线上很OK的,一放上去我的天啊,坑是真的多阿.下面听我一一道来:我这边采用的是nginx服务器部署. ...
 - 【linux】ubuntu修改系统时间
			
ubuntu修改时间步骤 ① 先把系统校验时间的程序停止掉 /lib/systemd/systemd-timesyncd systemd 开始,包括了一个名为systemd-timesyncd 的守护 ...
 - 图像处理---《Canny 边缘检测》
			
图像处理---<Canny 边缘检测> 很想系统的把图像处理之边缘检测部分详细的过一遍,对比一个各个算子的优良性能.时间紧,精力有限,现在只能走哪补哪,随手记. 有几个简单的场景,有需要, ...
 - eclipse设置打开java文件目录
			
1. 第一步: 2. 第二步: 3. 第三步: Location:C:/WINDOWS/explorer.exe Arguments:${container_loc}
 - 十一届河南省赛-checkpoints(个人解法)-能AC代码
			
大致题意: zznuoj,大致题意:从A点出发达到B点去解救人质,再从B点返回到A点,经历第二遍的点只计算一次即可,AB两点不计数!求完成任务最少需要经过的点数. 大致思路:暴力!从起点到终点,和从终 ...
 - mysql主从同步监控---邮件告警
			
#!/bin/bash #check MySQL_Slave Status #crontab time : MYSQLPORT=`netstat -na|grep "|awk -F[:&qu ...