当前课程知识点:机器学习概论 > 第八章 支持向量机(II)和无监督学习 > 8.5 无监督学习简介 > 无监督学习简介(2)
那么刚才我们从Soft和hard的方式 软聚类 硬聚类的方式来去说
那么还有一种可以从这个聚类的结构 就你聚出来的类
它是层次的聚类 还是非层次的聚类 这个角度还可以分出来
比如说非层次的聚类 它就是平的 它就只有一层
而层次据类通常可以聚出来树的这样的结构
比如说我们这个它其实就是一个层次的聚类
比如说wine和beer可以啤酒和红酒是聚成一类
面包和大米聚成了一类 然后它们又可以再聚成一类
比如说都是食物类的 其实我每次在说的时候
比如说我说它都是食物类的 它可以喝的等等
其实这个label是我们自己理解的
并不是这个数据本身带有这个标签 我们往往描述这个类是
是我们的解释 并不是它的标准答案
并不是它的ground-truth 这一点大家一定要理解清楚
然后比如说我们给大家看个例子 这样的三个点
如果我们做非层次聚类 你其实可以聚成这个样子
只是其中的一种据类方法 也有可能聚出来的不一样
那么事实上我们刚才给大家看了层次聚类和非层次聚类
其实还有不同的分类方法 比较常用的就是层次 非层次这种分法
或者是Soft、hard的这种分法
那它这种聚类分析经常会用在什么场景呢
比如说生物学上面 就是把同源的序列分组到基因家族里面去
或者图象处理也有 再或者在经济学上面
比如说我们经常针对大家特定的行为 买了什么书
它的年龄 性别 最后把用户聚成不同的人群
这个人群你可以后面人工打一些标签 这个是高端用户
那些是学生族 还有哪些是什么 这些都是后来打的标签
其实你可以把不同的人群做一些人群的(...)
就是聚成不同的群体 还有就是在我们互联网相关的应用里面
也有非常多 比如说事件的检测 然后以及事件的趋势的分析
还有去发现相似的访问模式等等 应用非常的多
那么你如果想要去聚类 我们现在如果想要对数据做聚类
需要什么呢 首先我们的数据是没有标签的
所以我们只能做聚类 第二我们需要有一个距离的定义
或者说一个相似度的定义 有的时候 我们刚才说的是对于物体object之间
目标对象之间的定义 这个是一定要的
有的时候我们会需要有一个关于cluster相似度的或者距离的定义
这个尤其是在分层次聚类的时候会用到这个
而在平的聚类的时候 通常是不需要这个的
然后我们会有很多种聚类算法 我们从现在开始就跟大家
介绍一些不同的聚类算法 但是在那之前我们了解一下数据是怎么样表示的
那个数据其实是有很多种不同的类型 比如说可以是实数的数据
你其实也可以是binary的 就是男性 女性或者它就是两个取值A和B
或者是这种nomial values 就是这种比如说周一、周二、周三等等
这样的非序关系 属性类的这样的
以及或者是带有序关系的
比如说V1、V2或者Vm或者是rank
就是排序的关系以及大小长度等等 这些是有序关系的
其实聚类的算法对于各种不同类型的数据都是可以使用的
到底怎么用 其实它就和相似度的度量函数有关
我们一般会认为相似度是一个关于距离函数的一个逆 reverse
比如说我们在实数者实数上就比较简单了
你可以有一系列的计算公式来计算相似度 比如说内积
还有我们的cosine kernel 或者还可以有各种kernel 等等都可以
你还可以有各种各样的距离 我们其实在上上节课的
基于实例的学习上面给大家详细介绍过很多种不同的距离
那里面绝大多数的距离都可以应用于这种实数取值
也就是说在这种 聚类的这个场景下都是可用的
如果记的不是很清楚的同学 还可以回去翻翻
我们上上周的课程上面 关于距离的描述
那么如果它是一个描述性的这种属性类的值
比如说波士顿或者是男性 女性 或者是什么各种不同的取值
颜色红黄蓝等等这种情况下
它们本身在你这个问题上不具有序关系的时候 怎么做呢
这个怎么度量距离呢 有两种办法
第一种我们有时候会定义一堆规则
根据你实际的问题 你规则说如果Ax等于b
那么它们的similarity就等于1 否则就等于0 甚至你可以定义说Boston
和Pittsburgh之间的similarity等于0.3 然后LA和Pittsburgh之间的similarity等于0.7
这可以根据你自己的问题的背景来去定义 定义一些规则
还有你可以去考虑它们实际背后物理的意义
就是它实际的语义上的含义 这个语义含义比如说
我们可以把Boston和LA之间的 和洛杉矶它们之间的相似度
定义成这两个城市之间的距离的
实际物理上距离的倒数的一个表达式
这样你就会把原来没有办法去计算
不好计算的值变成了一个可量化的计算的值
取决于问题是什么 你还可以把它们的similarity定义成
比如说城市的规模 城市的面积
城市的人口之间的相似度等等这些 就变成了一些可以计算的东西
然后也可以定义出相似度矩阵
就是我们刚才说的A和B之间它的相似度是什么
你就写出来就变成一个表 相似度矩阵都是可以的
比如说我们这个 你可以说Tiny和Little之间的相似度
Tiny和Small之间的相似度是什么的 如果是一个相似度矩阵的话
你需要使得它们对角线 就是自己和自己的相似度一定要等于1
还有你需要去满足那个传递性
所以这个是我们需要考虑的一些基本的条件 如果是有序关系的
这个也不是非常复杂 比如说Small medium large和X-large
然后这种情况下 虽然有的时候 有的同学往往会一不小心
就把它当成一个 就是没有序关系的 关系的norminal feature去处理了
但是其实这个时候我们就失去了它实际上有序关系的含义
所以如果你的属性是有存在一定的序关系的
那么我们就应该把它当成有序关系的东西来去对待
怎么做呢 我们在计算Similarity的时候
往往常用的办法是我们把最大的和最小的
分别定义为1和0 比如说X-large就是1 Small就是0
就是最大和最小的就是1和0 那么其他的我们就把
其他的中间取一些差值 或者取均值 或者取它的分布等等这些
或者按照你的实际的semantic的含义把它取得
使得你这个值仍然保持有原来的序关系就可以了
然后我们就可以利用原来的相似度的那种计算方法
就是处理实数值的相似度的计算方法
来去处理这种有序的描述类的属性 这种情况下
同时也可以用相似度Similarity Matrix
只要你的Matrix能够体现出它们的序关系就可以了
-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聚类
-第八章作业



