机器学习笔记03_机器学习基本概念(下)

学习视频:[中英字幕]吴恩达机器学习系列课程
学习资料: https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes
GitHub不好用的话,我在CSDN资源区也上传了开源资料,0积分下载,期待和大家一起进步!

文章目录

  • 12 聚类 Clustering
    • 12.1 无监督学习 Unsupervised Learning
    • 12.2 K-均值算法 K-Means Algorithm
    • 12.3 优化目标 Optimization Objective
    • 12.4 随机初始化 Random Initialization
    • 12.5 选择聚类数 Choosing the Number of Clusters
  • 13 降维 Dimensionality Reduction
    • 13.1 动机一:数据压缩 Data Compression
    • 13.2 动机二:数据可视化 Visualization
    • 13.3 主成分分析问题 Principal Component Analysis
    • 13.4 主成分分析算法 Principal Component Analysis Algorithm
    • 13.5 选择主成分的数量 Choosing The Number Of Principal Components
    • 13.6 重建的压缩表示 Reconstruction from Compressed Representation
    • 13.7 主成分分析法的应用建议 Advice for Applying PCA
  • 14 异常检测 Anomaly Detection
    • 14.1 问题的动机 Problem Motivation
    • 14.2 高斯分布 Gaussian Distribution
    • 14.3 算法
    • 14.4 开发和评价一个异常检测系统
    • 14.5 异常检测与监督学习对比
    • 14.6 选择特征 Choosing What Features to Use
    • 14.7 多元高斯分布 Multivariate Gaussian Distribution
    • 14.8 使用多元高斯分布进行异常检测
  • 15 推荐系统 Recommender Systems
    • 15.1 问题形式化
    • 15.2 基于内容的推荐系统 Content Based Recommendations
    • 15.3 协同过滤 Collaborative Filtering
    • 15.4 协同过滤算法 Collaborative Filtering Algorithm
    • 15.5 向量化:低秩矩阵分解 Vectorization_ Low Rank Matrix Factorization
    • 15.6 推行工作上的细节:均值归一化
  • 16 大规模机器学习 Large Scale Machine Learning
    • 16.1 大型数据集的学习 Learning With Large Datasets
    • 16.2 随机梯度下降法 Stochastic Gradient Descent
    • 16.3 小批量梯度下降 Mini-Batch Gradient Descent
    • 16.4 随机梯度下降收敛 Stochastic Gradient Descent Convergence
    • 16.5 在线学习
    • 16.6 映射化简和数据并行 Map Reduce and Data Parallelism
  • 17 应用实例:图片文字识别 Application Example: Photo OCR
    • 17.1 问题描述和流程图
    • 17.2 滑动窗口 Sliding Windows
    • 17.3 获取大量数据和人工数据
    • 17.4 上限分析 Ceiling Analysis
  • 18 总结 Conclusion

12 聚类 Clustering

12.1 无监督学习 Unsupervised Learning

我们将要让计算机学习无标签数据,而不是此前的标签数据。

机器学习笔记03_机器学习基本概念(下)_第1张图片
应用:市场分割、社交网络分析…

12.2 K-均值算法 K-Means Algorithm

K-均值是一个迭代算法,假设我们想要将数据聚类成 n 个组,其方法为:

首先选择个随机的点,称为聚类中心(cluster centroids);对于数据集中的每一个数据,按照距离个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类。计算每一个组的平均值,将该组所关联的中心点移动到平均值的位置

机器学习笔记03_机器学习基本概念(下)_第2张图片

12.3 优化目标 Optimization Objective

K-均值最小化问题,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和。

因此 K-均值的代价函数(又称畸变函数 Distortion function) 为:

机器学习笔记03_机器学习基本概念(下)_第3张图片

12.4 随机初始化 Random Initialization

在运行 K-均值算法的之前,首先要随机初始化所有的聚类中心点:

  1. 我们应该选择 < ,即聚类中心点的个数要小于所有训练集实例的数量
  2. 随机选择个训练实例,然后令个聚类中心分别与这个训练实例相等

