1. 相比于传统的人工提取特征(边、角等),深度学习是一种Data-Driven Approach。深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体。而人工提取特征的方式很脆弱,换一个物体就要重新设计特征。

2. 描述图像之间相似程度,可以直接把每个对应像素做减法,然后把差的绝对值累加起来。这个差值的和越小,图片越接近。这是曼哈顿距离L1。

对应像素点的差值的平方累加再开平方,这是欧几里得距离L2。

L1和L2谁更好,这取决于具体问题。但一般来说,如果做差的向量有很具体的含义,比如对于员工分类,向量的每一个元素可能是“工作年限”、“工资”等,这种用L1会更好一点,因为L1更依赖坐标系。

3. K近领域算法是计算当前图片和所有候选图片的相似程度(或者说距离),最近的K个候选中,最多的那个标签就被作为当前图片的标签。K越大,对噪音越鲁棒(当然,也不是越大越好,会有最佳值)。

这种算法的缺点是:1)预测的复杂度太高,需要和每一个训练数据去比较。2)不鲁邦,测试数据和训练数据必须很像,如果有遮挡、旋转之类的,会误认为差别很大。3)维度问题,数据集必须在整个空间很稠密的分布,需要指数级增加的数据集,维度高的时候就很不现实。

4. Hyperparameter:预先设定的参数,而不是算法学习得到的。比如K近领域算法中的K。这种参数是很依赖具体问题的。如何设置Hyperparameter呢?

  方案一:在训练集上表现最好的。这个方案是不行的,因为我们在乎的不是在训练集上表现怎么样,而是在乎在没见过的测试集上表现好。或者说方案一并不能保证很好的泛化能力。

  方案二:把数据集分为训练集和测试集,选在测试集上最好的。这个方案的问题和方案一一样,依旧不能保证很好的泛化能力。

  方案三:把数据集分为训练集、验证集、测试集,根据验证集上的表现来选择hyperparameter,然后再在测试集上评估。这种方案很好。对于很多hyperparameter的情况,验证集最好也设定的更大一点。  

  方案四:把数据集分为n组,交叉验证。随机挑选n-2组用来训练,1组用来验证,1组用来测试。这种方法比较适合小数据集,在深度学习中,由于训练的代价太大,所以用的也不算多这种方案。

5. 深度学习的框架像是拼乐高积木,而线性回归是最基本最好用的最广泛使用的积木。

6. 深度学习的训练过程就是训练出一组参数W,在预测x的时候计算y=f(x,W),W的每一行都是一个template,对应一个标签,计算出的y是一个向量,每个元素对应一个标签的相似程度,最大的值就对应预测出的标签。深度学习的框架反映在函数f上。

对于线性回归,f就是简单相乘,f(x,W) = Wx。

cs231n spring 2017 lecture2 Image Classification 听课笔记的更多相关文章

  1. cs231n spring 2017 lecture9 CNN Architectures 听课笔记

    参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的sh ...

  2. cs231n spring 2017 lecture13 Generative Models 听课笔记

    1. 非监督学习 监督学习有数据有标签,目的是学习数据和标签之间的映射关系.而无监督学习只有数据,没有标签,目的是学习数据额隐藏结构. 2. 生成模型(Generative Models) 已知训练数 ...

  3. cs231n spring 2017 lecture14 Reinforcement Learning 听课笔记

    (没太听明白,下次重新听) 1. 增强学习 有一个 Agent 和 Environment 交互.在 t 时刻,Agent 获知状态是 st,做出动作是 at:Environment 一方面给出 Re ...

  4. cs231n spring 2017 lecture2 Image Classification

    1. 相比于传统的人工提取特征(边.角等),深度学习是一种Data-Driven Approach.深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体.而人工提取特征的方式很脆弱,换一个物体 ...

  5. cs231n spring 2017 lecture9 CNN Architectures

    参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的sh ...

  6. cs231n spring 2017 lecture11 Detection and Segmentation 听课笔记

    1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"." ...

  7. cs231n spring 2017 lecture7 Training Neural Networks II 听课笔记

    1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很 ...

  8. cs231n spring 2017 lecture16 Adversarial Examples and Adversarial Training 听课笔记

    (没太听明白,以后再听) 1. 如何欺骗神经网络? 这部分研究最开始是想探究神经网络到底是如何工作的.结果人们意外的发现,可以只改变原图一点点,人眼根本看不出变化,但是神经网络会给出完全不同的答案.比 ...

  9. cs231n spring 2017 lecture15 Efficient Methods and Hardware for Deep Learning 听课笔记

    1. 深度学习面临的问题: 1)模型越来越大,很难在移动端部署,也很难网络更新. 2)训练时间越来越长,限制了研究人员的产量. 3)耗能太多,硬件成本昂贵. 解决的方法:联合设计算法和硬件. 计算硬件 ...

随机推荐

  1. 快看Sample代码,速学Swift语言(2)-基础介绍

    Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或者Objective-C的开发经验获得一种熟悉感.Swif ...

  2. Android百分比布局成功导入及简单使用

    最近学习第一行代码第二版这本书,里面有介绍百分比布局的使用,经过一番摸索,终于是成功导入了百分比布局 就是这样,appcompat是25.3.1,那么百分比布局percent也是25.3.1 这样便是 ...

  3. ERROR: ORA-12560: TNS: 协议适配器错误,解决办法:启动OracleServiceORCL服务

  4. 【java设计模式】【创建模式Creational Pattern】工厂方法模式Factory Method Pattern(多态性工厂模式Polymorphic Factory Pattern、虚拟构造子模式Virtual Constructor Pattern)

    public class Test { public static void main(String[] args){ Creator ca=new ConcreteCreatorA(); ca.cr ...

  5. MQ NameServer模块划分

    上图是之前讨论确定的系统架构(后续内容会按照这个架构来叙述),其中: NameServer做Broker的服务发现,即客户端可以通过NameServer拿到Broker的信息 Broker汇报数据到N ...

  6. 一道叉姐的AC自动机鬼题

    题面描述丢失了... 给n个串模板串,然后再给你m个串,对于这m个串的每个串,问在[L,R]的模板串中,在多少个串中出现过; 这题的正解是对于后m个串建AC自动机,然后离线,在fail树上树链求并. ...

  7. 搭建非域AlwaysOn win2016+SQL2016

    搭建非域AlwaysOn win2016+SQL2016 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnblogs.co ...

  8. Ajax 原生和jQuery的ajax用法

    https://www.cnblogs.com/jach/p/5709175.html form数据的序列化: $('#submit').click(function(){ $('#form').se ...

  9. Spark源码剖析(八):stage划分原理与源码剖析

    引言 对于Spark开发人员来说,了解stage的划分算法可以让你知道自己编写的spark application被划分为几个job,每个job被划分为几个stage,每个stage包括了你的哪些代码 ...

  10. linux保持管道中颜色显示

    在linux工作中,不同类型的文件以不同的颜色显示,如文件夹显示蓝色,压缩文件显示橘黄色,可执行文件显示为绿色,链接失效文件高亮显示等等: 有时候根据颜色可以快速鉴别,如我有时为了保持目录的完整性,会 ...