【机器学习笔记10】EM算法——直观理解与详细推导

目录

似然函数

极大似然估计(Maximum Likelihood Estimate,MLE)

极大似然估计应用

求解极大似然估计

初识EM算法

问题引入

隐变量

直观理解EM算法

隐变量的后验概率分布

EM算法公式详细推导

含隐变量的对数似然函数

利用jensen不等式转化方程

jeasen不等式转化详解

如何表示期望

为什么是凹函数

转化对数似然方程式为不等式

拔高下界

什么时候下界与对数似然相等

EM算法总结

EM算法应用场景

EM算法步骤

关于EM算法的重要说明

算法优缺点

EM算法的应用


本文章为EM算法笔记,本人学习和参考的文章:如何通俗理解EM算法_v_JULY_v的博客-CSDN博客_em算法

在开始之前,我们需要先复习一些在概率统计中学过的东西。

似然函数

统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:

    L(θ|x)=P(X=x|θ)。

注:L(θ|x)也可以写为L(θ:x)

    用例说明可能会更好理解:

    考虑一个抛硬币实验,每次抛硬币相互独立,我们先假设正面朝上的概率P(H) = 0.5 ,那么两次正面朝上的概率就是:

    P(H,H) = 0.5*0.5 = 0.25

    现在换一种角度,已知“两次抛硬币都是正面朝上”,则硬币正面朝上的概率为0.5的似然就是:

    L(p(H) = 0.5;HH) = P(HH|P(H) = 0.5) = 0.25

    同理,硬币正面朝上的概率为0.6的似然就是0.36。

极大似然估计(Maximum Likelihood Estimate,MLE)

    极大似然估计也称为最大似然估计。

    比如现在有一个袋子,里面装有白球和红球,你在里面随机抓了10个球,发现9个都是红球,那么你可以猜测从这个袋子抓出红球的概率为0.9,而抓出白球的概率为0.1。也就是说,我们根据样本来推测“为什么抓出来的样本会是这样”最可能的原因

    这种根据样本推断最可能的模型未知参数的方法叫做极大似然估计。

    回到上面那个抛硬币的例子:如果两次抛硬币都是正面朝上。我们已经计算了当P(H) = 0.5时,似然函数等于0.25;当P(H) = 0.6时,似然函数等于0.36。计算P(H) = 1时,似然函数将会等于1,此时是最大的。

    那么“两次抛硬币都正面朝上”的实验推出的极大似然估计就是“硬币正面朝上的概率为1”。

极大似然估计应用

    现在我们使用抽样统计的方法从一个学校里随机抽取了100名男生和100名女生,并且统计他们各自的身高。

    假设男生的身高服从高斯分布X \sim N(\mu_1,\sigma_1^2) ,女生身高服从另一个高斯分布X \sim N(\mu_2,\sigma_2^2) 。不过我们只知道他们服从高斯分布模型,并不知道这两个模型的各个参数,即\mu,\sigma

是未知参数。

    现在,设\theta = [\mu,\sigma]^T。我们需要利用极大似然估计,通过100个男生样本和100个女生样本分别估计各自的\theta 。因为求男生和求女生的过程一样,只是样本不同。所以接下来仅以求解男生身高对应的极大似然估计为例。

    令x_i为来自男生样本集X的第i个样本。现在套入之前提到的似然函数L(\theta)

    L(\theta) = P(X=x|\theta)= P(x_1,x_2,...,x_n|\theta) = \prod_{i=1}^nP(x_i|\theta)

    现在要求\hat\theta 使得似然函数L(\theta)最大,求得的\hat\theta\theta的极大似然估计。用公式写出来就是:

    \hat \theta = argmaxL(\theta)

求解极大似然估计

    将似然函数化为对数似然函数:

    \ell(\theta) = lnL(\theta) = ln\prod_{i=1}^nP(x_i|\theta) = \sum_{i=1}^nlnP(x_i|\theta)

    转化成对数似然函数后,再求导(或偏导),令导数为0,解得的参数就是极大似然估计。

    求解极大似然估计的一般步骤:

  1. 写出似然函数

  2. 化位对数似然函数

  3. 求导数,令导数为0,得到似然方程

  4. 求解似然方程 

这里顺带提一下最大似然估计的适用条件:

1.样本独立同分布

