08无监督学习——聚类

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

1.什么是聚类任务?

类别:无监督学习
目的:通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。

1.1K均值聚类

步骤:

  • 随机选取样本作为初始均值向量(初始值:k的值【即几个簇】)
  • 分别计算每个样本点到初始均值向量的距离,距离哪个点最近就属于哪个簇
  • 每个簇重新计算中心点,重复第二步直到收敛

距离计算:
距离度量/非距离度量:若它是一个距离度量则应该满足以下性质:

  • 非负性:dist(x,y)>=0
  • 同一性:dist(x,y)=0,当且仅当x=y
  • 对称性:dist(x,y) = dist(y,x)
  • 直递性:dist(x,z) <= dist(x,y)+dist(y,z)
1.1.1 曼哈顿距离

d i s t m a n ( x i , x j ) = ∥ x i − x j ∥ 1 = ∑ μ = 1 n ∣ x i μ − x j μ ∣ {\rm{dis}}{{\rm{t}}_{man}}({x_i},{x_j}) = {\left\| {{x_i} - {x_j}} \right\|_1} = \sum\limits_{\mu = 1}^n {\left| {{x_{i\mu }} - {x_{j\mu }}} \right|} distman(xi,xj)=xixj1=μ=1nxiμxjμ

1.1.2欧氏距离

dist ⁡ e d ( x i , x j ) = ∥ x i − x j ∥ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 \operatorname{dist}_{\mathrm{ed}}\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right)=\left\|\boldsymbol{x}_i-\boldsymbol{x}_j\right\|_2=\sqrt{\sum_{u=1}^n\left|x_{i u}-x_{j u}\right|^2} disted(xi,xj)=xixj2=u=1nxiuxju2

1.1.3 切比雪夫距离

切比雪夫距离定义为两个向量在任意坐标维度上的最大差值。换句话说,它就是沿着一个轴的最大距离。切比雪夫距离通常被称为棋盘距离,因为国际象棋的国王从一个方格到另一个方格的最小步数等于切比雪夫距离。

D ( x , y ) = max ⁡ i ( ∣ x i − y i ∣ ) D(x,y) = \mathop {\max }\limits_i (|{x_i} - {y_i}|) D(x,y)=imax(xiyi)

切比雪夫距离通常用于特定的用例,这使得它很难像欧氏距离或余弦相似度那样作为通用的距离度量。因此,在确定适合用例时才使用它。

1.1.4 闵式距离

给定样本 x i = ( x i 1 ; x i 2 ; … ; x i n ) {x_i} = ({x_{i1}};{x_{i2}}; \ldots ;{x_{in}}) xi=(xi1;xi2;;xin) x j = ( x j 1 ; x j 2 ; … ; x j n ) {x_j} = ({x_{j1}};{x_{j2}}; \ldots ;{x_{jn}}) xj=(xj1;xj2;;xjn),最常用的就是闵可夫斯基距离。

d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dis{t_{mk}}({x_i},{x_j}) = {(\sum\limits_{u = 1}^n {{{\left| {{x_{iu}} - {x_{ju}}} \right|}^p}} )^{{1 \over p}}} distmk(xi,xj)=(u=1nxiuxjup)p1

  • p=1时,闵可夫斯基距离即为曼哈顿距离( Manhattan distance )
  • p=2时,闵可夫斯基距离即为欧式距离( Euclidean distance )
  • p= ∞ \infty 时,闵可夫斯基距离即为切比雪夫距离(Chebyshev Distance )
1.1.5 余弦相似度(Cosine Similarity )

余弦相似度经常被用作抵消高维欧式距离问题。余弦相似度是指两个向量夹角的余弦。

两个方向完全相同的向量的余弦相似度为1,而两个彼此相对的向量的余弦相似度为- 1。注意,它们的大小并不重要,因为这是在方向上的度量。

D ( x , y ) = cos ⁡ ( θ ) = x ⋅ y ∥ x ∥ ∥ y ∥ D(x,y) = \cos (\theta ) = {{x \cdot y} \over {\left\| x \right\|\left\| y \right\|}} D(x,y)=cos(θ)=xyxy

