加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

非监督学习最强攻略

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

高斯混合模型的核心思想,每个单独的分模型都是标准高斯分布模型,其均值和方差都是待估计的参数,还有一个参数π,可以理解为权重(or 生成数据的概率),其公式为:

非监督学习最强攻略

它是一个生成式模型,并且通过EM算法框架来求解,具体的迭代过程如下:

首先,初始随机选择各个参数的值(总共3个参数,均值、方差和权重),然后迭代下面两步,直到收敛:

1)E步骤:根据当前的参数,计算每个点由某个分模型生成的概率。

2)M步骤:使用E步骤估计出来的概率,来改进每个分模型的均值、方差和权重。

高斯混合模型与K-Mean算法的相同点:

1)他们都是用于聚类的算法,都需要指定K值;

2)都是使用EM算法来求解;

3)往往都是得到局部最优。

而它相比于K-Mean算法的优点,就是它还可以用于概率密度的估计,而且可以用于生成新的样本点。

生成式模型(Generative Model):对联合分布概率p(x,y)进行建模,常见生成式

模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA

等。

判别式模型(Discriminative Model):直接对条件概率p(y|x)进行建模,常见判

别模型有:线性回归、决策树、支持向量机SVM、k近邻、神经网络等。

自组织映射神经网络

自组织映射神经网络(Self-Organizing Map,SOM)是无监督学习方法中的一类重要方法,可以用于聚类、高维可视化、数据压缩、特征提取等等用途,因为提出者是Teuvo Kohonen教授,因此也被称为Kohonen网络。

讲SOM之前,先科普一些生物学研究:

1)在人脑的感知通道上,神经元组织是有序排列的;

2)大脑皮层会对外界特定的信息在特定的区域产生兴奋;

3)在生物神经系统中存在着一种侧抑制现象,即一个神经细胞兴奋后,会对周围其他神经细胞产生抑制作用,这种抑制作用会使得神经细胞之间出现竞争,其结果是某些获胜,某些失败,表现则为获胜细胞兴奋,失败细胞抑制。

而我们的SOM就是对以上的生物神经系统功能的一种人工神经网络模型。

SOM本质上是一个两层神经网络,包含输入层和输出层。输入层模拟感知外界输入信息,输出层模拟做出响应的大脑皮层。

1)输出层中,神经元的个数就是聚类的个数;

2)训练时采用"竞争学习"的方式,每个输入的样本,都会在输出层中找到与之最为匹配的节点,这个节点被称之为"激活节点"(winning neuron);

3)紧接着采用随机梯度下降法更新激活节点的参数,同时适当地更新激活节点附近的节点(会根据距离远近选择更新的"力度");

4)上面说到的"竞争学习",可以通过神经元之间的横向抑制连接(负反馈路径)来实现。

一般,SOM模型的常见网络结构有两种,分别是一维和二维的:

非监督学习最强攻略

SOM的自组织学习过程,可以归纳为下面几个子过程:

1)初始化:所有连接权重都用小的随机值进行初始化。

2)竞争:神经元计算每一个输入模式各自的判别函数值,并宣布具有最小判别函数值的特定神经元为胜利者,每个神经元j的判别函数为:

非监督学习最强攻略

3)合作:获胜的神经元决定了兴奋神经元拓扑邻域的空间位置,确定了激活节点后,更新临近的节点。

4)适应:适当调整相关兴奋神经元的连接权重,使得获胜神经元对相似输入模式的后续应用的响应增强。

5)迭代第2-4步,直到特征映射趋于稳定。

等到最后迭代结束之后,每个样本所激活的神经元就是它对应的类别。

SOM与K-Mean算法的区别:

1)K-Mean算法需要事先确定好K值,而SOM不需要;

2)K-Mean算法为每个输入数据找到一个最相似的类,只更新这个类的参数;而SOM则会更新临近的节点,所以,K-Mean算法受噪声影响比较大,SOM则可能准确性方面会差一些;

3)SOM的可视化很好,有优雅的拓扑关系图。

如何训练参数

1)设定输出层神经元的数量:如果不清楚,可以尽可能设定较多的节点数。

2)设计输出节点的排列:对于不同的问题,事先选择好模式。

3)初始化权值。

4)设计拓扑邻域:拓扑邻域的设计原则是使得邻域不断缩小,从而输出平面上相邻神经元对应的权向量既有区别又有相当的相似度,从而保证获胜节点对某一类模式产生最大响应时,其邻域节点也产生较大响应。

5)设计学习率:学习率是一个递减函数,可以结合拓扑邻域一起考虑。在训练开始时,可以选择较大的值,这样子比较快下降,后面慢慢减少。

聚类算法的评估指标

聚类算法不像有监督学习有一个target,更多的都是没有目标的,所以评估指标也是不一样的,下面介绍几种常用的评估指标:

1)轮廓系数(Silhouette Coefficient)

silhouette 是一个衡量一个结点与它属聚类相较于其它聚类的相似程度,取值范围-1到1,值越大表明这个结点更匹配其属聚类而不与相邻的聚类匹配。如果大多数结点都有很高的silhouette value,那么聚类适当。若许多点都有低或者负的值,说明分类过多或者过少。

定义

轮廓系数结合了凝聚度和分离度,其计算步骤如下:

对于第i个对象,计算它到所属簇中所有其他对象的平均距离,记为ai(体现凝聚度)

对于第i个对象和不包含该对象的任意簇,记为bi(体现分离度)

第i个对象的轮廓系数为si=(bi-ai)/max(ai,bi)

2)Calinski-Harabaz指数

如果标签是未知的,sklearn.metrics.calinski_harabaz_score则可以使用Calinski-Harabaz指数来评估模型,其中较高的Calinski-Harabaz分数与具有更好定义的聚类的模型相关。

优点:

  • 当集群密集且分离好时,分数更高,这与集群的标准概念有关。
  • 得分快速计算

缺点:

  • 凸群的Calinski-Harabaz指数通常高于簇的其他概念,例如通过DBSCAN获得的基于密度的集群。

3)Adjusted Rand index(调整后兰德指数)

该指标是衡量两个赋值相似度的函数,忽略排列组合

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读