2.已知样本服从某种分布模型,只是参数未知

    以上都是概率统计的内容复习,及如何通过已知服从单个概率模型的样本集求解该模型的未知参数。


初识EM算法

问题引入

    刚才提到,要想使用极大似然估计,必须确保样本都服从同一个分布。比如,我们通过100个男生身高样本使用极大似然估计可以算出男生身高服从的高斯模型。

    现在,考虑这样一种情况:男女生的样本混合在一起了,你不知道这200个样本哪个是男生,哪个是女生。现在要想计算男女生各自服从的高斯模型的未知参数,就需要用到EM算法。

隐变量

    像上述问题中这种“不知道样本属于男生还是女生”在EM算法中被称为隐变量。隐变量记作Z,样本i的隐变量记作z_i

    隐变量指不可观测数据,比如聚类中,训练样本集给出了特征却没给出类别。这时候样本的类别就是隐变量。

    一般用Y表示可观测到的随机变量的数据,Z表示不可观测的随机变量的数据。Y与Z合起来被称为完全数据,只有Y则被称作不完全数据

直观理解EM算法

    假设有5枚硬币,这些硬币来自A,B两类,但我们不知道它们各自属于哪类硬币。现在把这5枚硬币各抛10次,请根据样本数据推测A,B两类硬币各自的“正面朝上的极大似然估计”,并且将这5枚硬币分类。

    那么在上述例子中,“硬币种类”就是我们的隐变量,设为向量ZZ = (z_1,z_2,z_3,z_4,z_5)

    (注:H代表正面朝上,T代表反面朝上)

硬币序号硬币类别结果(X)统计
1

z_1,未知

H T T T T H T T T T

2H,8T

2

z_2,未知

H H H H T H H H H H

9H,1T

3

z_3,未知

H T H T H H T T H H

6H,4T

4

z_4,未知

T H T T H T T T H T

3H,7T

5

z_5,未知

T H H H T H H H T H

7H,3T

现在使用EM算法求解:

step1:随机初始化模型参数\theta^{(0)} .

    P(H_A)P(H_B)分别是A类硬币、B类硬币正面朝上的概率,即模型未知参数\theta

    EM算法需要设置一个初始化模型参数\theta^{(0)} ,进而推出在\theta^{(0)}条件下的隐变量Z

    设P(H_A) = 0.2 , P(H_B) = 0.7

step2:计算隐变量

    计算各硬币的隐变量:

    还记得最开始提到的似然函数吗?这里就需要求似然,即L(θ|x)=P(X=x|θ)。

    例:

    对于1号硬币,属于A类的似然:

     L(\theta_A^{(0)}|X = x_1)\\= P(X = x_1|\theta_A^{(0)}) \\= \prod_{j = 1}^{10}P(x_{1,j}|\theta_A^{(0)})\\= 0.2^2*0.8^8 = 67.1089*10^{-4}

    对于1号硬币,属于B类的似然:

    L(\theta_B^{(0)}|X = x_1) = P(X = x_1|\theta_B^{(0)}) \\= \prod_{j = 1}^{10}P(x_{1,j}|\theta_B^{(0)})\\= 0.7^2*0.3^8 = 0.3215*10^{-4}

    比较属于A类和属于B类的似然,发现A的似然更大,则把1号硬币归为A类,即令隐变量z_1 = A

   各枚硬币的隐变量计算:

序号

统计

A类的似然(10^{-4})

B类的似然(10^{-4})

类别(隐变量)

1

2H,8T

67.11

0.32

z_1 = A

2

9H,1T

0.004

121.06

z_2 = B

3

6H,4T

0.26

9.53

z_3 = B

4

3H,7T

16.78

0.75

z_4 = A

5

7H,3T

0.06

22.24

z_5 = B

    我们通过假设模型未知参数,“猜出了”硬币各自属于哪一类,使得隐函数变为已知值,这时就满足了应用极大似然估计的条件,于是可以用极大似然估计求解未知参数\theta^{(1)}

step3:极大似然估计求解模型参数\theta^{(1)} .

    根据\theta^{(0)} ,我们算出了1号、4号属于A类,2、3、5属于B类。于是跟新P(H_A)P(H_B):

    P(H_A) = \frac{2+3}{20} = 0.25

    P(H_B) = \frac{9+6+7}{30} = 0.73

    可以看出\theta^{(1)}\theta^{(0)} 并不相同。聪明的你可能想到了,接下来就是迭代的过程,重复step2和step3得到\theta^{(2)}\theta^{(3)} ...

    可以证明,模型参数会随着迭代越来越接近真实值,并且一定会收敛到局部最优值。但不一定会收敛到全局最优值