机器学习笔记03_机器学习基本概念(下)_第4张图片

12.5 选择聚类数 Choosing the Number of Clusters

机器学习笔记03_机器学习基本概念(下)_第5张图片

你会发现这种模式,它的畸变值会迅速下降,从 1 到 2,从 2 到 3 之后,你会在 3 的时候达到一个肘点。在此之后,畸变值就下降的非常慢,看起来就像使用 3 个聚类来进行聚类是正确的,这是因为那个点是曲线的肘点,畸变值下降得很快, = 3之后就下降得很慢,那么我们就选 = 3。
当你应用**“肘部法则”** 的时候,如果你得到了一个像上面这样的图,那么这将是一种用来选择聚类个数的合理方法

13 降维 Dimensionality Reduction

13.1 动机一:数据压缩 Data Compression

谈论第二种类型的无监督学习问题,称为降维。数据压缩不仅允许我们压缩数据,因而使用较少的计算机内存或磁盘空间,但它也让我们加快我们的学习算法。

机器学习笔记03_机器学习基本概念(下)_第6张图片机器学习笔记03_机器学习基本概念(下)_第7张图片

13.2 动机二:数据可视化 Visualization

在许多及其学习问题中,如果我们能将数据可视化,我们便能寻找到一个更好的解决方案,降维可以帮助我们。
机器学习笔记03_机器学习基本概念(下)_第8张图片

13.3 主成分分析问题 Principal Component Analysis

机器学习笔记03_机器学习基本概念(下)_第9张图片

问题是要将维数据降至维,目标是找到向量(1),(2),…,()使得总的投射误差最小。

主成分分析 线性回归
最小化投射误差 最小化预测误差
目的:降维 目的:预测

机器学习笔记03_机器学习基本概念(下)_第10张图片
PCA 技术的一大好处是对数据进行降维的处理。我们可以对新求出的“主元”向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。

13.4 主成分分析算法 Principal Component Analysis Algorithm

之前记录过:MATLAB学习笔记_Day13主成分分析在论文中写作
机器学习笔记03_机器学习基本概念(下)_第11张图片机器学习笔记03_机器学习基本概念(下)_第12张图片

机器学习笔记03_机器学习基本概念(下)_第13张图片
流程:机器学习笔记03_机器学习基本概念(下)_第14张图片

13.5 选择主成分的数量 Choosing The Number Of Principal Components

主要成分分析是减少投射的平均均方误差:

在这里插入图片描述

机器学习笔记03_机器学习基本概念(下)_第15张图片
由上述的不等式进而计算得到k的最小值。

我们也可以先令 = 1,然后进行主要成分分析,获得和,然后计算比例是否小于1%。如果不是的话再令 = 2,如此类推,直到找到可以使得比例小于 1%的最小 值(原因是各个特征之间通常情况存在某种相关性)。

13.6 重建的压缩表示 Reconstruction from Compressed Representation

在以前的视频中,我谈论 PCA 作为压缩算法。在那里你可能需要把 1000 维的数据压缩100 维特征,或具有三维数据压缩到一二维表示。所以,如果这是一个压缩算法,应该能回到这个压缩表示,回到你原有的高维数据的一种近似。

机器学习笔记03_机器学习基本概念(下)_第16张图片

机器学习笔记03_机器学习基本概念(下)_第17张图片

13.7 主成分分析法的应用建议 Advice for Applying PCA

假使我们正在针对一张 100×100 像素的图片进行某个计算机视觉的机器学习,即总共有 10000 个特征。

  1. 第一步是运用主要成分分析将数据压缩至 1000 个特征
  2. 然后对训练集运行学习算法。
  3. 在预测时,采用之前学习而来的将输入的特征转换成特征向量,然后再进行预测。

如果我们有交叉验证集和测试集,也采用对训练集学习而来的。

错误的主要成分分析情况:

①将PCA应用于防止过拟合中,应该用正则化处理过拟合问题。

