设为首页 - 加入收藏 松源站长网 (http://www.0438zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2018 2019 vivo
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

非监督学习最强攻略

发布时间:2019-10-19 09:15 所属栏目:[经验] 来源:SAMshare
导读:MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,内容主要来自于《百面机器学习》一书,结合自己的经验与思考做的一些总结与归纳。本次主要讲解的内容是机器学习里的非监督学习经典原理与算法,非监督,也就

非监督学习最强攻略

MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,内容主要来自于《百面机器学习》一书,结合自己的经验与思考做的一些总结与归纳。本次主要讲解的内容是机器学习里的非监督学习经典原理与算法,非监督,也就是没有target(标签)的算法模型。

Index

  • K-Mean聚类算法
  • 高斯混合模型
  • 自组织映射神经网络
  • 聚类算法的评估指标
  • 常见聚类算法对比
  • 常见聚类算法的Python实现

在机器学习中存在一种问题,那就是模型是没有target的,给机器输入大量的特征数据,期望机器可以学习出当中的共性或者结构又或者是关联,并不需要像监督学习那样输出某个预测值。

K-Mean聚类算法

K-Mean的基本思想就是通过迭代的方式寻找K个簇(Cluster)的一种划分方案,使得聚类结果对应的Cost Function最小,一般K-Mean的Cost Function为各个样本距离所属簇中心点的误差平方和,公式为:

非监督学习最强攻略

其中Xi代表第i个样本,Ci是Xi所属的簇,μci代表簇对应的中心点,M是样本总数。

首先先来看一下K-Mean算法的具体步骤描述:

1)数据预处理,如归一化、异常值处理;

2)随机抽取K个簇(K由人工设定);

3)定义Cost Function:

非监督学习最强攻略

4)不断迭代下面👇步骤,直到CF收敛:

  • 对于每个样本Xi,将其分配到距离最近的簇:

非监督学习最强攻略

  • 对于每个簇,重新计算簇中心:

非监督学习最强攻略

K-Mean的优点

1)对于大数据集,算法还是相对高效的,计算复杂度为O(NKt),其中N为样本数,K为聚类数,t为迭代的论数;

2)一般情况下都可以满足聚类的需求。

K-Mean的缺点

1)需要人工确定K值,人工对大数据的K值预判有的时候不太好;

2)K-Mean很容易局部最优,所以效果很受一开始的初始值影响;

3)容易受到异常值,噪点的影响。

K-Mean调优思路

1)数据归一化和异常值处理。

因为K-Mean本质上是基于欧式距离度量的数据聚类方法,所以少量的极端值会影响聚类效果的,而且不同量纲的数据也会有不一样的影响,所以需要做一下预处理。

2)合理选择K值。

K值并不是拍脑袋拍出来的,需要用科学的办法去确定。一般可以通过多次试验结果决定,如采用手肘法:

非监督学习最强攻略

其中,横轴为K的取值,纵轴为误差平方和所定义的Loss Function。

可以看出,K值越大,距离和越小,我们看到当K=3的时候,曲线出现"拐点",因此一般我们选择这个点作为我们的K值。

此外,这里还介绍一个GS(Gap Statistic)方法,可参考:

https://blog.csdn.net/baidu_1...

3)采用核函数。

传统的欧式距离度量方式使得K-Mean算法本质上是假设各个簇的数据具有一样的先验概率,并呈现球形或者高维球形分布,但这种分布在现实中不太常见,这个时候我们引入一个核K-Mean算法,主要面对非凸的数据分布。

这类核聚类方法主要是通过一个非线性映射,将输入控件中的数据点映射到高位的特征空间中,并在新的特征空间中进行聚类,非线性映射增加了数据点线性可分的概率,从而达到更高精度的聚类结果。

再说说两种算法

1)K-Mean++算法

这个从名字上看,就是K-Mean的改良版,主要是在初始值的选取上作了改进。原先的K-Mean是随机选择初始值,而K-Mean++算法则是:

  • 第1个聚类中心也是随机;
  • 接下来的聚类中心,也就是第2个,按照距离当前聚类中心越远越好;
  • 按照上述思想,选择了k个初始的聚类中心;
  • 初始值选取完毕后,后续的流程和K-Mean是一样的。

2)ISODATA算法

当K值的大小不确定的时候,可以使用ISODATA算法,全称叫迭代自组织数据分析法。ISODATA算法在K-Mean算法的基础上增加了两个操作:

  • 分裂操作,对应着增加聚类中心数
  • 合并操作,对应着减少聚类中心数

ISODATA的应用也是比较复杂的,需要填比较多的参数:

  • 预期的聚类中心数据K0:在ISODATA运行过程中聚类中心数可以自动变化,这里的K0只是一个参考值;
  • 每个类所要求的的最少样本数Nmin:如果分裂后会导致某个子类别所包含的样本数量少于该阈值,会拒绝本次分裂操作;
  • 最大方差Sigma:用于控制某个类别中样本的分散程度,当样本的分散程度超过某个阈值时,且分裂后满足第一条要求,则进行分裂操作;
  • 两个聚类中心之间所允许的最小距离Dmin:如果两个簇靠得很近,就会被进行合并操作。

高斯混合模型

高斯模型,对应着高斯分布,高斯分布也就是我们平时常说的正态分布,高斯混合模型(Gaussian Mixed Model,GMM)也是一种聚类算法,和K-Mean算法类似,都是用了EM算法进行迭代计算。高斯混合模型是假设每个簇的数据都符合正态分布,当前数据呈现的分布则是每个正态分布的混合结果。

非监督学习最强攻略

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章