第五章 非监督学习
0 写在前面
前两天多看了两章一直都没更新,今天写的时候发现有些忘了,刚好捡起来回顾一下,近来也没什么事,兴趣来了就在图书馆泡一天看看自己喜欢的。再次重复下,这是第一遍,加之基础不好,明年才有可能出去实习,现在主要看看大概的知识框架,后续还会回头细看。扯远啦,步入正题。
相比于监督学习,非监督学习的输入数据没有标签信息,需要通过算法模型来挖掘数据内在的结构和模式。非监督学习主要包括两大类学习方法:数据聚类和特征变量关联。
1 K均值聚类
分类问题属于监督学习范畴,而聚类则是非监督学习。K-mean算法属于最基础和最常用的聚类算法。基本思想是,通过迭代方式寻找K个簇的一种划分方案,使得聚类结果对应的代价函数最小。
Q1:简述K-means算法的具体步骤
A1:详见P93
Q2:K-means算法的优缺点是什么?如何对其进行调优?
A2:K-means算法有一些缺点,例如受初值和离群点的影响每次的结果不稳定、结果通常不是全局最优而是局部最优解、无法很好地解决数据簇分布差别比较大的情况,不太适用于离散分类等。
K-means算法的调优一般可以从以下几个角度出发。
(1)数据归一化处理和离群点处理
(2)合理选择K值
(3)采用核函数
详见P95-97
Q3:针对K-means算法的缺点,有哪些改进的模型?
A3:K-means主要的缺点如下:
(1)需要人工宇轩确定初始K值,且该值和真实的数据分布未必吻合。
(2)K-means只能收敛到局部最优,效果收到初始值很大
(3)易受到噪点的影响
(4)样本点只能被划分到单一的类中。
改进的模型有:
K-means++:主要是对K-means的初始值的改进
ISODATA算法:ISODATA的全称是迭代自组织数据分析法。对高纬度、海量的数据集问题,进行改进。详见P98
Q4:证明K-means算法的收敛性(较难)
A4:证明过程需要用到EM算法,详见P99-101
2 高斯混合模型
高斯混合模型也是一种常见的聚类算法,与K-means算法类似。高斯混合模型假设每个簇的数据都是符合高斯分布的,当前数据呈现的分布就是各个簇的高斯分布叠在一起的结果。
Q1:高斯混合模型的核心思想是什么?它是如何迭代计算的?
A1:高斯混合模型的核心思想是,假设数据可以看作从多个高斯分布中生成出来的。
高斯混合模型与K-means算法的相同点是,它们都是可用于聚类的算法;都需要指定K值;都是使用EM算法来求解;都往往只能收敛于局部最优。而它相比于K-means算法的优点是,可以给出一个样本属于某类的概率是多少;不仅仅可以用于聚类,还可以用于概率密度的估计;并且可=可以用于生成新的样本点。
3 自组织映射神经网络
自组织映射神经网络(SOM)是无监督学习方法中的一类重要方法,可以用作聚类、高维可视化、数据压缩、特征提取等多种用途。
Q1:自组织映射神经网络是如何工作的?它与K-means均值算法有何区别?
A1:自组织神经网络本质上是一两层的神经网络,包含输入层和输出层(竞争层),详细介绍见P106-108
自组织映射神经网络与K-means算法的区别如下:
(1)K-means算法需要实现定下类的个数,也就是K的值。而自组织映射神经网络则不用,隐藏层中的某些解点可以没有任何输入数据属于它,因此聚类结果的实际簇数可能会小于神经元的个数。而K-means算法受K值设定的影响更大一些
(2)K-means算法为每个输入数据找到一个最相似的类别后,只更新这个类别的参数;自组织映射神经网络则会更新临近的节点。所以,K-means受噪声数据的影响较大,而自组织映射神经网络的准确性可能比K-means低(因为页更新了临近节点)
(3)相比较而言,自组织神经网络的可视化比较好,而且具有优雅的拓扑关系图。
Q2:怎样设计自组织映射神经网络并设定网络训练参数?
A2:设定输出层神经元的数量、设计输出层节点的排列、初始化权值、设计拓扑领域、设计学习率
4 聚类算法的评估
Q1:以聚类问题为例,假设没有外部标签数据,如何评估两个聚类算法的优劣?
A1:以中心定义的数据簇、以密度定义的数据簇、以联通定义的数据簇、以概念定义的数据簇 (太多了 详见P111-115)
小结:
这一章整体来说比较难,涉及到概念较多,数学推导也比较复杂,暂时不做过多探究,后续可做深入研究。