用例:当我们对高维数据向量的大小不关注时,可以使用余弦相似度。列如,对于文本分析,当数据以单词计数表示时,经常使用此度量。例如,当一个单词在一个文档中比另一个单词更频繁出现时,这并不一定意味着文档与该单词更相关。可能是文件长度不均匀或者计数的重要性不太重要。我们最好使用忽略幅度的余弦相似度。

1.1.6 汉明距离(Hamming Distance )

汉明距离是两个向量之间不同值的个数。它通常用于比较两个相同长度的二进制字符串。它还可以用于字符串,通过计算不同字符的数量来比较它们之间的相似程度。

缺点:当两个向量长度不相等时,汉明距离使用起来很麻烦。

用例∶典型的用例包括数据通过计算机网络传输时的错误纠正/检测。它可以用来确定二进制字中失真的数目,作为估计误差的一种方法。此外,你还可以使用汉明距离来度量分类变量之间的距离。

1.2密度聚类(Density-based Spatial Clusteringof Applications with Noise )

基于密度的聚类,此类算法假设聚类结构能通过样本分布的紧密程度确定

密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果

  • 层次聚类
  • 高斯混合模型聚类
  • 聚类效果的衡量指标

1.3层次聚类(hierarchicalclustering)

试图在不同层次对数据集进行划分,从而形成树形的聚类结构.数据集的划分可采用"自底向上"的聚合策略,也可采用"自顶向下"的拆分策略.

AGNES是一种采用自底向上聚合策略的层次聚类算法.它先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。

AGNES算法步骤:
( 1)初始化,每个样本当做一个簇
( 2)计算任意两簇距离,找出距离最近的两个簇,合并这两簇
(3)重复步骤2…
直到,最远两簇距离超过阈值,或者簇的个数达到指定值,终止算法

DIANA算法步骤:
( 1)初始化,所有样本集中归为一个簇
( 2)在同一个簇中,计算任意两个样本之间的距离,找到距离最远的两个样本点a,b,
将a,b作为两个簇的中心;
( 3)计算原来簇中剩余样本点距离a , b 的距离,距离哪个中心近,分配到哪个簇中
( 4)重复步骤2、3…
直到,最远两簇距离不足阈值,或者簇的个数达到指定值,终止算法

层次聚类(Hierarchical Clustering )在生物信息学中的应用

层次聚类是一种比较实用的聚类方法,应用于不同领域的数据分析算法中。
在生物医学信息学领域,层次聚类方法常常用于蛋白质序列数据聚类和基因表达数据的聚类。结构相似的蛋白质,功能也相似,通过聚类将相似功能的蛋白质聚为一类,为研究蛋白质的功能提供帮助。基因表达数据聚类就是将具有相似表达谱的基因聚为一类,称为共表达基因,根据基因的共表达现象推断这些基因的生物学功能,从而对新的基因功能进行注释,对基因的生物学功能研究具有重要意义。

1.4 高斯混合聚类模型

已知样本集D= D = { x 1 , x 2 , . . . , x m } D = \{ {x_1},{x_2},...,{x_m}\} D={x1,x2,...,xm},要将这些样本聚成k类,我们认为样本服从混合高斯分布:

p M ( x ) = ∑ i = 1 k α i ⋅ p ( x ∣ μ i , Σ i ) {p_M}(x) = \sum\limits_{i = 1}^k {{\alpha _i}} \cdot p(x|{\mu _i},{\Sigma _i}) pM(x)=i=1kαip(xμi,Σi)

第一步初始化高斯混合分布的模型参数 α i {{\alpha _i}} αi, μ i {\mu _i} μi, Σ i {\Sigma _i} Σi

第二步计算x 由各混合成分生成的后验概率,即观测数据 x j {x_j} xj由第i个分模型生成的概率 p ( z j = i ∣ x j ) p({z_j} = i|{x_j}) p(zj=ixj),并记为 γ j i {\gamma _{ji}} γji