原因在于主要成分分析只是近似地丢弃掉一些特征,它并不考虑任何与结果变量有关的信息,因此可能会丢失非常重要的特征。然而当我们进行正则化处理时,会考虑到结果变量,不会丢掉重要的数据。

②将主要成分分析作为学习过程中的一部分。

虽然很多时候有效果,最好还是从所有原始特征开始,只在有必要的时候(算法运行太慢或者占用太多内存)才考虑采用主要成分分析

14 异常检测 Anomaly Detection

14.1 问题的动机 Problem Motivation

机器学习笔记03_机器学习基本概念(下)_第18张图片

机器学习笔记03_机器学习基本概念(下)_第19张图片
小结:根据已有的数据建立起估计函数,这样我们可以依据概率能判断新的数据是正常的,还是异常的。

14.2 高斯分布 Gaussian Distribution

机器学习笔记03_机器学习基本概念(下)_第20张图片

14.3 算法

机器学习笔记03_机器学习基本概念(下)_第21张图片

机器学习笔记03_机器学习基本概念(下)_第22张图片

14.4 开发和评价一个异常检测系统

机器学习笔记03_机器学习基本概念(下)_第23张图片

14.5 异常检测与监督学习对比

机器学习笔记03_机器学习基本概念(下)_第24张图片

14.6 选择特征 Choosing What Features to Use

对于异常检测算法,我们使用的特征是至关重要的,下面谈谈如何选择特征:
异常检测假设特征符合高斯分布,如果数据的分布不是高斯分布,异常检测算法也能够工作,但是最好还是将数据转换成高斯分布

机器学习笔记03_机器学习基本概念(下)_第25张图片

14.7 多元高斯分布 Multivariate Gaussian Distribution

假使我们有两个相关的特征,而且这两个特征的值域范围比较宽,这种情况下,一般的高斯分布模型可能不能很好地识别异常数据。其原因在于,一般的高斯分布模型尝试的是去同时抓住两个特征的偏差,因此创造出一个比较大的判定边界。
机器学习笔记03_机器学习基本概念(下)_第26张图片
机器学习笔记03_机器学习基本概念(下)_第27张图片
机器学习笔记03_机器学习基本概念(下)_第28张图片

机器学习笔记03_机器学习基本概念(下)_第29张图片
m个样本,n个特征。

14.8 使用多元高斯分布进行异常检测

机器学习笔记03_机器学习基本概念(下)_第30张图片
机器学习笔记03_机器学习基本概念(下)_第31张图片

机器学习笔记03_机器学习基本概念(下)_第32张图片

小结:多元高斯分布将方差转化成了协方差矩阵,进而控制高斯函数的性状和算法的计算。

15 推荐系统 Recommender Systems

15.1 问题形式化

机器学习笔记03_机器学习基本概念(下)_第33张图片

代表用户的数量
代表电影的数量
(,) 如果用户 给电影 评过分则 (,) = 1
(,) 代表用户 给电影 的评分
代表用户 评过分的电影的总数

我们希望构建一个算法来预测每个人可能会给他们没看过的电影打多少分,并以此作为推荐的依据

15.2 基于内容的推荐系统 Content Based Recommendations

在一个基于内容的推荐系统算法中,我们假设对于我们希望推荐的东西有一些数据,这些数据是有关这些东西的特征。

机器学习笔记03_机器学习基本概念(下)_第34张图片

机器学习笔记03_机器学习基本概念(下)_第35张图片
上面的代价函数只是针对一个用户的,为了学习所有用户,我们将所有用户的代价函数求和

机器学习笔记03_机器学习基本概念(下)_第36张图片

15.3 协同过滤 Collaborative Filtering

在之前的基于内容的推荐系统中,对于每一部电影,在已知可用的特征,使用这些特征训练出了每一个用户的参数。相反地,如果我们拥有用户的参数,我们可以学习得出电影的特征。
机器学习笔记03_机器学习基本概念(下)_第37张图片

但是如果我们既没有用户的参数,也没有电影的特征,这两种方法都不可行了。协同过滤算法可以同时学习这两者。

15.4 协同过滤算法 Collaborative Filtering Algorithm

