【机器学习】几种常见的无监督学习算法

这篇具有很好参考价值的文章主要介绍了【机器学习】几种常见的无监督学习算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本系列包含:

  • 几种常见的有监督学习算法
  • 几种常见的无监督学习算法

1. PCA

降维是指在保留数据特征的前提下,以少量的变量表示有许多变量的数据,这有助于降低多变量数据分析的复杂度。减少数据变量的方法有两种:一种是只选择重要的变量,不使用其余变量;另一种是基于原来的变量构造新的变量。

PCA(Principal Component Analysis)是一种用于减少数据中的变量的算法。它对变量之间存在相关性的数据很有效,是一种具有代表性的降维算法。PCA 使用低维变量表示高维空间中的数据。这个低维的轴叫做主成分,以原来的变量的线性和的形式组成。PCA 能够发现对象数据的 方向重要度。方向由构成新变量时对象数据变量的权重决定,而重要度与变量的偏差有关。

PCA 采用以下步骤来寻找主成分:
(1)计算协方差矩阵。
(2)对协方差矩阵求解特征值问题,求出特征向量和特征值。
(3)以数据表示各主成分方向。

求解协方差矩阵的特征值问题,在数学上等同于 寻找使方差最大化的正交轴 的问题。PCA 对协方差矩阵求解特征值问题,并计算出特征值和特征向量的几种组合。这时按特征值大小排序的特征向量分别对应于第一组成分,第二主成分…

如果我们使用针对每个主成分计算出的特征值除以特征值的总和,就能够以百分比来表示主成分的重要度,这个比例叫做 贡献率,它表示每个主成分对数据的解释能力。从第一主成分开始依次相加得到的贡献率叫做 累计贡献率

值得注意的是,如果对变量之间没有相关性的数据进行 PCA,会发现各个主成分的贡献率几乎相同,所以可以反过来推断,这样的数据不适合用 PCA 进行降维。

2. LSA

LSA(Latent Semantic Analysis)是一种自然语言处理技术。作为一种降维算法,它常被用于信息搜索领域。使用 LSA 能够从大量的文本数据中找出单词之间的潜在关联性。

使用 LSA 可以根据大量文本自动计算单词和单词的相似度,以及单词和文本的相似度。通过 LSA 对文本和单词的矩阵进行降维,将其变换为 潜在语义空间。这种变换使用矩阵分解进行。比如,在单词空间中,车和汽车都被当作正交维度处理,而在语义空间中,二者被表示为相似的单词。

LSA 使用的矩阵分解是 奇异值分解。使用这种分解方法变换后的矩阵有时难以解释。在通过奇异值分解降维时,各个维度可能是正交的,矩阵中的元素也可能是负值,因此与之相比,NMF 和 LDA 等算法的结果更容易解释。同时,LSA 的计算成本有时很高。特别是在用于文本时,由于原始矩阵的维度就是单词的个数。所以 LSA 必须在非常大的矩阵上进行奇异值分解。随着新词的加入,原有的矩阵必须重新创建,我们必须在此基础上重新计算,所以模型的更新难度很大。

3. NMF

NMF(Non-negative Matrix Factorization,非负矩阵分解)是一种降维算,它的特点是输入数据和输出数据的值都是非负的。这个特点在处理图像等数据时有一个优点就是模型的可解释性强。

NMF 是一种矩阵分解方法,在计算机视觉、文本挖掘、推荐等各个领域都有应用。与 LSA 一样,它也可以找到矩阵的潜在变量,但 NMF 只适用于原始矩阵的所有元素都是非负数的情况。NMF 有如下特点:

  • 原始矩阵的元素是非负数。
  • 分解后矩阵的元素是非负数。
  • 没有 潜在语义空间的每一个维度都是正交的 这一约束条件。

4. LDA

LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)是一种降维算法,适用于文本建模。该算法可以根据文本中的单词找出潜在的主题,并描述每个文本是由什么主题组成的,还可以用于说明一个文本不只有一个主题,而是有多个主题。

LDA 通过以下步骤计算主题分布和单词分布。

  1. 为各文本的单词随机分配主题。
  2. 基于为单词分配的主题,计算每个文本的主题概率。
  3. 基于为单词分配的主题,计算每个主题的单词概率。
  4. 计算步骤 2 和步骤 3 中的概率的乘积,基于得到的概率,再次为各文本的单词分配主题。
  5. 重复步骤 2 到步骤 4 的计算,直到收敛。

