Please enable JavaScript.
Coggle requires JavaScript to display documents.
无监督学习 (分类 (聚类(clustering) (算法 (机器学习 (均值漂移(Mean-Shift Clustering) (步骤 …
无监督学习
分类
聚类(clustering)
例子
给定客户身高体重数据,对客户进行聚类,分出S,M,L3种衣服码数
算法
机器学习
缺点
- 须提前知道数据有多少类/组
- 距离度量仅限于原始数据空间,当输入维度较高时,它们往往无效
-
步骤
- 首先我们选择一些类/组,并随机初始化它们各自的中心点
- 计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中
- 计算每一类中中心点作为新的中心点
- 重复以上步骤,直到每一类中心在每次迭代后变化不大为止
步骤
- 确定滑动窗口半径r,以随机选取的中心点C半径为r的圆形滑动窗口开始滑动。
- 每一次滑动到新的区域,计算滑动窗口内的均值来作为中心点,滑动窗口内的点的数量为窗口内的密度
- 计算窗口内的中心点以及窗口内的密度,向高密度方向移动窗口
- 步骤一到三会产生很多个滑动窗口,当多个滑动窗口重叠时,保留包含最多点的窗口,然后根据数据点所在的滑动窗口进行聚类
优点
- 不需要知道有多少类/组
- 基于密度的算法相比于K-Means受均值影响较小
缺点
- 窗口半径r的选择可能是不重要的,也就是对距离不敏感
概述
均值漂移聚类是基于滑动窗口的算法,来找到数据点的密集区域。这是一个基于质心的算法,通过将中心点的候选点更新为滑动窗口内点的均值来完成,来定位每个组/类的中心点。然后对这些候选窗口进行相似窗口进行去除,最终形成中心点集及相应的分组
-
步骤
- 首先确定半径r和minPoints。从一个没有被访问过的任意数据点开始,以这个点为中心,r为半径的圆内包含的点的数量是否大于或等于minPoints,如果大于或等于minPoints则改点被标记为central point,反之则会被标记为noise point
- 重复1的步骤,如果一个noise point存在于某个central point为半径的圆内,则这个点被标记为边缘点,反之仍为noise point。重复步骤1,知道所有的点都被访问过
-
-
-
步骤
- 选择簇的数量(与K-Means类似)并随机初始化每个簇的高斯分布参数(均值和方差)
- 给定每个簇的高斯分布,计算每个数据点属于每个簇的概率
- 基于这些概率我们计算高斯分布参数使得数据点的概率最大化(移动中心的和改变椭圆形的形状)
- 重复迭代2和3直到在迭代中的变化不大
优点
- 高斯混合模型(GMM)做聚类首先假设数据点是呈高斯分布的,相对应K-Means假设数据点是圆形的,高斯分布(椭圆形)给出了更多的可能性
- GMMs是使用概率,所以一个数据点可以属于多个簇
分类
合成聚类(HAC)
概述
自下而上的算法在一开始就将每个数据点视为一个单一的聚类,然后依次合并(或聚集)类,直到所有类合并成一个包含所有数据点的单一聚类
步骤
- 首先将每个数据点作为一个单独的聚类进行处理,然后选择一个度量两个聚类之间距离的距离度量
- 在每次迭代中,将两个聚类合并为具有最小平均连接的组
- 重复步骤2直到到达树的根,或选择最终需要多少个聚类,也就是何时停止合并聚类
优点
- 不需要知道有多少个簇
- 对于距离度量标准的选择并不敏感
-
概述
层次聚类算法实际上分为两类:自上而下或自下而上
概述
主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。
步骤
1. 选择权重函数
点与点之间需要一个度量来衡量距离,因为是无向,为了使a→b和b→a的权重一样,权重函数应该对称
- ϵ-邻近法
- K邻近法
- 全连接法(高斯核函数、sigmoid函数)
2. 计算矩阵
- 度矩阵D
- 相似矩阵W
- 拉普拉斯矩阵 L = D - W
3. 制定切分算法
原则
让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高
分类
权重最小切图
分割权重最小的边,但这会导致仅仅分割离群的点,而不考虑分割后的权重和
RatioCut切图
不光考虑最小化被切割权重,还同时考虑最大化每个子图点的个数
Ncut切图
与RatioCut相似,但切图时基于权重更合我们的目标,而不是基于样本个数
-
缺点
- 因为需要计算整个图的点,所以资源的使用会随着数据的增加成二次或超二次的增加
t-分布随机邻域嵌入(t-SNE)
步骤
- 通过将数据点x之间的高纬欧几里得距离转换为表示相似性的条件概率。其中会通过困惑度控制方差,以调整正态分布的形状
- x在低维空间对应y,通过欧氏距离计算y的条件概率
- 根据以KL散度为基础的代价函数,梯度下降最小化损失
SNE和t-SNE的区别
不对称问题
- 因为pij和pji不对称,所以t-SNE用pij和pji的和代替其SNE中的pij或pji
拥挤问题
- 在三维的球里面有均匀分布的点,如果吧这些点投影到一个二维的圆上会有很多点是重合的,所以重合只能用不同的距离表示,t-SNE用长尾表示qij,所以即使距离不一样,概率也会一样。从而达到高纬空间和低维空间对应的点概率相同的目的。
-
分类
聚类可以广义的分为层级和分区方法
- 层级聚类建立分层的聚类器和数据点
- 分区算法创建中心点,并利用距离算法吧数据点分配到最近的中心点
非聚类(Non-clustering)
例如:给定一堆音频,识别期中的音乐和人的说话声
验证
概述
因为学习训练存在一个验证过程,但无监督学习的数据没有标准答案,只能通过有监督学习的数据验证算法,然后再放到实际数据上使用
-
-