从零开始学机器学习——了解聚类
首要给咱们介绍一个很好用的学习地址:https://cloudstudio.net/columns
聚类是一种无监督学习办法,其根本假定是数据集未经过符号,或许输入数据与预界说的输出之间并不存在直接的对应联络。聚类的首要方针是将具有类似特征的数据点归类到同一组中,这一组一般被称为“簇”。
聚类成果的质量和有效性往往依赖于数据点之间的间隔衡量,然后影响到分组的精确性和合理性。经过聚类剖析,研讨人员可以发现数据的内涵结构,然后为后续的数据处理和决议计划供给有价值的参阅。
聚类入门
在咱们的日常日子中,当咱们面对需求收拾一堆家人的衣物时,实践上便是在进行一种聚类的进程🧦👕👖🩲。咱们依据衣物的品种、色彩、巨细等特征,将类似的衣物归类到一同,以便于收拾和寄存。这一简略的日子场景与数据科学中的聚类办法有着亲近的联络。在数据科学范畴,聚类被广泛运用于剖析用户的偏好、辨认市场趋势或确认任何未符号数据集的潜在特征。
经过将类似的数据点分组,聚类协助咱们更明晰地了解凌乱的信息,然后在某种程度上使咱们可以更好地处理凌乱的状况。
词汇了解
聚类,简略来说,便是将数据进行分类或归类的进程。可是,怎么有效地进行这种归类是各类算法需求深化研讨和考虑的要点。在这个进程中,咱们会遇到许多专有名词,这些术语的了解关于把握聚类办法和算法至关重要。
“转导”与“概括”
转导推理源自调查到的映射到特定测验用例的练习用例。概括推理源自映射到一般规矩的练习事例,然后才运用于测验事例。听不懂没联络,我来举个比方。
简略举个比方来阐明转导推理和概括推理的差异。
首要了解下概括推理:
- 你调查到三只天鹅:一仅仅白色的,另一仅仅白色的,第三仅仅白色的。
- 你依据这些调查得出定论:“一切天鹅都是白色的”。
在这个进程中,你从详细的调查(详细的白色天鹅)推导出一个一般性的定论(一切天鹅都是白色的)。可是,这个定论并纷歧定正确,由于你没有调查到一切的天鹅。
其次是转导推理:
- 你知道一个一般性准则:“一切天鹅都是鸟”。
- 你还知道:“这只动物是天鹅”。
- 依据这两个条件,你可以得出定论:“这只动物是鸟”。
在这个进程中,你从一般性的规矩(一切天鹅都是鸟)推导出一个特定的定论(这只天鹅是鸟)。这个定论是逻辑上必定的,只需条件树立。
所以说简略来说便是:
- 概括是从多个详细实例得出一个一般规矩,或许存在破例。
- 转导是依据一般规矩推导出特定实例的定论,逻辑上必定。
“非平面”与“平面”几许
平面几许是在二维平面上(例如纸面)进行的几许图形。根本的方针包含点、线、面、角、三角形、四边形等。如:在平面上制作一个三角形,丈量边长和视点,运用欧几里得几许的规矩,如勾股定理。
非平面几许研讨的是在三维空间或更高维空间中的几许特性。它包含非欧几里得几许,如椭圆几许和双曲几许。如:在球体表面上研讨几许,像是丈量大圆(在球面上的“直线”),例如地球上的最短途径(航线)。
几许与机器学习有着亲近的联络,数据常常以几许形状的办法存在。例如,点云数据、图画和视频可以视为在高维空间中的点。比方:在处理图画、交际网络等非欧几里得数据时,或许需求运用非欧几里得几许的概念来剖析数据的结构和联络,再或许经过几许办法,可以衡量不同数据点之间的类似性,然后协助分类和聚类使命。
聚类和间隔矩阵
聚类由它们的间隔矩阵界说,例如点之间的间隔。这个间隔可以经过几种办法来丈量。欧几里得聚类由点值的均匀值界说,非欧式间隔指的是“聚类中心”,即离其他点最近的点。我来句几个比方解说一下啥意思。
间隔矩阵:间隔矩阵是一个表格,记录了数据会集每对点之间的间隔。行和列表明数据点,矩阵中的每个元素表明对应点之间的间隔。
欧几里得间隔:这是最常用的间隔丈量办法,适用于核算在二维或三维空间中点之间的直线间隔。在聚类中,欧几里得聚类的“质心”是指一切点的均匀方位。你可以幻想质心是每个簇的“中心”。
非欧几里得间隔:指不遵从欧几里得几许规矩的间隔核算办法。例如,曼哈顿间隔、切比雪夫间隔等。这些间隔一般反映了不同的空间特性。
示例再阐明,假定咱们有以下数据点:
- 点 P1: (1, 2)
- 点 P2: (2, 3)
- 点 P3: (5, 8)
- 点 P4: (7, 9)
欧几里得聚类:
- 质心或许是核算出来的某个点,比方 (3.75, 5.5),这个点纷歧定是数据会集存在的点。
非欧几里得聚类:
- 假定咱们挑选点 P2 (2, 3) 作为中心,由于它与其他点的间隔较小。这个中心是数据会集实在存在的点。
束缚聚类
束缚聚类是一种结合了无监督学习和半监督学习的办法。它经过引进一些额定的束缚条件来辅导聚类进程,然后进步聚类的质量和作用。以下是一些要害点:
束缚的类型:
- 有必要链接(must-link):假如两个数据点被符号为“有必要链接”,那么在聚类时,这两个点有必要被分到同一个簇中。
- 无法链接(cannot-link):假如两个数据点被符号为“无法链接”,那么在聚类时,这两个点有必要被分到不同的簇中。
举例剖析一下,假定咱们在聚类一组物品,其间包含:
- 圆形塑料玩具
- 方形塑料玩具
- 三角形金属玩具
- 饼干(或许是纸制玩具或其他原料)
在没有束缚的状况下,算法或许会将圆形和方形玩具分到同一个簇中,而将三角形玩具和饼干分到另一个簇,由于算法仅依赖于它们的特征。
可是,假如咱们设定束缚条件——“一切物品有必要由塑料制成”,算法将只能考虑圆形和方形塑料玩具,因而它们会被正确聚到一同,而其他物品则不会搅扰这个进程。
所以束缚聚类经过供给辅导性的信息(有必要链接或无法链接),使得聚类算法可以更有效地处理数据,削减不相关物品的聚类,然后提高成果的质量。
密度
在查看时,每个聚类中的点之间的间隔或许或多或少地密布或“拥堵”,因而需求运用恰当的聚类办法剖析这些数据。
比方K-Means 适宜用于簇的形状比较规矩且密度较为均匀的数据集。对噪声灵敏,喧闹数据或许会搅扰聚类成果。在不同密度的聚类中作用欠安。HDBSCAN 特别适宜于数据密度不均匀的状况,可以自动辨认和扫除噪声。
因而,在挑选聚类算法时,依据数据的特色和需求挑选适宜的办法非常重要。
常用聚类算法
聚类算法的品种繁复,超越 100 种之多,其适用性一般取决于详细数据的性质和剖析方针。为了深化了解这些算法的特色,咱们将要点介绍两种常见的聚类办法:层次聚类和质心聚类。
接下来,咱们将经过详细的比方来论述这两种算法的特色及其在实践运用中的作用。
层次聚类
层次聚类是一种经过树立数据点之间的层次联络来进行聚类的办法。它的首要思维是将数据点逐渐兼并成簇,构成一个树状结构(树形图或 dendrogram)。
首要办法有两种,上面的图例则是自下而上的办法:
- 自下而上(凝集法,Agglomerative):
- 每个数据点开始时被视为一个独立的簇。
- 在每一步中,找到两个最近的簇并将它们兼并为一个新的簇。
- 重复这个进程,直到一切点都兼并为一个簇。
- 自上而下(分裂法,Divisive):
- 一切数据点开始时视为一个簇。
- 逐渐将簇分裂成更小的簇。
- 重复这个进程,直到每个数据点成为一个独立的簇。
假如仍是没懂,咱们再举一些比方,假定咱们有一组生果数据,包含苹果、橙子、香蕉和草莓。运用层次聚类,首要每个生果作为一个独自的簇,然后依据生果之间的类似性逐渐兼并,终究构成一个树状结构,展示出生果之间的联络。例如,苹果和橙子或许先兼并,由于它们都是柑橘类,而香蕉和草莓则或许在之后的兼并中构成新的簇。
质心聚类
质心聚类是一种依据质心(簇的中心点)来进行聚类的办法,最常用的比方便是 K-Means 算法。
K-Means 算法进程如下:
- 挑选簇的数量 (k)。
- 随机挑选 (k) 个初始质心。
- 将每个数据点分配到最近的质心,构成 (k) 个簇。
- 核算每个簇的新质心,即簇内一切点的均匀方位。
- 重复进程 3 和 4,直到质心不再改变(收敛)。
也举一些比方吧,假定咱们有一组客户数据,依据他们的购买行为进行聚类。运用 K-Means,挑选 k=3,可以将客户分为三类:频频购买者、偶然购买者和不活泼客户。算法会依据每类客户的购买习气核算质心,并调整每个客户的归属,终究得到三个清晰的客户集体。
这两类算法也有自己的局限性,层次聚类适宜小规模数据集,可以生成数据的层次联络,易于可视化,但核算凌乱度较高。质心聚类核算效率高,适宜大规模数据集,但需求事前指定簇的数量,且对异常值灵敏。
总结
在本文中,咱们探讨了聚类作为一种无监督学习办法的重要性与运用。聚类不只协助咱们辨认数据中的内涵结构,还能在实践日子中供给创意,例如咱们日常收拾衣物时的归类进程。经过了解间隔矩阵、束缚聚类及密度等概念,咱们可以更精确地进行数据剖析,并挑选适宜的聚类算法。无论是层次聚类仍是质心聚类,每种办法都有其共同的优势和适用场景。
今日的前置常识就到此为止,期望咱们可以敏捷把握这些根本概念,为后续学习打下杰出的根底。鄙人一章节中,咱们将深化探讨怎么对数据进行聚类剖析,等待与咱们一同探究这一重要的主题。
我是尽力的小雨,一名 Java 服务端码农,潜心研讨着 AI 技能的奥妙。我酷爱技能交流与共享,对开源社区充满热情。一起也是一位腾讯云创造之星、阿里云专家博主、华为如此享专家、掘金优异作者。
💡 我将不惜共享我在技能道路上的个人探究与经历,期望能为你的学习与生长带来一些启示与协助。
🌟 欢迎重视尽力的小雨!🌟