[笔记]机器学习之机器学习理论及案例分析《二》 聚类

简介: [笔记]机器学习之机器学习理论及案例分析《二》 聚类

#21天学习挑战赛—机器学习#

活动地址:CSDN21天学习挑战赛

前言

聚类

聚类是在无标记样本的条件下将数据进行分组,从而发现天然的结构。

聚类是无监督学习的主要任务,分类是监督学习的主要任务。

聚类主要应用在:

  • 发现数据的潜在结构
  • 对数据进行自然分组
  • 对数据进行压缩

这几个方面的功能使聚类既可以作为预处理程序,又可以作为独立的数据分析工具。

聚类定义

数据聚类(或聚类分组)的目标是在一个对象(模式、数据点)的集合中发现其自然的分组。

关于聚类目前尚无统一的定义,比较常用的定义如下:

聚类是把一个数据对象的集合划分成簇(子集),使簇内对象彼此相似,簇间对象不相似的过程。

什么是簇

回答什么是簇这个根本性问方面,人们已经做了大量努力。

给定一个数据集X,距离函数d,考虑一个聚类函数F,Kleinbreg描述了以下3个属性:

  • 尺度不变性:对于任意距离函数d和任意常数a>0,有F(d)=F(αd)
  • 划分丰富性:聚类函数F输出的数据簇划分集合包含数据所有可能的簇划分结果(标记一下)
  • 距离一致性:令d和d是两个距离函数,如果d在的基础上缩小同一簇中数据之间的距离,扩大不同簇中数据之间的距离,则F(d)= F(d`)

简单地说就是:

簇:数据点分布为一团的数据集合为一簇,如下红色圈。

聚类分类

聚类方法大体可以分为3个阶段:

  • 经典算法:它是2000年以前,而向早期的数据库及相关应用开发的算法。比如基于模型的算法,基于划分的算法,基于密度的算法,基于网格的算法,层次聚类算法,
  • 高级算法:它是2000年以来,在经典算法的基础上,针对更为复杂的数据和任务开发的算法。比如谱聚类,高维数据聚类,基于非负数矩阵分解的聚类,不确定数据聚类:
  • 多源数据算法:它是针对多源相关数据开发的算法。比如:多角度聚类,多任务聚类,多任务多视角聚类,迁移聚类,多模聚类。

离群点

简单理解为噪声点 或者 离各个簇都很远,如下绿色圈中的

聚类算法实例

这里,我们以经典算法——基于划分的聚类算法——k-均值算法为例,对聚类进行初步探索。

备注:基于划分的方法是一种被广泛研究和应用的数据聚类方法,这类方法的大部分算法都有着简洁易懂,易于实现等优点,在许多领域都发挥巨大作用,基于划分的方法通过一个最优化的目标函数发掘数据中包含的类别信息结构,通常以迭代的方式逐步提高聚类的效果。

这里首先需要引入一个原型点的概念,即可以体现出某一类别特性的代表的点,因此,基于划分的算法通常需要设定某种确定的参数来选取可以代表对应簇的原型点.

原型点:可以体现出某一类别特性的代表的点

因此,基于划分的方法也称为基于原型的方法。

基于划分算法的基本流程:

K-Means算法(k-均值算法)

k-均值算法在许多学科科领域内得到了大量的研究和应用,具体如:

  • 数据压缩、
  • 数据分类、
  • 密度估计等方面,

因为其算法思想较为简洁易懂,且花费较小的计算代价可以获得不错的聚类结果等原因,k-均值算法成为各种聚类算法中较为常用的算法之一。

算法实现k-means是最大分离和最大内聚的最简单实现.

基本步骤是:

  • 寻找质心最佳位置

寻找质心最佳位置

假设我们有一个数据集 ,要分成K个聚类和一组K质心,则经由k-均值算法进行聚类分析后,产生的类别集合为C={C1,C2,,Ck},其聚类中心为:

其中,

集合M和质心有一个附加索引 t(作为上标)表示迭代次数,从最开始的开始,K-means试图最小化目标函数,我们可以使用误差平方和SSE作为度量聚类质量的目标函数:

如果SSE(t+1)<SSE(t),则表示质心正在接近一个最佳位置。

寻找最佳位置的过程就是一个迭代的过程,这个迭代过程也叫做劳埃德算法Lloyd’s Algorithm,通过给M0初始化随机值开始,下一步是给xi∈X的每个样本分配质心与x;距离最小的聚类:

完成所有分配后,新的质心将重新被赋值:

重复该过程直到质心停止变化。

有上述步骤可知,最初我们选择的质心对计算时间具有很大影响:

  • 如果非常接近那么,我们只需迭代几次就可以得到最佳位置
  • 但是 如果纯粹是随机的时候,无效的初始选择的概率接近于1.

同时,我们需要注意的是,劳埃德算法虽然计算简单且易于理解,但是算法易陷入局部最优解而不是全局最优解,对于这个问题,我们可以在同一个数据及上多运行几次k-均值算法,然后选取SSE(temd)最小的那次作为最终聚类结果。

关于均值

关于距离函数

维度灾难

我们可以了解到,传统的聚类算法在高维数据上的性能通常很差,

故我们在训练模型时,要特别注意维度灾难(curse of dimensionality)现象

定义

维度灾难,即当我们模型的特征个数不断增加时,模型性能可能会有提升,但是超过了某个值后,其性能不升反降。

举例,发生数据聚类有重叠的情况,说明可能是不同维度的重叠,虽然是仍然是两个簇,但平面上相交,三维为正常簇,引起的聚类分划问题。

产生的问题

维度灾难同时引发了过拟合问题,即模型在训练集上表现的良好,但在非训练集上表现一般,此时模型可能因为特征维数过多,从而学习了过多细节,泛化能力差。

在此,引用纳特·西菲尔的一句话:信息越多,问题越多。

在这个时代,我们的信息量增长速度过快,人们应该从干忧他们的噪声中分辨出有用的信号。但是由于人工筛选特征成本过大,再加上人们本身对所研究的事物不够了解,难以人工筛选出"有用的"特征,所以此时,我们就可以考虑,让模型自己去提取特征。

解决办法

为此,人们广泛研究了降维特征变换方法,将原始数据映射到一个新的特征空间,生成的数据更容易被现有的分类器分离。

一般来说,现有的数据变换方法有主成分分析(PCA)等线性变换和核方法、谱方法等非线性变换。

然而,高度复杂的数据隐藏结构仍然挑战着现有聚类方法的有效性。

随着深度学习的发展,深度神经网络由于其高度非线性转换的固有特性,可以用于将数据转换为更有利于聚类的表示。

我们将带深度学习的聚类方法称为深度聚类

总结

参考:

机器学习理论及案例分析(part3)–聚类

相关文章
|
18天前
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
52 3
|
3月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
65 1
|
18天前
|
机器学习/深度学习 存储 人工智能
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
使用Python作为开发语言,基于文本数据集(一个积极的xls文本格式和一个消极的xls文本格式文件),使用Word2vec对文本进行处理。通过支持向量机SVM算法训练情绪分类模型。实现对文本消极情感和文本积极情感的识别。并基于Django框架开发网页平台实现对用户的可视化操作和数据存储。
21 0
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
|
1月前
|
机器学习/深度学习 人工智能 算法
利用机器学习预测股市趋势:一个实战案例
【9月更文挑战第5天】在这篇文章中,我们将探索如何使用机器学习技术来预测股市趋势。我们将通过一个简单的Python代码示例来演示如何实现这一目标。请注意,这只是一个入门级的示例,实际应用中可能需要更复杂的模型和更多的数据。
|
2月前
|
机器学习/深度学习 人工智能 数据处理
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
探测外太空中的系外行星是天文学和天体物理学的重要研究领域。随着望远镜观测技术的进步和大数据的积累,科学家们已经能够观测到大量恒星的光度变化,并尝试从中识别出由行星凌日(行星经过恒星前方时遮挡部分光线)引起的微小亮度变化。然而,由于数据量巨大且信号微弱,传统方法难以高效准确地识别所有行星信号。因此,本项目旨在利用机器学习技术,特别是深度学习,从海量的天文观测数据中自动识别和分类系外行星的信号。这要求设计一套高效的数据处理流程、构建适合的机器学习模型,并实现自动化的预测和验证系统。
44 1
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Hologres 与机器学习的融合:为实时分析添加预测性分析功能
【9月更文第1天】随着数据科学的发展,企业越来越依赖于从数据中获取洞察力来指导决策。传统的数据仓库主要用于存储和查询历史数据,而现代的数据仓库如 Hologres 不仅提供了高性能的查询能力,还能够支持实时数据分析。将 Hologres 与机器学习技术相结合,可以在实时数据流中引入预测性分析,为企业提供更深入的数据洞见。本文将探讨如何将 Hologres 与机器学习集成,以便实现实时的预测性分析。
57 4
|
2月前
|
机器学习/深度学习 算法 数据中心
【机器学习】面试问答:PCA算法介绍?PCA算法过程?PCA为什么要中心化处理?PCA为什么要做正交变化?PCA与线性判别分析LDA降维的区别?
本文介绍了主成分分析(PCA)算法,包括PCA的基本概念、算法过程、中心化处理的必要性、正交变换的目的,以及PCA与线性判别分析(LDA)在降维上的区别。
55 4
|
2月前
|
机器学习/深度学习 数据采集 算法
【机器学习】K-Means聚类的执行过程?优缺点?有哪些改进的模型?
K-Means聚类的执行过程、优缺点,以及改进模型,包括K-Means++和ISODATA算法,旨在解决传统K-Means算法在确定初始K值、收敛到局部最优和对噪声敏感等问题上的局限性。
55 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】聚类算法中的距离度量有哪些及公式表示?
聚类算法中常用的距离度量方法及其数学表达式,包括欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、余弦相似度等多种距离和相似度计算方式。
115 1
下一篇
无影云桌面