一下内容有的来自网络,有的来自ChatGPT,不保证完全准确,都是个人学习时收集的定义,仅供参考,无意义。
经典的图形类聚方法
聚类定义:
聚类算法通过一定的计算,把数据集划分为不同的簇,旨在使同一簇内的数据相似性最高,簇与簇之间差距最大。
将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。聚类可以用于识别、划分图像数据集、组织和导航,以及对聚类后的图像进行相似性可视化。
聚类分类:
常见的聚类算法可分为以下几类:
(1) 划分法:即通过不断地迭代,使具有相似特征的数据划分为一类,具有不同特征的数据划分为另一类,直至满足迭代终止条件,划分结束。每个分组内都有对象,且每个对象只能在一个分组内。
(2) 层次法:将数据集内的对象分解或合并,最终形成的结构具有层次结构的树。其过程是将所有的数据放在一个簇里,通过某种策略将这个簇分成越来越小的分组,使同一分组内的数据离散度越来越小,直到分组满足终止条件或称为一个单独的簇。
(3) 基于密度的聚类:基于密度方法的聚类分析认为最终形成的聚类结果是由一个聚集在一起的样本点组成,这些数据对象分布紧凑,称之为高密度区,处于这些簇间隙的数据对象分布相对零散,称之为低密度区。算法旨在将数据分布分散的区域与数据分布集中的区域分散开,从而找到聚类目标。
(4) 基于网格方法的聚类:将数据集分成若干个数据单元,以数据单元为最小单位进行聚类。此方法只需关心网格数,不需要关心数据集内对象本身。
(5) 基于模型的方法聚类:与数学模型结合,为每个聚类目标寻找一个合适的数学模型,通过数学模型,将数据聚类。数学模型一般选择基于概率密度分布的函数或者选择体现相关性的函数。
聚类方法:
(1)k-means(k均值聚类) 算法
k-means算法的基本思想是从数据集中随机选取k个数据,作为初始聚类中心,然后根据相似性度量方式计算其他数据对象与初始聚类中心的距离或者其他相似性的度量,然后将其他对象分配到与初始聚类中心最相近的一个分组里。所有数据分配完成后,重新计算每个分组的聚类中心(即该分组中所有数据对象的均值),再进行下一轮迭代,直到满足某种终止条件,聚类结束。
k-means实现简单,算法运算速度快,适合大量数据分类,需要事先给定需要划分的类别数k,类别数k会影响最后的结果。
(2)DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法
DBSCAN算法作为一种典型的基于密度的聚类算法,其基本思想是,首先对整个数据集进行扫描,找到任意一个核心点。所谓核心点就是在该数据对象的领域内,包含的样本点的个数大于或者等于一个给定的下限值。从该核心点出发,找到与该核心点密度相连的所有数据点,然后用这些数据点对核心点进行扩充。通过遍历核心点领域内的所有核心点,找到所有与核心点密度相连的点,直到不能再扩充为止。在对所有的数据对象进行扫描后,再次进行扫面,找到那些没有被聚类的核心点,重复执行上面的工作,直到所有核心点都被归类后结束。在达到聚类终止条件后,独立存在的没被聚类成簇的数据就是噪声数据。
通过以上过程,可以看出DBSCAN算法可以去除明显的噪声数据。
噪声数据是指数据中存在着错误或异常(偏离期望值)的数据,这些数据对数据的分析造成了干扰。
(3)均值漂移算法经常被应用在图像识别中的目标跟踪、数据聚类等场景。该算法不用指定类别数目,而是通过带宽决定(带宽可以用指定算法估计)。
该算法,对于给定的一定数量样本,首先随便选择一个中心点,然后计算该中心点一定范围之内所有点到中心点的距离向量的平均值,计算该平均值得到一个偏移均值,然后将中心点移动到偏移均值位置,通过这种不断重复的移动,可以使中心点逐步逼近到最佳位置。
(4)层次聚类通过对数据集在不同层次进行划分,从而形成树形的聚类结构。通常分类“自上而下”分拆和“自底向上”聚合两个方式。层次聚类的合并算法通过计算两类数据点间的相似性,对所有数据点中最为相似的两个数据点进行组合,并反复迭代这一过程。简单的说层次聚类的合并算法是通过计算每一个类别的数据点与所有数据点之间的距离来确定它们之间的相似性,距离越小,相似度越高。并将距离最近的两个数据点或类别进行组合,生成聚类树。计算两个组合数据点间距离的方法有三种,分别为Single Linkage,Complete Linkage和Average Linkage。
一个数据集应该聚类成多少个簇,通常和我们关注数据集的粒度相关。层次聚类算法相比划分聚类算法的优点之一是可以在不同的尺度上(层次)展示数据集的聚类情况。但是其也有缺点:(1)算法终止的条件很模糊,难以精确表达并控制算法的停止(2)一旦聚类结果形成,一般不再重新构建层次结构来提高聚类的性能。
(5)谱聚类把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。该算法对图论中的无向图,线性代数和矩阵分析都有涉及。
深度学习聚类
深度学习聚类网络可以分为两部分,A部分:神经网络将输入转换为新的表示,B部分:然后基于新的表示再进行聚类。
深度学习: 深度学习是机器学习的一个子集,它消除了机器学习通常涉及的一些数据预处理,深度学习算法可以处理非结构化数据,简而言之,它是一种自动化预测分析的方法。
深度学习算法还使用梯度下降和反向传播的过程来让结果变得更加准确。
神经网络: 神经网络也是机器学习的一个子集,是深度学习算法的基础。受人脑的启发,它们由各种层组成,这些层依赖于训练数据来提高其准确性。
神经网络通常被称为人工神经网络(ANN),是深度学习的基础。受人脑的启发,它们的结构模仿生物神经元。
神经网络具有包含输入层、一个或多个隐藏层和输出层的节点层。每个人工神经元或节点都连接到另一个。神经网络依靠训练数据来学习和改进其随时间推移的预测,这使得它们能够用于各种应用。
人工神经网络 : ANN是最常见的深度学习网络类型之一,是由三层或更多层组成的受生物学启发的计算网络。它们用于解决涉及语音识别,文本翻译等各种问题。
卷积神经网络 (CNN):另一种类型的深度学习网络是CNN,它对计算机视觉和图像识别任务特别有用。与其他神经网络相比,CNN 在图像、音频信号或语音输入方面非常高效。它们依赖于三种主要类型的层:卷积层、池化层和全连接 (FC) 层。
递归神经网络(RNN):RNN是深度学习网络的另一种主要类型,它使用顺序数据或时间序列数据来解决与语言翻译和自然语言处理(NLP)相关的问题。
神经网络的一些主要组件包括:
神经元: 一种数学函数,旨在模拟生物神经元的功能。它计算数据输入的加权平均值,并通过非线性函数传递信息。
连接和权重: 连接将一层中的神经元连接到同一层或单独层中的另一个神经元。权重值连接到每个连接,它表示单元之间连接的强度。
传播函数: 神经网络由两个传播函数组成。第一种是向前传播,它提供“预测值”。第二种是向后传播,它传递“错误值”。
学习速率: 神经网络的学习速率决定了模型权重值的更新速度或速度。
分阶段聚类和单阶段聚类
分阶段聚类和单阶段聚类是两种常见的聚类算法。
单阶段聚类是将所有数据点一次性放入聚类算法中,直接得出最终的聚类结果。它通常使用迭代算法,如k-means和层次聚类等,也可以使用基于密度的聚类算法,如DBSCAN和OPTICS等。单阶段聚类简单易用,计算速度快,但是对数据噪声和异常值比较敏感,聚类效果可能不够理想。
分阶段聚类通常将数据集划分为多个子集,然后对每个子集进行单阶段聚类,最后将子集聚类结果合并成最终聚类结果。这种算法通常需要明确指定子集划分策略,如k-means和谱聚类等,同时需要额外的步骤来合并子集聚类结果。分阶段聚类可以降低对噪声和异常值的敏感性,同时可以对不同大小、密度和形状的数据集进行有效的聚类。