隐变量的后验概率分布

    通过初步认识EM算法,你已经大致知道EM算法在干嘛了,但是EM算法在处理隐变量时,并不是通过似然函数判断某个样本的隐变量属于哪一个特定值,而是求隐变量的后验概率分布。再通过隐变量的后验概率分布进行后续运算。所以在正式开始推导EM算法前,我们还需要知道隐变量的后验概率分布

    这个例子中我们使用期望来简化隐变量的概率分布计算。因为上面那个抛硬币的数据算出来的期望比较极端,所以这里重新举一个例子:现在有五枚硬币,分别来自A,B两类,但分类未知。

硬币序号结果统计
1

H H T H T

3H,2T

2

T T H H T

2H,3T

3

H T T T T

1H,4T

4

H T T H H

3H,2T

5

T H H T T

2H,3T

    因为前面的过程都一样,所以我们直接来到计算出极大似然这一步。现在已经在随机固定模型参数\theta^{(0)}的情况下计算出了每一枚硬币对应的似然:

硬币序号

A类似然

B类似然

1

0.00512

0.03087

2

0.02048

0.01323

3

0.08192

0.00567

4

0.00512

0.03087

5

0.02048

0.01323

    在上一节中,接下来我们直接确认了隐变量的值。现在,我们用隐变量的期望来计算隐变量的后验概率分布Q(z)

因为每一个样本都有自己的隐变量后验概率分布,所以精确到样本的隐变量概率分布应该写为:Q_i(z^{(i)})z^{(i)} 表示这是第i 个样本的隐变量。

    例如硬币1的隐变量后验概率分布:

    P(z_1=A) = \frac{0.00512}{0.00512+0.03087} = 0.14

    P(z_1=B) = 1-0.14 = 0.86

    其他同理,隐变量的期望如下:

硬币序号

P(z_i = A)

P(z_i=B)

1

0.14

0.86

2

0.61

0.39

3

0.94

0.06

4

0.14

0.86

5

0.61

0.39

     再将隐变量的分布函数代入最开始的表以计算极大似然估计来计算下一轮的模型参数\theta^{(1)} ,即新的P(H_A)P(H_B)

    计算1号各权值:

    1号是A类时正面朝上的权值: w(A_1 = H) = 3*0.14 = 0.42

    1号是A类时反面朝上的权值:w(A_1 = T) = 2*0.14 = 0.28 

    1号是B类时正面朝上的权值:w(B_1 = H) = 3*0.86= 2.58

    1号是B类时反面朝上的权值:w(B_1 = T) = 2*0.86 = 1.72

序号统计

w(A_i = H)

w(A_i = T)

w(B_i=H)

w(B_i = T)

1

3H,2T

3*0.14 = 0.42  

2*0.14 = 0.28

3*0.86 = 2.58

2*0.86 = 1.72

2

2H,3T

2*0.61 = 1.22

3*0.61 = 1.83

2*0.39 = 0.78

3*0.39 = 1.17

3

1H,4T

1*0.94 = 0.94

4*0.94 = 3.76

1*0.06 = 0.06

4*0.06 = 0.24

4

3H,2T

3*0.14 = 0.42

2*0.14 = 0.28

3*0.86 = 2.58

2*0.86 = 1.72

5

2H,3T

2*0.61 = 1.22

3*0.61 = 1.83

2*0.39 = 0.78

3*0.39 = 1.17

总权值 

4.22

7.98

6.78

6.02

    于是\theta^{(1)}:

    P(H_A) = \frac{4.22}{4.22+7.98} = 0.35

    P(H_B) = \frac{6.78}{6.78+6.02} = 0.52

    这就是使用隐变量概率分布求极大既然估计的过程。

    现在推广到一般情况:

EM算法公式详细推导

