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  简单运算 不等于符号的写法是这个…
5.6 向量化 Vectorization 参考视频: 5 - 6 - Vectorization (14 min).mkv 下面是向量化的小例子,如果将所有u(j) .所有v(j).所有w(j)都看成列向量,则公式变为为向量加法 u = 2v + 5w 再复杂一些,在线性回归中 h(x) 的公式如下: 假设此时n=2,只有两个特征.将其向量化: 在Octave中,如果使用for循环实现,则为左边的代码.使用看做向量相乘,则只需要右边一行代码: 在C++中,for循环和向量化方法的对比如下: 当…
5.5 控制语句: for, while, if 语句 参考视频: 5 - 5 - Control Statements_ for, while, if statements (13 min).mkv 1.for 循环 通过 index 访问列向量 >> v = zeros(,) v = >> : , v(i) = ^ i; end; >> v v = 2.for 循环 直接访问列向量元素 >> indices = : ; >> indices…
5.4 绘制数据图 参考视频: 5 - 4 - Plotting Data (10 min) 5.4.1 绘制曲线 1.画一个sin曲线 >> t = [:0.01:0.98]; >> y1 = sin( * pi * * t); >> plot(t,y1); 2.画一个cos曲线 >> y2 = cos( * pi * * t); >> plot(t,y2); 3.将两个曲线合并在一起 >> plot(t,y1); >>…
Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法的一个常见应用.这种算法虽然主要用于无监督学习问题,但从某些角度看,它又类似于一些监督学习问题.举例: 当飞机引擎从生产线上流出时需要进行QA(质量控制测试),数据集包含引擎的一些特征变量,比如运转时产生的热量,或者振动等.当有一个新的飞机引擎从生产线上流出,它具有特征变量 xtest .异常检测问…
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到一组优良的特征.通过推荐系统(recommender systems),将领略一小部分特征学习的思想. 假使有 5 部电影,3部爱情片.2部动作片.  4 个用户为其中的部分电影打了分.现在希望构建一个算法,预测每个人可能给没看过的电影打多少分,以此作为推荐的依据. 下面引入一些标记:nu     …
Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是数据压缩,允许我们使用较少的内存或磁盘空间,也加快算法速度. 举例: 假设用两个特征描述同一个物品的长度,x1单位是厘米cm,x2单位是英寸inches.这将导致高度冗余,所以需要减到一维. 将数据从三维降至二维: 将三维向量投射到一个二维的平面上,强迫使得所有的数据都在同一个平面上,降至二维的特征…
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 公式如下(这里稍微有点变化,将负号移到了括号内…
Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件,左边是一封垃圾邮件Spam,右边是一封非垃圾邮件Non-Spam:垃圾邮件有很多features.如果我们想要建立一个Spam分类器,就要进行有监督学习,将Spam的features提取出来,而希望这些features能够很好的区分Spam.事实上,对于spam分类器,通常选取spam中词频最高的…