γ j i = a i ⋅ p ( x j ∣ μ i , Σ i ) ∑ i = 1 k a i p ( x j ∣ μ i , Σ i ) {\gamma _{ji}} = {{{a_i} \cdot p({x_j}|{\mu _i},{\Sigma _i})} \over {\sum\limits_{i = 1}^k {{a_i}p({x_j}|{\mu _i},{\Sigma _i})} }} γji=i=1kaip(xjμi,Σi)aip(xjμi,Σi)

第三步计算新的横型参数:

μ i ′ = ∑ j = 1 m γ j i x j ∑ j = 1 m γ j i Σ i ′ = ∑ j = 1 m γ j i ( x j − μ i ′ ) ( x j − μ i ′ ) T ∑ j = 1 m γ j i α i ′ = ∑ j = 1 m γ j i m \begin{aligned} \boldsymbol{\mu}_i^{\prime} & =\frac{\sum_{j=1}^m \gamma_{j i} x_j}{\sum_{j=1}^m \gamma_{j i}} \\ \boldsymbol{\Sigma}_i^{\prime} & =\frac{\sum_{j=1}^m \gamma_{j i}\left(x_j-\mu_i^{\prime}\right)\left(x_j-\mu_i^{\prime}\right)^{\mathrm{T}}}{\sum_{j=1}^m \gamma_{j i}} \\ \alpha_i^{\prime} & =\frac{\sum_{j=1}^m \gamma_{j i}}{m} \end{aligned} μiΣiαi=j=1mγjij=1mγjixj=j=1mγjij=1mγji(xjμi)(xjμi)T=mj=1mγji

第四步按照新的模型参数重复2,3步,直到满足停止条件

第五步将每个样本按照入 λ j = arg ⁡ max ⁡ i ∈ ( 1 , 2 , . . . , k ) γ j i {\lambda _j} = \mathop {\arg \max }\limits_{i \in (1,2,...,k)} {\gamma _{ji}} λj=i(1,2,...,k)argmaxγji, 划入对应的簇。即对每个样本来自哪个分模型的概率大就划入哪个分模型的簇中,最终就得到了k个聚类

总结:
  • 分层聚类擅长于发现数据中的嵌入式结构。
  • 基于密度的方法在寻找具有相似密度的未知数量的聚类方面表现优异。
  • K-means考虑在整个数据集中找到"共识”,K-means考虑数据集中的每个点,并使用该信息在一系列迭代中进化聚类。
  • 高斯混合模型考虑重合数据的聚类。

2.性能度量

什么是好的聚类?

目的∶1评估聚类结果的好坏②确立优化的目标

结论︰簇内的样本尺度尽可能彼此相似,簇间的样本尽可能不同。

外部指标∶将聚类结果与某个"参考模型"进行比较,称为"外部指标"”。

a = ∣ S S ∣ , S S = { ( x i , x j ) ∣ λ i = λ j , λ i ∗ = λ j ∗ , i < j ) } , b = ∣ S D ∣ , S D = { ( x i , x j ) ∣ λ i = λ j , λ i ∗ ≠ λ j ∗ , i < j ) } , c = ∣ D S ∣ , D S = { ( x i , x j ) ∣ λ i ≠ λ j , λ i ∗ = λ j ∗ , i < j ) } , d = ∣ D D ∣ , D D = { ( x i , x j ) ∣ λ i ≠ λ j , λ i ∗ ≠ λ j ∗ , i < j ) } , \begin{aligned} & \left.a=|S S|, \quad S S=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i=\lambda_j, \lambda_i^*=\lambda_j^*, i<j\right)\right\}, \\ & \left.b=|S D|, \quad S D=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i=\lambda_j, \lambda_i^* \neq \lambda_j^*, i<j\right)\right\}, \\ & \left.c=|D S|, \quad D S=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i \neq \lambda_j, \lambda_i^*=\lambda_j^*, i<j\right)\right\}, \\ & \left.d=|D D|, \quad D D=\left\{\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right) \mid \lambda_i \neq \lambda_j, \lambda_i^* \neq \lambda_j^*, i<j\right)\right\}, \\ & \end{aligned} a=SS,SS={(xi,xj)λi=λj,λi=λj,i<j)},b=SD,SD={(xi,xj)λi=λj,λi=λj,i<j)},c=DS,DS={(xi,xj)λi=λj,λi=λj,i<j)},d=DD,DD={(xi,xj)λi=λj,λi=λj,i<j)},文章来源地址https://www.toymoban.com/news/detail-669154.html

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

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

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