机器学习笔记03_机器学习基本概念(下)_第38张图片

机器学习笔记03_机器学习基本概念(下)_第39张图片

机器学习笔记03_机器学习基本概念(下)_第40张图片

如果一位用户正在观看电影 (),我们可以寻找另一部电影(),依据两部电影的特征向量之间的距离∥() − ()∥的大小。

15.5 向量化:低秩矩阵分解 Vectorization_ Low Rank Matrix Factorization

机器学习笔记03_机器学习基本概念(下)_第41张图片

机器学习笔记03_机器学习基本概念(下)_第42张图片
电影 有一个特征向量(),找到一部不同的电影 ,保证两部电影的特征向量之间的距离()和()很小。

总结:当用户在看某部电影 的时候,为了能给用户推荐新电影,你需要做的是找出电影 ,使两者间距离最小。这样就能给用户推荐不同的电影了。

15.6 推行工作上的细节:均值归一化

机器学习笔记03_机器学习基本概念(下)_第43张图片

机器学习笔记03_机器学习基本概念(下)_第44张图片

16 大规模机器学习 Large Scale Machine Learning

16.1 大型数据集的学习 Learning With Large Datasets

机器学习笔记03_机器学习基本概念(下)_第45张图片
首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用 1000个训练集也能获得较好的效果,我们可以绘制学习曲线来帮助判断

机器学习笔记03_机器学习基本概念(下)_第46张图片

左图为高方差,显然增加数据量是可以减小误差的。
右图为高偏差,显然增加数据量无法减小误差。

16.2 随机梯度下降法 Stochastic Gradient Descent

对于许多机器学习算法,例如:线性回归,逻辑回归,聚类,降维,神经网络…我们推导算法的方法是提出一个优化目标或优化方程,然后用梯度下降的算法来求得最小值。

回顾一下线性回归中的梯度下降 (批量梯度下降法)
在这里插入图片描述

如果数据量很大,为例收敛结果,你需要花费很长的时间,因此我们对梯度下降算法进行改进。

首先,要对数据进行重组。
机器学习笔记03_机器学习基本概念(下)_第47张图片
随机梯度下降讲的是,针对每一个数据,算法都会更新一次参数 ,而不需要首先将所有的训练集求和。

每一次求得的参数都为了能更好的拟合下一次的预测,总的来看,我们的参数是朝着全局最小的方向前进的。
总结:随机梯度下降是朝着一个最小值的区域内迂回前进的。
机器学习笔记03_机器学习基本概念(下)_第48张图片
外层的Repeat决定了循环的次数,一般来说一次就够了,不过仍要取决于你的数据集的数据量有多少。如果很大的话,可能一次大循环就能找到最合适的参数值。

16.3 小批量梯度下降 Mini-Batch Gradient Descent

机器学习笔记03_机器学习基本概念(下)_第49张图片

机器学习笔记03_机器学习基本概念(下)_第50张图片

16.4 随机梯度下降收敛 Stochastic Gradient Descent Convergence

当你在运行代码的过程中,你如何知道调试已经完成,参数已经收敛到最优值。并且,如何调整算法中的学习速率呢?
机器学习笔记03_机器学习基本概念(下)_第51张图片
批量梯度下降法:画出代价函数的图像来判断是否达到了最优值。但是,如果数据集的数据量太大,sum那一项将会导致计算速度非常慢。

随机梯度下降法 :在随机梯度下降中,我们在每一次更新 之前都计算一次代价,然后每次迭代后,求出这次对训练实例计算代价的平均值,然后绘制这些平均值与次迭代的次数之间的函数图表。

机器学习笔记03_机器学习基本概念(下)_第52张图片
对于左上图,当我们适当降低学习率,图线可能有蓝色变为红色。表现为收敛速度变慢了,但收敛后的值更好了。

另一种方法:
机器学习笔记03_机器学习基本概念(下)_第53张图片
随着迭代的次数不断增加,学习速率也越来越低,迫使算法收敛而非在最小值附近徘徊。

但是你要花时间去确定这两个常数。

