程序员开发实例大全宝库

网站首页 > 编程文章 正文

无监督机器学习备忘清单(无监督机器学习中的聚类算法)

zazugpt 2024-08-13 13:26:40 编程文章 34 ℃ 0 评论

无监督学习

本文总结了无监督学习技术,主要讨论并比较了不同聚类方法的差异。

K-means 聚类

· 分配:随机设置 K 个中心,将每个点分配给最接近点的中心

· 优化:移动中心以优化分配给它们的距离

· 重复步骤 1 和 2:将点重新分配给中心,并重新优化

缺点:


· 本地最小值 – 我们可以在不同的初始条件下多次运行 K-Means 聚类,以找到最佳输出。

· 对噪音和异常值敏感

选择 K

· 弯头方法:绘制 k 的升序值与使用该 k 计算的总误差,以查找最小总误差。

· 平均剪影方法:使用该 k 绘制 k 的升序值与平均剪影(同一聚类中点之间的平均距离)来查找最大平均剪影。

分层聚类


· 单链路:两个群集之间的距离由两个群集之间的最近点确定。然后将两个最近的群集合并到一个群集中。

· 完整链接:两个群集之间的距离由两个群集之间的最远点确定。然后将两个最近的群集合并到一个群集中。

· 平均链接:两个群集之间的距离由两个群集之间所有点的平均值确定。然后将两个最近的群集合并到一个群集中。

· 病房:获取 3 个中心点,群集 A 的中心点 A,群集 B 的中心点 B,两个群集中所有点的中心点 X。两个聚类之间的距离通过求和所有点到点 X 的距离,减去聚类 A 中所有点到点 A 的距离,以及聚类 B 中所有点到点 B 的距离。然后将两个最近的群集合并到一个群集中。合并后群集中方差增加最少。

优势:

· 生成的分层表示可以非常翔实

· 提供额外的可视化功能(图面图)

· 当数据集包含真正的分层关系时特别有效

缺点:

· 对噪音和异常值敏感

· 计算密集型 O(N2)

DBSCAN

输入:

Epsilon - 围绕点MinPoint的搜索距离 - 形成群集所需的最小点数

扫描所有点,并确定每个点是噪声点、核心点还是边界点。

优势:

· 无需指定群集数

· 集群形状和尺寸的灵活性

· 能够处理噪音和异常值

缺点:

· 可从两个群集到达的板点首先分配给群集,因此 DBSCAN 无法保证每次运行时相同的群集。

· 难以找到不同密度的聚类。(HDBSCAN 可以解决此问题)

GMM

· 初始化 K 高斯分布 - 可以使用 K-means 查找初始化点,设置均值、方差和共方差。

· 软聚类 - 查找它所属的群集的每个点的概率。

· 重新估计高斯 - 使用步骤 2 中的输出,使用群集中点的加权平均值查找新高斯的新平均值和新方差。

· 评估高斯Log可能性

· 重复步骤 2 - 步骤 4,直到日志可能性收敛

优势:

· 软群集(对于数据点,可以找到其成员/多个群集的可能性)

· 群集形状的灵活性(群集中可以包含另一个群集)

缺点:

· 对初始化值敏感

· 可能收敛到局部最佳

· 收敛速度慢

群集验证

· 外部索引:标记数据的评分方法 调整兰特指数

· 内部指数:无标签数据的评分方法银点系数

PCA

· 将输入功能转换为主要组件,并将 PC 用作新功能

· PC 是能够最大化方差或最大限度地减少信息损失的数据方向

· PC 是彼此的独立功能

· PC 的最大数量是输入功能的数量

· 减小尺寸,降低噪音

· 使用 PCA 查找驱动数据模式的潜在特征

· 使其他算法更好地工作,因为输入更少

随机投影

当 PCA 太慢时,我们可以使用随机投影来减小尺寸。通过将随机矩阵相乘从 D 维度到 K 尺寸,并在很大程度上保持点之间的距离。

LCA

· 假定组件在统计上是独立的

· 组件是非 Causian

· 需要与原始来源一样多的观测值来分离

(本文翻译自Tivadar Danka的文章《Machine Learning Cheat Sheet — Unsupervised Learning》,参考:https://towardsdatascience.com/machine-learning-cheat-sheet-unsupervised-learning-d954a9247fbe)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表