根据步骤 4 中计算得到的概率,为各文本的单词分配主题。由于步骤 2 中确定了文本的主题概率,所以在同一个文本内,某些主题被选中的可能性较大。另外,同一个文本中的单词往往被选为同一个主题。通过重复这样的计算,文本分配到特定主题的概率就会增加,同时,由于与每个主题相关联的单词更容易被选中,所以单词作为代表主题的词的概率也会增加。

5. K-Means

K-Means 算法是一种聚类算法。其典型计算步骤如下:

  1. 从数据点中随机选择数量与簇的数量相同的数据点,作为这些簇的重心。
  2. 计算数据点与各重心之间的距离,并将最近的重心所在的簇作为该数据点所属的簇。
  3. 计算每个簇的数据点的平均值,并将其作为新的重心。
  4. 重复步骤 2 和步骤 3,直到所有数据点不改变所属的簇,或者达到最大计算步数。

可以通过计算 簇内平方和(Within-Cluster Sum of Squares,WCSS)来评估聚类结果的好坏。WCSS 随着簇的增加而变小,所以可以用于相同数量的簇的情况下的比较。WCSS 指的是对所有簇计算其所属的数据点与簇的重心之间距离的平方和,并将它们相加得到的值。这个值越小,说明聚类效果越好。

随着簇的增加,WCSS 会变小,但有时 WCSS 的变小幅度会从簇的数量为某个值时开始放缓。通过使用 Elbow 方法,可以确定合理的簇的数量。

6. 混合高斯分布

在机器学习和统计学中常用的高斯分布(即:正态分布),可以表示一组数据。如果数据集中有多组数据,可以使用 混合高斯分布(即多个高斯分布的线性组合)来实现聚类。

数据的分布可以用均值和方差表示,均值描述数据的中心位置,方差描述数据的离散程度。混合高斯分布是以多个高斯分布的线性叠加来表示数据的模型。

混合高斯分布的学习过程是从给定的数据点中找到每个高斯分布的均值和方差的过程。当然,混合高斯分布必须在不知道每个数据点的类别的情况下求出参数。因此,我们需要在推测每个数据点属于某个类别的权重的基础上,计算出数据点的各个类别的高斯分布参数(均值和方差)。具体的计算步骤如下:

  1. 初始化参数(各高斯分布的均值和方差)。
  2. 对每个类别计算数据点的权重。
  3. 根据步骤 2 中计算出的权重重新计算参数。
  4. 重复步骤 2 和步骤 3,直到通过步骤 3 更新前后的每个均值的变化足够小。

混合高斯分布中的每个高斯分布对呈椭圆形分布的数据有效,而 k-means 算法对从重心开始呈圆形分布的数据有效。

7. LLE

LLE(Locally Linear Embedding,局部线性嵌入)是一种被称为流形学习(mainfold learning)的算法。流形指的是可以将局部看作没有弯曲的空间。类似地,地球虽然是球体,但是我们可以对地球的局部绘制平面地图。

其目标是对具有非线性结构的数据进行降维。LLE 可以将以弯曲或扭曲的状态埋藏在高维空间中的结构简单地表示在低维空间中。

LLE 算法要求数据点由其近邻点的线性组合来表示。近邻点数量是超参数。虽然实际的数据在三维空间中,可能会呈现瑞士卷那样的卷曲结构,但 LLE 将其视为局部的点与点的关系,即近邻点之间是不弯曲的空间,所以仍使用近邻点来表示数据点。

8. t-SNE

t-SNE(t-Distributed Stochastic Neighbor Embedding, t t t 分布随机邻域嵌入)也是一种流形学习算法。通过将高维的复杂数据降维为二维或三维,用于空间的可视化。

t-SNE 特点是在降维时使用了自由度为 1 的 t t t 分布。通过 t t t 分布可以使高维空间中原本很近的结构在低维空间中变得更近,原本较远的结构变得更远。

t-SNE 算法的步骤如下:文章来源地址https://www.toymoban.com/news/detail-405487.html

  1. 对于所有的组 i i i j j j,使用高斯分布来表示 x i x_i xi x j x_j xj 的相似度。
  2. 在低维空间中随机配置与 x i x_i xi 相同数量的点 y i y_i yi,对于所有的组 i i i j j j,使用 t t t 分布表示 y i y_i yi y j y_j yj 的相似度。
  3. 更新数据点 y i y_i yi,使得步骤 1 和步骤 2 中定义的相似度分布尽可能相似。
  4. 重复步骤 3,直至达到收敛条件。

