当前课程知识点:机器学习概论 > 第八章 支持向量机(II)和无监督学习 > 8.5 无监督学习简介 > 无监督学习简介(1)
那么我们到目前为止就学习完了上周和这周讲的SVM的部分
其实我们已经把我想要给大家基础的打算给大家介绍的
所有的分类的问题的分类方法都介绍的差不多了
后面还会有用于分类问题的 但是那个分类问题是用集成学习
是组合多种不同的学习方法分类器来去做的
所以对于基本的分类问题我们到目前为止刚好到了
学习一半的时候就学完了 但是我们从现在开始就会想
其实现在事实上这个世界上的问题不是只有分类问题
当然我们说的regression也是和分类 就是分类和拟合这一类的问题
这世界上还有一类问题是我不知道答案的
我们不知道标准答案 就是我没有这个数据的label 我只有数据
但是没有数据的label 我可以采集到一大批人的这个状况
但是我不知道每个人最后应不应该给他信用卡
或者给他信用卡是有价值 还是没有价值的用户
因为绝大多数的问题 其实更接近这种情况
就是我们能看到数据 但是看不到数据的label
或者label很难获得 那这一类问题我们会把它称做无指导学习
也有人叫做无监督学习 在英文上有是一个词就是
Unsupervised learning 所以我们接下来就去了解
我们在整个机器学习理论里面的 另外一大类基础的方法
无监督学习 这也是我们整个课上学习到的第九个大类的方法
那么什么是无监督学习呢 在这我们就不得不提到
一些机器学习的一些分类体系 我们其实在上上节课
给大家讲基于实例学习的时候说过
机器学习的算法分为一个主动的学习和被动的学习
这是一种分类体系 还有另外一种分类体系把它叫做
有参数的学习和无参数 非参数学习方法
其实我们上上节课跟大家讲的那个instance-based learning 很多它也是非参数学习的方法
你不是设定了一个模型来去调其中的学习参数
还有另外一种分类体系有监督学习 无监督学习
以及鉴于二者之间的半监督学习
也就是我们今天的课上将要学习的内容 大家先课间休息一下
刚才我们已经提到了无指导学习和有指导学习
或者有人把它翻译成无监督学习和有监督学习
它们是另外一种分类体系下的分类的方法
这对机器学习算法的分类方法 那么什么是无监督学习呢
其实有多种不同的解释 第一个解释是说有监督学习
就是需要涉及到人工的 标注人的力量 就是人的工作在涉及到里面
而无监督学习就不需要人的参与 在数据的准备上
第二种解释会说 我们需要去考虑的有监督的学习
是说给定了我们观察到一些数据x 从x1到xn
我们事实上需要去判断机器要告诉你我们的输出
它对你的输出y1到yn是什么 这种问题它就是有监督的学习
而无监督的学习是说你没有一个预期要输出成什么样
没有y的这样的输出 第三种的解释我觉得是更为严格一些的
所以我们会就第三种解释说的更多一点
那么在第三种解释里面会认为有监督的学习
它其实是去研究一个条件概率分布 是说给定我的这个输入x这些状态
请给出给定这些x条件下它的y是什么 就给定这样y的条件概率
那其中x在这里你可以认为是feature 就是你的数据点的feature
y是你数据点的分类的label的class 那既然这个是有监督的学习
那么无监督学习是 无监督的学习其实学习到的
应该是一个联合分布 就是你有了这个X
我们这个大X描述的是说你事实上是有数据上面的
比如说有不同的feature 然后有X1、X2 那你想知道下面的Xn是什么
所以在这个时候研究的这种联合概率分布 而不是条件概率分布
半监督的学习它其实就是说我们给定了有一部分
很少量的数据是你知道给出x 那个y是什么的
但绝大多数的数据都不知道y 那么在这种情况下
你希望去学习到那个数据之间的联系
那么这个时候我们就把它叫做半监督学习
画一个简单的示意图 就是我们会看到有监督学习
你有x 你的输入了很多feature 然后也有它们对应的每一个数据
每一个数据点对应它们的那个输出值 就是它的label
然后我们去经过了学习的模块 现在你得到了某种知识
这个知识其实就是你关于给出x条件下 你的y的输出应该是什么
这样的条件概率分布 然后注意到在这个里面一般x比较复杂
就数据的feature这些很复杂 y比较简单 它就是你输出的class
这个output就是你有多少类等等 相对比较简单 这个是学习的模块
那在预测的时候 现在有一个新的xn+1这x个点
你需要去预测yn+1等于多少 这个是有监督学习的部分
那么举例来说 我们可以看到x是这样的 y是这样的
那么我最后就会发现我得到的knowledge 就是
给出不同的x下面 y的这个输出它的概率
现在我来了一个x等于0 就问你y等于多少
这个是我们其中一种经典的形式化的简单的例子
那什么是无监督的学习呢 无监督学习我只有数据点x1到xn
我现在学到的knowledge 不是一个条件概率 而是一个联合概率
就是joint probablity 就是px 其中x是很复杂的
所谓的预测模型 就是想知道下一个x是什么样 xn+1可能是什么样
比如说我们有一个x串 会发现P(1)=0.5 P(0)=0.5
然后我们知道x等于1那个概率是什么样的
Semi-supervised learning事实上我们只有很少的n X1到Xn
你是知道它的y值的 y1到yn 有非常大量的m 从m+1到m
都是不知道y值的 那我现在还是想学到一个knowledge
就是给出x 那个y是什么样 现在有了一个新的xm+1的时候
我想知道它的ym+1是什么 你可以认为它的输出上面
你的预测它还是一个有监督的问题
只是我们并不是所有的数据都是有标记的
甚至只有少量的是有标记的 那这个问题当然就很难了
那事实上我们其实想在无监督学习里面
想要学到的就是那些没有标记的数据的结构 就它的structure
那这个结构事实上我们有时候会说
我们是要构建一个模型来去发现对于这个输入的比较有效的表示
所以现在有一些非常经典的representation learning 就是表示学习等等
它们其实都是一种无监督学习 其实就想知道我不给你什么任务
没有什么答案 我就想知道这个数据应该怎么表示
这个是表示学习里面想要学习的一部分
然后另外我们也可以觉得我们想知道的是这个数据的那个structure
比如说可能我们的research paper里面有title、abstract 这就是一种structure
还比如说我们网页其实是有某种形式联系起来的
管理组织起来的 它也是一种structure 还有比如说图像
图像image它其实是structure 就它是一系列的rgb这样的点 这些pixel以某种方式
有某种结构表示出来 就构成了一个图
比如说这个是我们看到的原始的image
其实如果从feature角度来看 如果你去掉了它的结构的话
它其实就是这种random一堆pixel value 然后我们是通过数据的结构
来把它表示成了一个图像 形成了后面的图像的样子
那么关于这些没有标记的数据 我们能做什么呢
一般比如说我们可以做数据的聚类
想看一看这些数据它们都是什么样的状况
或者我们还可以把它做特征的降维
以及还可以做那种边界点的检测 Outlier detection
或者以及去对数据的密度来去建模
大的来说我们是可以有这四类的事情
那我们在今天的这个课上以及在我们这个本科生的这个阶段
主要大家目前掌握 今天重点掌握的是关于聚类相关的学习
所以事实上大家一定要 首先有一个概念
虽然我们今天后面介绍的都是和聚类相关的算法
并不意味着无监督学习就只是聚类 聚类是无监督学习的一部分
它的一种 那其实无监督学习还可以做其他的事情
我们从现在开始就来讨论聚类的问题
什么是聚类呢 我们中国古话说物以类聚人以群分
还有因为有类似的说法 其实我们就是想去看一看
把那些看上去相似的那些objects 那些目标 把它们放到一起
把它group到一起 放成一组 一个cluster 放在一个类里面就可以了
这个类怎么算是放好了呢 我们就是希望在同一个类里面的
同一个cluster 里面 大家注意到我们这个中文都是把它叫做类
当然也有中文会把它翻译成为簇会不一样
英文上面我们知道这说的是一个cluster 不是一个class
就我们通常会说class的时候 会把它用在分类问题上面说
class是label cluster的在这里面它就是一个聚出来的这个类
当然如果实在要表达的话 可能用簇会比较好
同一簇里面的那些object 它是更相似的 不同类之间是不相似的
这样我们就觉得我们这个聚类聚的比较好了
所以大家会发现核心问题又回到了相似度上
你怎么衡量它到底相似 还是不相似
我们会把它通常定义有两个相似度 一个是类内相似度
一个是类间相似度 就是Intra cluster similarity
我们希望类内的相似度尽可能大 然后类间的相似度尽可能小
这样我们就把重要的、接近的、相似的东西就聚到一起了
比如说我们现在给了大家两个例子 左边是一种cluster
然后会1、2、3、4、5类 右边是另外的也是1、2、3、4
还有黑色的在哪 应该也是5类 然后应该在是这个位置
然后我们会发现这样的两种cluster方法 哪种更好呢
一般直觉上我们会觉得左边的这种会更好一点
因为它不同的那个cluster能够分的更开一些
所以事实上我们会希望Intra cluster distance 是比较小的 就它更聚在一起
它的distance 更小 然后类间的Inter cluster distance是更大的
这样我们通常就用来描述类好不好 因为我们没有标准答案
我们不像分类问题 分类问题一样 知道clusters它应该怎么样
我们在这个时候往往很多情况下是不知道标准答案的
所以我们只能用数据本身自己的结构呈现出来的特性来去描述
这个cluster 这种聚类方法也有很多种不同的方法
对聚类的方法有不同的分类法 一种是叫做soft clustering
还有一种叫做hard clustering soft的意思是说
就是软聚类的意思是说你的数据点可以同时属于多个类
hard clustering是说一个数据点只能属于一个类
比如说在这个例子上面 我们这个就是一个hard clustering一种说法
就是一种分法 就比如说我现在有一些数据点
这个点就是wine 它的一个坐标是wine 一个是drink
我们可以把它聚成这种样子 变成了 聚成了四个簇
这四个促里面 其中一个是可以用来喝的东西 这个是可以make的
这个是用来构造 就是用来吃的等等 这是hard clustering
一个点只能属于一个 但是我们还可以有一种Soft clustering的方法
是说我们聚完了之后 比如说在这个上面
我们可以认为前面三个它是属于一类的
因为它们的translation 这个上面都没有值 它跟下面一个很不一样
所以上面你可以认为它们是一类 同时你还可以认为这两个是一类的
这两个是一类的 是因为你看其他的这两个
它在第一个parsing translation 上面都没有值 但是下面这两个 这个都是有值的
所以你会看到这个时候中间的这个document3
对于不同的考量的时候 它可能会使用不同的cluster
如果有数据点同时属于不同的cluster的话
那这个就是一个Soft clustering
在聚类上面很多真实的问题都是Soft clustering
我今天上午在讲另外一个课上的时候
我们讲信息检索课上的时候举了一个例子
一本书叫做外国经典建筑20讲 我们当时拿那本书
说它很多样来去举例 这本书我会发现在不同的网站上
比如说当当或者京东上 同样的一本书 或者就是当当上
它同样一本书的两个版本
一个版本把它分在了图书、文化、世界文化
这一个类里面 这一个cluster 你们觉得它是对吧
cluster是合理的 另外一个是把它放在了艺术
就是图书、艺术、建筑艺术上 也是对的
就同一本书 你其实可以在不同的类里面都是可以的
所以我们在聚类问题上也存在这样的情况 一个document
它可以同时具有多种不同的属性
-1.1 课程介绍
--课程介绍(1)
--课程介绍(2)
-1.2 机器学习的背景
--机器学习的背景
-1.3 什么是机器学习
--什么是机器学习
-1.4 机器学习系统设计
-第一章作业
-2.1 决策树的基本概念
--决策树的基本概念
-2.2 决策树的实例和发展历史
-2.3 经典决策树算法ID3
-2.4 过拟合和前剪枝
--过拟合和前剪枝
-第二章作业
-3.1 下午茶时间:勒索软件
-3.2 后剪枝
--后剪枝
-3.3 决策树的改进和归纳学习假设
-3.4 贝叶斯学习的背景
--贝叶斯学习的背景
-3.5 极大似然假设、朴素贝叶斯和最小描述长度
-第三章作业
-4.1 下午茶时间:微博的垃圾检测
-4.2 马尔可夫模型
--马尔可夫模型
-4.3 隐马尔可夫模型
--隐马尔可夫模型
-4.4 评估问题
--评估问题(1)
--评估问题(2)
-4.5 解码问题
--解码问题
-4.6 隐马尔可夫模型的应用
-第四章作业
-5.1 下午茶时间:图灵奖
-5.2 假设评估
--假设评估(1)
--假设评估(2)
--假设评估(3)
-5.3 置信度和置信区间
-5.4 有限数据下的比较
--有限数据下的比较
-第五章作业
-6.1 下午茶时间:黑洞照片
-6.2 基于实例的学习的基本概念
-6.3 最近邻算法
--最近邻算法
-6.4 K邻近算法
--K近邻算法
-6.5 KD树
--KD树
-6.6 距离加权的K近邻算法
-第六章考试
-7.1 支持向量机的背景
--支持向量机的背景
-7.2 线性支持向量机
-第七章作业
-8.1 核函数支持向量机
-8.4 支持向量机总结
--支持向量机总结
-8.5 无监督学习简介
-8.6 层次聚类
--层次聚类
-8.7 K-means聚类和K-medoids聚类
-第八章作业