含隐变量的对数似然函数

   之前我们提到,极大似然估计是为了求下面这个似然函数的极大值:

     L(\theta) = P(X=x|\theta)= P(x_1,x_2,...,x_n|\theta) = \prod_{i=1}^nP(x_i|\theta)

    其中,X服从独立同分布,\theta为概率分布模型参数。

    根据极大似然方程的步骤,要先将似然函数化为对数似然函数:   

 \ell(\theta) = logL(\theta) = log\prod_{i=1}^nP(x_i|\theta) \\ .\quad\quad\quad= \sum_{i=1}^nlogP(x_i|\theta)

    问题在于现在X并不是同分布的样本集,同分布样本需要由X和隐变量Z共同确定。于是引入隐变量Z的对数似然变为:

    \ell(\theta) =\sum_{i=1}^nlogP(x_i|\theta) \\ . \qquad\quad= \sum_{i=1}^nlog\sum_{z}^{Z^{(i)}}P(x_i,z|\theta)

这里解释一下P(x_i|\theta) = \sum_z^{Z^{(i)}}P(x_i,z|\theta)

此处为全概率公式,描述为:对每个样例的每种可能类别求联合分布概率和。

按照求极大似然的步骤,接下来对\ell(\theta)应该求偏导,然后令偏导为0,求解似然方程。但是这里多了个随机变量z,像log\sum的形式求导太过于复杂,所以我们需要转化方程:

利用jensen不等式转化方程

    待会儿解释jensen不等式是什么,先看转化结果。

    为了使用jensen不等式,我们需要先把分子分母都乘隐变量z_i某种概率分布函数Q_i(z^{(i)})

    然后通过jensen不等式,可以将其变为:

\ell(\theta) = \sum_{i=1}^nlog\sum_{z}^{Z^{(i)}}P(x_i,z|\theta) \qquad (1)\\.\qquad\quad = \sum_{i=1}^nlog\sum_{z}^{Z^{(i)}}Q_i(z)\frac{P(x_i,z|\theta)}{Q_i(z)} \qquad (2)\\.\qquad\quad \geq \sum_{i=1}^n\sum_{z}^{Z^{(i)}}Q_i(z)log\frac{P(x_i,z|\theta)}{Q_i(z)} \qquad (3)

(注:因为z来自于Z^{(i)},所以其实z 就是z^{(i)} 的简写。)

    可以看出对于 (3) 式就很好求导了。

    接下来说明是如何从 (2) 转化为 (3) 的。

jeasen不等式转化详解

    (国际定义)凸函数:设f(x)为定义域为实数的函数。

  1. 对于所有实数x,若f''(x) \geq0 ,则f(x)为凸函数。即下凹为凸,上凸为凹。

  2. x为向量,如果hessian矩阵H是半正定的(H\geq0),那么f(\vec x)为凸函数。

  3. f''(x)>0或H>0 ,则f(x)为严格凸函数。

    Jeasen不等式:

如果f是凸函数,X是随机变量,那么:E[f(X)]>=f(E[X]),通俗的说法是函数的期望大于等于期望的函数。而凹函数反之。

特别地,如果f是严格凸函数,当且仅当P(X = EX) = 1。即X是常量时,有E[f(X)] = f(EX)

    图就不画了,大概了解上述的用法即可。所以要用jeason不等式的关键在于,函数要为凸或凹函数,且需要表示出期望


如何表示期望

    通过将公式变成含有Q_i(z^{(i)})的式子。我们可以表示出期望:  

    如果你还记得期望公式的懒人定理:

    设Y是关于随机变量X的函数,Y = g(X) ,g为连续函数,那么:

    若X是离散型随机变量,X分布律为P(X = x_k) = P_k,k = 1,2,3...,若\sum_{k=1}^\infty g(x_k)p_k 绝对收敛则有:

    E(Y) = E[g(X)] = \sum_{k=1}^\infty g(x_k)p_k

    若X是连续型随机变量,X的概率密度为f(x),若\int_{-\infty}^\infty g(x)f(x)dx 绝对收敛,则有:

    E(Y) = E[g(X)] = \int_{-\infty}^\infty g(x)f(x)dx

    根据懒人定理,(2)中的\sum_{z}^{Z^{(i)}}Q_i(z)\frac{P(x_i,z|\theta)}{Q_i(z)} 就是\frac{P(x_i,z^{(i)}|\theta)}{Q_i(z^{(i)})} 的期望。原因:Q_i(z^{(i)})z^{(i)}的分布函数,而\frac{P(x_i,z^{(i)}|\theta)}{Q_i(z^{(i)})} 是关于随机变量z^{(i)}的函数。

    于是,令g(z^{(i)}) = \frac{P(x_i,z^{(i)}|\theta)}{Q_i(z^{(i)})},

    则E(g(z^{(i)})) = \sum_{z}^{Z^{(i)}}Q_i(z)\frac{P(x_i,z|\theta)}{Q_i(z)}


