cs231n(一)
1.Nearest Neighbor Classifier
计算未分类数据(图片)与已标记类别的训练数据(training set)的距离(L1,L2等距离),然后返回与训练数据(图片)最小距离的图片所属类别作为此未分类图片的类别。
此分类器对异常数据非常敏感,容易受到噪声的影响,波动大。
2.K Nearest Neighbor Classifier
为了解决Nearest Neighbor Classifier的缺点,我们使用离待分类数据最近的k个点的类别进行投票决定待分类点的类别,这样可以使分类器对于异常点有更好的robost。对于k值的选择,需要经验和对比。
3.使用Validation sets 对我们的模型进行Hyperparameter 的调节
把训练集划分为训练和验证两个部分,使用验证集来调整所有的Hyperparameters,最后在test set中进行一次测试,作为模型的最终性能。
对于把训练集分为训练和验证两部分,有专门的cross validation方法,对于k折交叉验证,就是把训练集平均分为k份,每次把k-1份作为训练集,进行训练,把剩下的一份作为验证集,把验证集的结果平均作为模型性能进行调参。常用的有3折交叉验证,5折交叉验证,10折交叉验证,cross-validation有个不足就是需要的计算开销比较大,不适合大规模的数据训练。
4.pros and cons of Nearest Neighbor Classifier.
Pros: 易于实现和理解,不需要消耗训练时间(根本不需要训练)
Cons: 在分类时,待分类的数据需要与每个训练数据计算距离,当训练数据量大时,需要消耗不少的计算时间,而在实际应用中,我们是要求在识别分类时更快更有效率。
As an aside, the computational complexity of the Nearest Neighbor classifier is an active area of research, and several Approximate Nearest Neighbor (ANN) algorithms and libraries exist that can accelerate the nearest neighbor lookup in a dataset (e.g. FLANN). These algorithms allow one to trade off the correctness of the nearest neighbor retrieval with its space/time complexity during retrieval, and usually rely on a pre-processing/indexing stage that involves building a kdtree, or running the k-means algorithm.
深度神经网络刚好相反,在训练的时候需要耗费很长的训练时间,一旦训练完成,在使用的时候就非常高效,这就是我们所期望的。
5.应用场景:
Nearest Neighbor Classifier 可能对一些低维的数据有很好的表现,但在实际的图片分类中基本没什么卵用。为什么这样说呢,一是图片一般都是高维对象,Pixel-based distances on high-dimensional data (and images especially) can be very unintuitive
images that are nearby each other are much more a function of the general color distribution of the images, or the type of background rather than their semantic identity.
6.总结
we saw that the use of L1 or L2 distances on raw pixel values is not adequate since the distances correlate more strongly with backgrounds and color distributions of images than with their semantic content
cs231n(一)的更多相关文章
- cs231n笔记:线性分类器
cs231n线性分类器学习笔记,非完全翻译,根据自己的学习情况总结出的内容: 线性分类 本节介绍线性分类器,该方法可以自然延伸到神经网络和卷积神经网络中,这类方法主要有两部分组成,一个是评分函数(sc ...
- CS231n 2017 学习笔记01——KNN(K-Nearest Neighbors)
本博客内容来自 Stanford University CS231N 2017 Lecture 2 - Image Classification 课程官网:http://cs231n.stanford ...
- cs231n --- 3 : Convolutional Neural Networks (CNNs / ConvNets)
CNN介绍 与之前的神经网络不同之处在于,CNN明确指定了输入就是图像,这允许我们将某些特征编码到CNN的结构中去,不仅易于实现,还能极大减少网络的参数. 一. 结构概述 与一般的神经网络不同,卷积神 ...
- cs231n --- 1:线性svm与softmax
cs231n:线性svm与softmax 参数信息: 权重 W:(D,C) 训练集 X:(N,D),标签 y:(N,1) 偏置量bias b:(C,1) N:训练样本数: D:样本Xi 的特征维度, ...
- cs231n spring 2017 Python/Numpy基础 (1)
本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 prin ...
- CS231n 第一次作业KNN中本地CIFAR10数据集的载入
一.问题描述 网上绝大多数作业参考都是在jupyter下运行的,数据集载入过程一般如下: from cs231n.data_utils import load_CIFAR10 #导入数据集,并打印出数 ...
- Coursera机器学习+deeplearning.ai+斯坦福CS231n
日志 20170410 Coursera机器学习 2017.11.28 update deeplearning 台大的机器学习课程:台湾大学林轩田和李宏毅机器学习课程 Coursera机器学习 Wee ...
- cs231n笔记(二) 最优化方法
回顾上一节中,介绍了图像分类任务中的两个要点: 假设函数.该函数将原始图像像素映射为分类评分值. 损失函数.该函数根据分类评分和训练集图像数据实际分类的一致性,衡量某个具体参数集的质量好坏. 现在介绍 ...
- cs231n笔记 (一) 线性分类器
Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设 ...
- 『cs231n』卷积神经网络的可视化与进一步理解
cs231n的第18课理解起来很吃力,听后又查了一些资料才算是勉强弄懂,所以这里贴一篇博文(根据自己理解有所修改)和原论文的翻译加深加深理解,其中原论文翻译比博文更容易理解,但是太长,而博文是业者而非 ...
随机推荐
- android 文件上传,中文utf-8编码
要上传文件到后台的php服务器,服务器能收到中文,手机发送过去,却只能收到一堆转了UTF-8的编码(就是要decode后才是中文的编码).android这边上传文件通常是用stream方式上传的,用M ...
- Hibernate学习11——Hibernate 高级配置(连接池、log4j)
第一节:配置数据库连接池 这里配置c3p0连接池,需要的jar包: jar包位于hibernate压缩包的:hibernate-release-4.3.5.Final\lib\optional\c3p ...
- [C++]复制构造函数、赋值操作符与隐式类类型转换
问题:现有类A定义如下: class A{public: A(int a) //构造函数 { ...
- node 中的定时器, nextTick()和setImmediate()的使用
1.node中使用定时器的问题在于,它并非精确的.譬如setTimeout()设定一个任务在10ms后执行,但是在9ms后,有一个任务占用了5ms,再次轮到定时器时,已经耽误了4ms. 好了node中 ...
- SpringMVC使用Hibernate-validator验证出现的错误
缺少jar包 SpringMVC可以使用Hibernate-validator作为效验的实现,需要的jar包: hibernate-validator.jar validation-api.jar j ...
- Imply.io单机安装
安装 wget https://static.imply.io/release/imply-2.5.15.tar.gz .tar.gz -C /usr/local/ cd imply- nohup b ...
- TBluetoothLE.OnDisconnectDevice
自己作为广播方,连接我的设备断开收到的事件. TBluetoothLE.OnDisconnectDevice TBluetoothLEDevice BluetoothLE1->Discovere ...
- SpringMVC配置过程中出现的问题!
<c:set var="ctx" value="${pageContext.request.contextPath}" />不起作用,原因是web. ...
- Docker常用操作命令
docker 常用管理命令 修改镜像地址 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ...
- 将maven打包为一个jar(可以体外加入jar)
使用 maven-compiler-plugin插件, 在maven的pom的<build></build>标签中上加入 <build> <plugins&g ...