到了这里,关于【机器学习】几种常见的无监督学习算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习-无监督算法之降维

    降维:将训练数据中的样本从高维空间转换到低维空间,降维是对原始数据线性变换实现的。 为什么要降维?高维计算难,泛化能力差,防止维数灾难 优点:减少冗余特征,方便数据可视化,减少内存。 缺点:可能丢失数据,需要确定保留多少主成分 把一个矩阵拆成三个,

    2024年02月07日
    浏览(36)
  • python算法中的机器学习算法之无监督学习知识点(详解)

    目录 学习目标: 学习内容: Ⅰ. K均值聚类(K-Means Clustering) Ⅱ. 层次聚类(Hierarchical Clusteri

    2024年02月01日
    浏览(45)
  • 机器学习/深度学习常见算法实现(秋招版)

    包括BN层、卷积层、池化层、交叉熵、随机梯度下降法、非极大抑制、k均值聚类等秋招常见的代码实现。

    2024年02月17日
    浏览(43)
  • 【机器学习】机器学习常见算法详解第4篇:KNN算法计算过程(已分享,附代码)

    本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用,结合场景解决实际问题。包括K-近邻算法,线性回归,逻

    2024年02月19日
    浏览(34)
  • 【人工智能】机器学习算法综述及常见算法详解

    目录 推荐 1、机器学习算法简介 1.1 机器学习算法包含的两个步骤 1.2 机器学习算法的分类 2、线性回归算法 2.1 线性回归的假设是什么? 2.2 如何确定线性回归模型的拟合优度? 2.3 如何处理线性回归中的异常值? 3、逻辑回归算法 3.1 什么是逻辑函数? 3.2 逻辑回归可以用于多类

    2024年04月22日
    浏览(44)
  • 人工智能-10种机器学习常见算法

    机器学习是目前行业的一个创新且重要的领域。今天,给大家介绍机器学习中的10种常见的算法,希望可以帮助大家适应机器学习的世界。 线性回归(Linear Regression)是目前机器学习算法中最流行的一种,线性回归算法就是要找一条直线,并且让这条直线尽可能地拟合散点图中的

    2023年04月08日
    浏览(50)
  • 【阅读论文】USAD:多变量时间序列上的无监督异常检测

    USAD : UnSupervised Anomaly Detection on Multivariate Time Series IT系统的自动监控是Orange目前面临的挑战。考虑到其IT运营所达到的规模和复杂性,随着时间的推移,用于推断正常和异常行为的测量所需的传感器数量急剧增加,使得传统的基于专家的监督方法变得缓慢或容易出错。在本文中

    2024年02月12日
    浏览(45)
  • 【《机器学习和深度学习:原理、算法、实战(使用Python和TensorFlow)》——以机器学习理论为基础并包含其在工业界的实践的一本书】

    机器学习和深度学习已经成为从业人员在人工智能时代必备的技术,被广泛应用于图像识别、自然语言理解、推荐系统、语音识别等多个领域,并取得了丰硕的成果。目前,很多高校的人工智能、软件工程、计算机应用等专业均已开设了机器学习和深度学习的课程,此外,为

    2024年02月16日
    浏览(52)
  • 【零基础学机器学习 3】机器学习类型简介:监督学习 - 无监督学习 - 强化学习

    👨‍💻 作者简介:程序员半夏 , 一名全栈程序员,擅长使用各种编程语言和框架,如JavaScript、React、Node.js、Java、Python、Django、MySQL等.专注于大前端与后端的硬核干货分享,同时是一个随缘更新的UP主. 你可以在各个平台找到我! 🏆 本文收录于专栏: 零基础学机器学习 🔥 专栏

    2024年02月06日
    浏览(42)
  • 机器学习---监督学习和非监督学习

    根据训练期间接受的监督数量和监督类型,可以将机器学习分为以下四种类型:监督学习、非监督学习、半监督学习和强化学习。  在监督学习中,提供给算法的包含所需解决方案的训练数据,成为标签或标记。  简单地说,就是监督学习是包含自变量和因变量(有Y),同时

    2024年02月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包