为什么是凹函数

    在(1)式中,将log\sum_{z}^{Z^{(i)}}P(x_i,z|\theta) 看作一个整体,即log(x) 。由于f''(log(x))<0,所以是凹函数。


转化对数似然方程式为不等式

    由于是凹函数,所以不等式反向:f(E[X])\geq E[f(x)],

   令f(x) = logx,X = g(z^{(i)})则:

    f(E[X]) = f(E[g(z^{(i)})]) = log\sum_{z}^{Z^{(i)}}Q_i(z)\frac{P(x_i,z|\theta)}{Q_i(z)}

    E[f(X)] = E[f(g(z^{(i)}))] = \sum_{z}^{Z^{(i)}}Q_i(z)log\frac{P(x_i,z|\theta)}{Q_i(z)} ;

   于是:

   \ell(\theta) = \sum_{i=1}^nlog\sum_{z}^{Z^{(i)}}Q_i(z)\frac{P(x_i,z|\theta)}{Q_i(z)}\\ \geq \sum_{i=1}^n\sum_{z}^{Z^{(i)}}Q_i(z)log\frac{P(x_i,z|\theta)}{Q_i(z)} = J(z,Q)

    至此,我们得到了一个好求偏导的公式。

拔高下界

    回顾我们的目标:使\ell(\theta)最大化,直至目前,我们通过jensen不等式,获得了一个可以求导的公式J(z,Q)。现在的目的是通过J(z,Q)获得\ell(\theta) 最大值。

    我们可以通过不断最大化J(z,Q)来让\ell(\theta) 不断提高。为了顺利理清接下来的过程,在这里回顾一下各函数和变量的说明:

  • \theta : 模型参数(未知),我们可以假设它已知,并在不断迭代中更新\theta

  • \ell(\theta):对数似然方程,我们需要调整\theta使得\ell(\theta)取极大值,此时\hat \theta = argmax_\theta \ell(\theta)

  • Q(z):隐变量z的某种概率分布。

  • J(z,Q): 不等式右边的方程,我们可以不断调整它的最大值来使得\ell(\theta)最大。

step1.首先固定\theta ,调整Q(z)使下界J(z,Q) 上升到与\ell(\theta) 在点\theta处相等。

step2.固定Q(z),并使用极大似然估计法使\theta^{(t)}达到最大值\theta^{(t+1)}

step3.再将\theta^{(t+1)}固定为模型参数,重复以上过程,直至收敛达到\ell(\theta)极大值。此时对应的 \hat\theta即为所求。

    关于EM算法一定收敛的证明过程就暂时不写了。

    step1想解决的问题可以阐述为:在模型参数已知的情况下,隐变量的最可能概率分布是什么?答案:使得J(z,Q)\ell(\theta)\theta处相等的Q(z)

    于是引出了新的问题:什么时候J(z,Q)才与\ell(\theta)相等?   

什么时候下界与对数似然相等

    回顾Jensen不等式,当X是常量时,E[f(X)] = f(E[X])。所以我们为了让J(z,Q) = \ell(\theta) ,需要让X为常数。

    于是X = g(z^{(i)}) = \frac{P(x_i,z^{(i)}|\theta)}{Q_i(z^{(i)})} = c    ,其中c为常数。

    在由(1)变化(2)时,曾经提到过\sum_z^{Z^{(i)}}Q_i(z^{(i)}) = 1。因为Q(z)是隐变量z的概率分布,概率之和为1。

    现在我们可以变换公式:(先同乘分母,再化简)

    因为 :\frac{P(x_i,z^{(i)}|\theta)}{Q_i(z^{(i)})} = c

    所以:\sum_z^{Z^{(i)}}P(x_i,z^{(i)}|\theta) = \sum_z^{Z^{(i)}}Q_i(z^{(i)})c = c ,即\sum_z^{Z^{(i)}}P(x_i,z^{(i)}|\theta) = c    (1)

    又因为由\frac{P(x_i,z^{(i)}|\theta)}{Q_i(z^{(i)})} = c 可得:

    Q_i(Z^{(i)}) = \frac{P(x_i,z^{(i)}|\theta)}{c}     (2)

    于是当J(z,Q) = \ell(\theta)时,将(1)代入(2)可得:

    Q_i(Z^{(i)}) = \frac{P(x_i,z^{(i)}|\theta)}{c} \\ =\frac{P(x_i,z^{(i)}|\theta)}{\sum_z^{Z^{(i)}}P(x_i,z^{(i)}|\theta)} \\ = P(z^{(i)}|x_i;\theta)

 结论:

    当J(z,Q) = \ell(\theta)时,Q_i(z^{(i)})为隐变量的后验概率分布。