相关文章

  • 【零基础学机器学习 3】机器学习类型简介:监督学习 - 无监督学习 - 强化学习

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

    2024年02月06日
    浏览(43)
  • 机器学习、监督学习、无监督学习基本概念

    - 机器学习 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 机器学习有下面几种定义: (

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

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

    2024年02月14日
    浏览(45)
  • 机器学习:无监督学习

    Kmeans 随机选取K个中心,然后计算每个点与中心的距离,找最近的,然后更新中心点 HAC 如何觉得距离的个数跟kmeans不一样,切的地方不一样导致的数量会不一样。 降维 PCA 特征先归一化,然后计算投影,选择最大的方差的 w 1 w_1 w 1 ​ 与 w 2 w_2 w 2 ​ 是垂直的,后续也是找垂

    2024年02月10日
    浏览(40)
  • 机器学习半监督学习

    半监督学习是一种机器学习的方法,它结合了监督学习和无监督学习的特点。在半监督学习中,训练数据中只有一部分数据是带有标签的,另外一部分数据是没有标签的。 半监督学习的目标是通过利用未标记数据的信息来提高模型的性能。这种方法可以有效地利用数据,因为

    2024年02月13日
    浏览(50)
  • 【人工智能】— 无监督学习、K-means聚类(K-means clustering)、K-means损失函数,目标函数

    无监督学习是指在没有标签的数据上进行学习,即没有监督信号的指导下进行模型训练。在无监督学习中,我们主要关注从无标签数据中学习出数据的低维结构和隐藏的模式。 通过无标签数据,我们可以预测以下内容: 低维结构:通过无监督学习算法如主成分分析(PCA),

    2024年02月10日
    浏览(41)
  • 机器学习 监督学习 Week2

    依旧是房价预测,但这次引入了多个变量,不仅仅只有房屋面积影响着房价,依旧尝试使用梯度下降算法找到最优的【w,b】,并且习惯使用向量点乘运算提高效率 只有三组数据的训练集,全转成向量存储,方便点乘运算 X_train中包含了三栋房子,即三个向量,每个向量都包含

    2024年02月06日
    浏览(47)
  • 机器学习15-1(无监督学习算法)

    此前,无论是回归问题还是分类问题,本质上其实都属于有监督学习范畴:即算法的学习是在标签的监督下进行规律学习,也就是学习那些能够对标签分类或者数值预测起作用的规律 而无监督学习,则是在没有标签的数据集中进行规律挖掘,既然没有标签,自然也就没有了规

    2024年02月09日
    浏览(69)
  • 机器学习 监督学习 Week1

    - NumPy, a popular library for scientific computing - Matplotlib, a popular library for plotting data plt.style.use() 是 Matplotlib 库中用于设置绘图样式的函数。 通过使用 plt.style.use() 函数,我们可以方便地应用各种预定义的风格或自定义的样式表。Matplotlib 提供了许多内置风格表,包括 \\\'default\\\' (默认

    2024年02月06日
    浏览(53)
  • 机器学习-有监督学习-神经网络

    向量版本 y = ⟨ w , x ⟩ + b y = langle w, x rangle + b y = ⟨ w , x ⟩ + b 懂得两者区别 激活函数,损失函数 感知机模型的本质是线性模型,再加上激活函数 训练数据、损失函数、梯度下降,小批量梯度下降 神经网络算法整体流程: 初始化网络 前向传播 计算损失 计算微分 梯度下

    2024年02月07日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包