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. Android查缺补漏--ContentProvider的使用

    ContentProvider (内容提供者)是一种共享型组件,可以为系统内应用于与应用之间提供访问接口. ContentProvide要想正常工作需要三个关键点: ContentProvider:对 ...

  2. UML2和建模工具学习总结

    软件发展的方向:CS–>BS–>SOA–>BIG DATA 建模的含义: 模型是对现实的简化 从特点视角对系统的一个完整性描述 建模的重要性: 为了更好的理解一个系统 管理复杂度(也 ...

  3. 深入理解 while(cin >> x >> y)

    初步分析 在C++中实现连续输入时,我们会用到 while(cin >> x >> y) ,但是它的条件判断的原理可不那么好想,这里我分享一下我对于它的见解. 首先来看 cin ...

  4. 点击button1弹出form2,并在form2中点击button2来调用form1的方法

    链接地址:http://www.sufeinet.com/thread-1273-1-1.html   1.     private void button1_Click(object sender, ...

  5. KVM 初探

    KVM 是业界最为流行的 Hypervisor,全称是 Kernel-based Virtual Machine.它是作为 Linux kernel 中的一个内核模块而存在,模块名为 kvm.ko,也 ...

  6. 【Socket】苍老师有了丈夫,我也有了SAEA

    一.前言        时间过得真是快,转眼就2018年了.首先祝各位博友,软件开发者新年新气象,事业有成,身体健康,阖家幸福!最近看到园子里好多关于自己的2017年度总结以及对自己新一年的愿景,觉得 ...

  7. centos 7 部署 汉化版 gitlab

    =============================================== 2017/11/12_第6次修改                       ccb_warlock 更 ...

  8. jmeter中一次运行多条sql语句

    操作比较简单,主要就分两步: 第一步:在JDBC Connection Configuration中设置,主要见下图标注部分增加:?allowMultiQueries=true 第二步:在JDBC R ...

  9. js把通过图片路径生成base64

    主要思想: 使用canvas.toDataURL()方法将图片的绝对路径转换为base64编码. 一.图片在本地服务器: var imgSrc = "img/1.jpg";//本地 ...

  10. 微信小程序生成带参数的二维码 小程序二维码

    我是用php写的 先按照要求生成accesstoken $tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=clien ...