EM算法总结

EM算法应用场景

    EM算法是一种迭代算法,主要用于含有隐变量的概率模型参数的极大似然估计或极大后验估计。广泛应用于缺损数据、截尾数据、成群数据、带有讨厌参数的数据等所谓不完全数据的统计推断问题。

EM算法步骤

step1:初始化模型参数\theta^{(0)} ,进入迭代。

step2(E-step):记\theta^{(t)} 为第t次迭代参数\theta 估计值,第t+1次迭代的E-step将计算

        Q_i^{(t)}(z^{(i)}) = p(z^{(i)}|x_i;\theta^{(t)})

step3(M-step):利用极大似然估计,计算使J(z,Q) 极大化的\hat \theta,作为第t+1 次迭代的参数估计值\theta^{(t+1)}

       \theta^{(t+1)} = argmax_\theta\sum_{i=1}^n\sum_{Z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{P(x_i,z^{(i)};\theta)}{Q_i^{(t)}(z^{(i)})}

step4:重复step2、step3直到收敛。收敛时的\theta即为所求。

关于EM算法的重要说明

  1. 初始化时可以随机选择\theta^{(0)},但是EM算法对初始值很敏感,一旦选择不好会造成很大的计算损失。 对于初始值的选择也有相关的做法,这里暂时不研究。

  2. 停止迭代的条件一般是对于较小的正数A ,若满足|\theta^{(i+1)}-\theta^{(i)}|< A,停止迭代。

算法优缺点

优点:

  1. 通常计算起来比较简单

  2. 收敛稳定,不需要设置超参数

缺点:

  1. 对大规模数据和多维高斯分布,计算量大,迭代速度慢

  2. 如果初始值设置不当,收敛过程的计算代价会非常大。

  3. EM算法求得的是局部最优解而不一定是全局最优解。

EM算法的应用

    关于EM算法的应用,例如处理混合高斯模型(GMM)。将会在下一篇文章中详细说明。

文章链接:【机器学习笔记11】高斯混合模型(GMM)【上篇】原理与推导_Twilight Sparkle.的博客-CSDN博客

  • 10
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
好的,我知道了,下面是我的回答: 聚类算法是一种无监督学习算法,它可以将数据集中的数据按照某种规则进行分组,使得同一组内的数据相似度较高,不同组之间的数据相似度较低。聚类算法可以帮助我们对数据进行分类、分析和理解,同时也可以为其他机器学习任务提供数据预处理和特征提取的支持。 聚类算法的基本流程包括:确定聚类算法的目标函数、选择相似度度量方法、选择聚类算法、确定聚类的数量、进行聚类操作以及评估聚类效果。常见的聚类算法包括K-Means算法、层次聚类算法、密度聚类算法等。 K-Means算法是一种基于距离的聚类算法,它的基本思想是将数据集中的数据划分为K个簇,使得同一簇内的数据相似度较高,不同簇之间的数据相似度较低。K-Means算法的优点是计算复杂度较低,容易实现,但是需要预先指定簇的数量和初始聚类中心。 层次聚类算法是一种基于相似度的聚类算法,它的基本思想是不断合并数据集中相似度最高的数据,直到所有数据都被合并为一个簇或达到预先设定的簇的数量。层次聚类算法的优点是不需要预先指定簇的数量和初始聚类中心,但是计算复杂度较高。 密度聚类算法是一种基于密度的聚类算法,它的基本思想是将数据集中的数据划分为若干个密度相连的簇,不同簇之间的密度差距较大。密度聚类算法的优点是可以发现任意形状的簇,但是对于不同密度的簇分割效果不佳。 以上是聚类算法的基础知识,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Twilight Sparkle.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值