总结:要每次对最后 1000(x) 个,求一下平均值。检查我们设置的学习率是否符合要求。还可以设置一种随迭代次数变化而变化的学习率,但你要自己确定常熟1,2。

16.5 在线学习

机器学习笔记03_机器学习基本概念(下)_第54张图片
我们每次给用户反馈10个手机,看看用户会点开哪个手机的界面。在这之后,我们会得到10个(x,y)数据对。x代表手机,y代用户是否选择了该手机。 然后运用在线学习算法,来更新参数,对这10个数据运用10步梯度下降算法,来更新参数。然后就可以扔到这些数据。
机器学习笔记03_机器学习基本概念(下)_第55张图片
一旦对一个数据的学习完成了,我们便可以丢弃该数据。这种方式的好处在于,我们的算法可以很好的适应用户的倾向性,算法可以针对用户的当前行为不断地更新模型以适应该用户

16.6 映射化简和数据并行 Map Reduce and Data Parallelism

机器学习笔记03_机器学习基本概念(下)_第56张图片
机器学习笔记03_机器学习基本概念(下)_第57张图片
具体而言,如果任何学习算法能够表达为,对训练集的函数的求和,那么便能将这个任务分配给多台计算机(或者同一台计算机的不同 CPU 核心),以达到加速处理的目的。
机器学习笔记03_机器学习基本概念(下)_第58张图片

很多高级的线性代数函数库已经能够利用多核 CPU 的多个核心来并行地处理矩阵运算,这也是算法的向量化实现如此重要的缘故(比调用循环快)。

17 应用实例:图片文字识别 Application Example: Photo OCR

17.1 问题描述和流程图

OCR(Optical Character Recognition)光学字符识别
机器学习笔记03_机器学习基本概念(下)_第59张图片

机器学习笔记03_机器学习基本概念(下)_第60张图片

  1. 文字侦测(Text detection)——将图片上的文字与其他环境对象分离开来
  2. 字符切分(Character segmentation)——将文字分割成一个个单一的字符
  3. 字符分类(Character classification)——确定每一个字符是什么 可以用任务流程图来
    在这里插入图片描述

17.2 滑动窗口 Sliding Windows

机器学习笔记03_机器学习基本概念(下)_第61张图片
从数据集中收集一些正负样本,来训练分类器。
机器学习笔记03_机器学习基本概念(下)_第62张图片
在训练集训练出来的窗口尺寸是82*36。运用在测试图片上,图中绿色的窗口从左上方开始,依次向右遍历完第一行。再向第二行遍历,从此实现该图片所有像素点的识别。每一次将框住的图像送入分类器,检测是否为行人。

同理:
Text detection
机器学习笔记03_机器学习基本概念(下)_第63张图片

机器学习笔记03_机器学习基本概念(下)_第64张图片
白框代表可能有文字,根据框的性状,初步判断白色区域是不是文本信息。

Character segmentation
机器学习笔记03_机器学习基本概念(下)_第65张图片

Character classification
最后一个阶段是字符分类阶段,利用神经网络、支持向量机或者逻辑回归算法训练一个分类器即可。

机器学习笔记03_机器学习基本概念(下)_第66张图片

17.3 获取大量数据和人工数据

获取数据的方式:
① 从0开始自己制作数据
② 基于已有的小的数据集,然后已某种方式扩充训练集。

首先需要确定的是:
如果我们的模型是低方差的,那么获得更多的数据用于训练模型,是能够有更好的效果的。

17.4 上限分析 Ceiling Analysis

在机器学习的应用中,通常需要通过几个步骤才能进行最终的预测,如何能够知道哪一部分最值得我们花时间和精力去改善呢?这个问题可以通过上限分析来回答。
机器学习笔记03_机器学习基本概念(下)_第67张图片

18 总结 Conclusion

机器学习笔记03_机器学习基本概念(下)_第68张图片

机器学习笔记03_机器学习基本概念(下)_第69张图片

完结撒花花~

你可能感兴趣的:(机器学习,机器学习,深度学习,人工智能)