距离度量\(L_1\) 和\(L_2\)的区别 一些感性的认识,\(L_1\)可能更适合一些结构化数据,即每个维度是有特别含义的,如雇员的年龄.工资水平等等:如果只是一个一般化的向量,\(L_2\)可能用得更多.但这些仍然需要视具体情况而定. Nearest Neighbor KNN-demo 相当于\(K=1\)的KNN分类,这种其实是把所谓的"训练"过程推后了,是一种lazy的做法,model实际上隐藏在了训练数据中.训练时,只是单纯地"记下"训练样本的特征和标…
一些ConvNets的应用 Face recognition 输入人脸,推测是谁 Video classfication Recognition 识别身体的部位, 医学图像, 星空, 标志牌, 鲸... 图像描述 Image Captioning transfer 卷积操作和信号处理的卷积操作的区别 印象中在学习数字图像处理这门课的时候,里面提到过卷积操作,当时的计算方法是,需要把卷积核作一个180度的旋转.其实在最开始听到"卷积神经网络"并开始在探究具体如何进行卷积操作的时候,我也有…
这一讲主要介绍了神经网络,基本内容之前如果学习过Andrew的Machine learning应该也都有所了解了.不过这次听完这一讲后还是有了新的一些认识. 计算图 Computational graph 之前没有体会到计算图的强大,今天听Serena讲解后,有一种豁然开朗的感觉. 总的来说,有一些很复杂的表达式,如果直接使用它对变量求导,虽然也能得到一个显式的表达,但可能会牵扯到非常复杂的展开.求导等一系列操作.如果换种方式,把这个式子里的基本运算,通过计算图的方式表示出来,用节点来表示一个基…
这一讲总体上就是引入Loss Function的概念,以及让大家对优化有一个初步的认识,和其他课程里面说的内容大同小异. Loss function Multiclass svm loss multiclass svm的分类依据是,比较每个类别计算得到分数,取最大的那个作为当前的类标.该Loss鼓励的是正确的类标对应的分数应该比所有其他类标对应的分数都大至少1,否则就引入cost.具体定义如下: 这个和svm的思想是一样的,就是说不光要分对,而且要求判断对与错的分割线之间要有一定的距离,即svm…
主题有关 这一讲主要是介绍性质的,虽然大多数概念以前听说过,但还是在他们的介绍中让我有如下一些认识,所谓温故而知新,不无道理: IMAGENET Feifei Li的团队首先爬取.标注了IMAGENET 数据集,其中包含22k个目录和14m的图片: 为了能够为研究者提供一个统一的验证平台,进而组办了IMAGENET Large Scale Visual Recognition Challege,提供了benchmark,包含1,431,167 images 和 1000个物体类别: 此前在做图像…
k-Nearest Neighbor (kNN) 练习 这篇博文是对cs231n课程assignment1的第一个问题KNN算法的完成,参考了一些网上的博客,不具有什么创造性,以个人学习笔记为目的发布. 参考: http://cs231n.github.io/assignments2017/assignment1/ https://blog.csdn.net/Sean_csy/article/details/89028970 https://www.cnblogs.com/daihengchen…
深度学习课程笔记(二)Classification: Probility Generative Model  2017.10.05 相关材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html 本节主要讲解分类问题: classification 问题最常见的形式,就是给定一个输入,我们去学习一个函数,使得该函数,可以输出一个东西(label).如下所示: 其实好多其他的问题,都是分类问题演化而来,都可以通过分类问题来解决,如:物体…
---恢复内容开始--- 相关资源  Event Type  Date  Description  Course Materials Lecture 2 Thursday April 6 Image Classification The data-driven approach K-nearest neighbor Linear classification I [slides] [python/numpy tutorial][image classification notes][linear…
1. 相比于传统的人工提取特征(边.角等),深度学习是一种Data-Driven Approach.深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体.而人工提取特征的方式很脆弱,换一个物体就要重新设计特征. 2. 描述图像之间相似程度,可以直接把每个对应像素做减法,然后把差的绝对值累加起来.这个差值的和越小,图片越接近.这是曼哈顿距离L1. 对应像素点的差值的平方累加再开平方,这是欧几里得距离L2. L1和L2谁更好,这取决于具体问题.但一般来说,如果做差的向量有很具体的含义,比如对…
Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测(Text detection)——将图片上的文字与其他环境对象分离开来2.字符切分(Character segmentation)——将文字分割成一个个单一的字符3.字符分类(Character classification)——确定每一个字符是什么 如果用任务流程图来表达这个问题,每一项任务可以…
cs231n线性分类器学习笔记,非完全翻译,根据自己的学习情况总结出的内容: 线性分类 本节介绍线性分类器,该方法可以自然延伸到神经网络和卷积神经网络中,这类方法主要有两部分组成,一个是评分函数(score function):是原始数据和类别分值的映射,另一个是损失函数:它是用来衡量预测标签和真是标签的一致性程度.我们将这类问题转化为优化问题,通过修改参数来最小化损失函数. 首先定义一个评分函数,这个函数将输入样本映射为各个分类类别的得分,得分的高低代表该样本属于该类别可能性的高低.现在假设有…
Lecture 13 聚类 Clustering 13.1 无监督学习简介  Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没有附带任何标签,拿到的数据就是这样的: 例子: (注:这里有考题,问哪些可以使用聚类算法) 13.2 K-means算法 K-Means Algorithm K-Means 是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的组.迭代过程为:1)选择K个随机的点,称为聚类中心(cl…
Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machine) 是一个更加强大的算法,广泛应用于工业界和学术界.与逻辑回归和神经网络相比, SVM在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式.我们通过回顾逻辑回归,一步步将其修改为SVM. 首先回顾一下逻辑回归: 其 cost function 公式如下(这里稍微有点变化,将负号移到了括号内…
本节是cs231学习笔记:最优化,并介绍了梯度下降方法,然后应用到逻辑回归中 引言 在上一节线性分类器中提到,分类方法主要有两部分组成:1.基于参数的评分函数.能够将样本映射到类别的分值.2.损失函数.用来衡量预测标签和真是标签的一致性程度.这一节介绍第三个重要部分:最优化(optimization).损失函数能让我们定量的评估得到的权重W的好坏,而最优化的目标就是找到一个W,使得损失函数最小.工作流程如下图: (x,y)是给定的数据集,W是权重矩阵,通过初始化得到.向前传递到评分函数中得到类别…
GLSL Core Tutorial – Pipeline (OpenGL 3.2 – OpenGL 4.2) GLSL 是一种管道,一种图形化的流水线 1.GLSL 的具体工作流程: 简化流程如下: 顶点数组 -> 几何控制器 -> 光栅化 -> 片段着色器 -> 帧缓存 -> 屏幕显示 2.具体GLSL包含以下几种shader Vertex Shader : 重点 Tessellation Control: Tessellation Evaluation: Geometr…
回顾上一节中,介绍了图像分类任务中的两个要点: 假设函数.该函数将原始图像像素映射为分类评分值. 损失函数.该函数根据分类评分和训练集图像数据实际分类的一致性,衡量某个具体参数集的质量好坏. 现在介绍第三个要点,也是最后一个关键部分:最优化Optimization.最优化是寻找能使得损失函数值最小化的参数 W 的过程,一旦理解了这三个部分是如何相互运作的,我们将会回到第一个要点,然后将其拓展为一个远比线性函数复杂的函数:首先是神经网络,然后是卷积神经网络.而损失函数和最优化过程这两个部分将会保持…
Liner classifier 线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射.另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设函数的参数值来最小化损失函数值. 从图像到标签分值的参数化映射:该方法的第一部分就是定义一个评分函数,这个函数将图像的像素值映射为各个分类类别的得分,得分高低代表图像属于该类别的可能性高低.下面会利用一个具体例子来展示该方法.现在假设有一个包含很多图像的训练集 $x_i \in \mathbb{R}…
Semi-supervised Classification with Graph Convolutional Networks 2018-01-16  22:33:36 1. 文章主要思想: 2. 代码实现(Pytorch):https://github.com/tkipf/pygcn  [Introduction]: 本文尝试用 GCN 进行半监督的分类,通过引入一个 graph Laplacian regularization term 到损失函数中: 其中,L0 代表损失函数,即:gra…
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到一组优良的特征.通过推荐系统(recommender systems),将领略一小部分特征学习的思想. 假使有 5 部电影,3部爱情片.2部动作片.  4 个用户为其中的部分电影打了分.现在希望构建一个算法,预测每个人可能给没看过的电影打多少分,以此作为推荐的依据. 下面引入一些标记:nu     …
Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法的一个常见应用.这种算法虽然主要用于无监督学习问题,但从某些角度看,它又类似于一些监督学习问题.举例: 当飞机引擎从生产线上流出时需要进行QA(质量控制测试),数据集包含引擎的一些特征变量,比如运转时产生的热量,或者振动等.当有一个新的飞机引擎从生产线上流出,它具有特征变量 xtest .异常检测问…
Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是数据压缩,允许我们使用较少的内存或磁盘空间,也加快算法速度. 举例: 假设用两个特征描述同一个物品的长度,x1单位是厘米cm,x2单位是英寸inches.这将导致高度冗余,所以需要减到一维. 将数据从三维降至二维: 将三维向量投射到一个二维的平面上,强迫使得所有的数据都在同一个平面上,降至二维的特征…
Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件,左边是一封垃圾邮件Spam,右边是一封非垃圾邮件Non-Spam:垃圾邮件有很多features.如果我们想要建立一个Spam分类器,就要进行有监督学习,将Spam的features提取出来,而希望这些features能够很好的区分Spam.事实上,对于spam分类器,通常选取spam中词频最高的…
Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多特征:4.尝试添加多项式特征:5.减小 λ:6.增大 λ 为了避免一个方案一个方案的尝试,可以通过评估机器学习算法的性能,来进行调试. 机器学习诊断法 Machine learning diagnostic 的定义: 10.2 评估一个假设 想要评估一个算法是否过拟合 (一)首先,划分测试集和训练集…
目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning  无监督学习 - Reinforcement learning 强化学习 - Recommender systems 推荐系统 1.2.3 课程目的 如何在构建机器学习系统时,选择最好的实践类型决策.节省时间. 1.3 监督学习 1.3.1 Regression 回归问题 1.3.2 Classific…
Lecture 4 Linear Regression with Multiple Variables 多变量线性回归 4.1 多维特征 Multiple Features4.2 多变量梯度下降 Gradient Descent for Multiple Variables4.3 梯度下降法实践 1-特征缩放 Gradient Descent in Practice I - Feature Scaling4.4 梯度下降法实践 2-学习率 Gradient Descent in Practice…
Lecture 5 Octave教程 5.1 基本操作 Basic Operations 5.2 移动数据 Moving Data Around 5.3 计算数据 Computing on Data 5.4 绘制数据图 Plotting Data 5.5 控制语句: for, while, if 语句 5.6 向量化 Vectorization 5.1 基本操作 参考视频: 5 - 1 - Basic Operations (14 min).mkv 5.1.1  简单运算 不等于符号的写法是这个…
Lecture6 Logistic Regression 逻辑回归 6.1 分类问题 Classification6.2 假设表示 Hypothesis Representation6.3 决策边界 Decision Boundary6.4 代价函数 Cost Function6.5 简化的代价函数和梯度下降 Simplified Cost Function and Gradient Descent6.6 高级优化 Advanced Optimization6.7 多类别分类:一对多  Mult…
神经网络是一种受大脑工作原理启发的模式. 它在许多应用中广泛使用:当您的手机解释并理解您的语音命令时,很可能是神经网络正在帮助理解您的语音; 当您兑现支票时,自动读取数字的机器也使用神经网络. 8.1 非线性假设 Non-linear Classification 参考视频 : 8 - 1 - Non-linear Hypotheses (10 min).mkv 线性回归和逻辑回归的缺点: 当输入数据特征过多,计算负荷大. 计算机视觉中,图片的表示是通过像素矩阵表示的.假设一个图片是50×50p…
课程note中讲了一些工程经验,感觉很有用,记下来供自己以后查阅 相比于大的滤波器,小滤波器更受青睐.小滤波器参数更少.计算量更小.能够表达更多的特征,做反向传播时需要的内存更少. 通常不会考虑创建一个新的网络结构.一般都会找一些在ImageNet上有较好表现的预训练网络,下载下来然后做finetune input layer通常是2的倍数,比如32(CIFAR-10),96(STL-10) conv layer通常使用小滤波器(3x3 或 5x5),stride=1,做padding保证卷积层…
Lecture17 Large Scale Machine Learning大规模机器学习 17.1 大型数据集的学习 Learning With Large Datasets 如果有一个低方差的模型, 通常通过增加数据集的规模,可以获得更好的结果. 但是如果数据集特别大,则首先应该检查这么大规模是否真的必要,也许只用 1000个训练集也能获得较好的效果,可以绘制学习曲线来帮助判断. 17.2 随机梯度下降法 Stochastic Gradient Descent 如果必须使用一个大规模的训练集…