模式识别与机器学习第11章——非监督学习与聚类
一.引言
1.非监督学习
事先不知道任何样本的类别标号,通过某种算法来把一组位置类别的样本划分成若干类别,这就是非监督模式识别。
2.聚类分析
1.聚类分析即非监督学习模式识别是最典型的非监督学习问题。
2.要使聚类结果有意义,需要对聚类有一定的数学上的要求或假定,这就是聚类的准则。
3.非监督模式识别方法可以分为两类,一类是基于样本的概率分布模型进行聚类划分,如高斯混合模型(书11.2-11.3节);另一类是直接根据样本间的距离或相似性度量进行聚类,如K均值、模糊k均值,分级聚类等(书11.4-11.6节),还有基于神经网络的聚类划分如SOM模型。
二.基于相似度度量的聚类方法
1.如果不估计样本的概率分布,就无法从概率分布来定义聚类,需要对聚类有其他形式的定义。
2.人们通常根据样本间的某种距离或相似性度量来定义聚类,即把相似地(或者距离近)的样本聚为同一类,而把不相似的(或距离远的)样本归在其他类。
3.分类:动态聚类算法和分级聚类算法
(一)动态聚类算法
- 动态聚类算法的三个要点:
(1)选定某种距离度量作为样本间的相似性度量。
(2)确定某个评价聚类的准则函数。.
(3)给定某个初始分类,然后用迭代算法找出使准则函数取极值的最好聚类结果。
不同的距离度量方式
1.欧氏距离
2.曼哈顿距离
3.闵可夫斯基距离 d i s t m k ( x , y ) = ( ∑ u = 1 n ∣ x u − y u ∣ p ) 1 p dist_{mk}(x,y)=(\sum_{u=1}^n\mid x_u-y_u\mid^p)^{\frac{1}{p}} distmk(x,y)=(∑u=1n∣xu−yu∣p)p1
4.余弦距离 d i s t cos ( x , y ) = 1 − cos ( x , y ) = 1 − x ⋅ y ∥ x ∥ ∥ y ∥ dist_{\cos}(x,y)=1-\cos(x,y)=1-\frac{x\cdot y}{\|x\|\|y\|} distcos(x,y)=1−cos(x,y)=1−∥x∥∥y∥x⋅y
5.编辑距离
… …
2.特点:多次迭代,逐步调整类别划分,最终使某准则达到最优。
2.1.1 K均值算法
误差平方和聚类准则
J
e
=
∑
i
=
1
k
∑
x
∈
Γ
i
∥
x
−
m
i
∥
2
=
∑
i
=
1
k
J
i
J_{e}=\sum_{i=1}^{k}\sum_{x\in\Gamma_{i}}\left\|x-m_{i}\right\|^{2}=\sum_{i=1}^{k}J_{i}
Je=i=1∑kx∈Γi∑∥x−mi∥2=i=1∑kJi
其中
Γ
i
\Gamma_{i}
Γi式第i个聚类,
i
=
1
,
.
.
.
,
k
i=1,...,k
i=1,...,k,其中样本数为
N
i
N_i
Ni,
Γ
i
\Gamma_{i}
Γi中样本均值为
m
i
=
1
N
i
∑
x
∈
Γ
i
x
m_{i}=\frac{1}{N_{i}}\sum_{x\in\Gamma_{i}}x
mi=Ni1∑x∈Γix
直观理解:
1. J e J_e Je反映了用k个聚类中心代表k个样本子集所带来的总误差平方和
2.k均值算法的目标:最小化 J e J_e Je
K均值算法的步骤
(1)初始划分k个聚类,
Γ
i
\Gamma_{i}
Γi,
i
=
1
,
.
.
.
,
k
i=1,...,k
i=1,...,k,计算
m
j
=
1
∣
Γ
j
∣
∑
x
i
∈
Γ
j
x
i
和
J
e
m_{j}=\frac{1}{\left|\Gamma_{j}\right|}\sum_{x_{i}\in\Gamma_{j}}x_{i}\text{和}J_{e}
mj=∣Γj∣1∑xi∈Γjxi和Je
(2)对每一个样本
x
i
x_i
xi计算其到各类中心
m
j
m_j
mj的距离
ρ
i
j
=
∥
x
i
−
m
j
∥
2
j
=
1
,
…
,
k
\rho_{ij}= \begin{Vmatrix} x_i-m_j \end{Vmatrix}^2\quad j=1,\ldots,k
ρij=
xi−mj
2j=1,…,k
(3)更新各类集合
Γ
j
=
{
x
p
:
ρ
p
j
≤
ρ
p
l
,
∀
l
,
1
≤
l
≤
k
}
\Gamma_{j}=\{x_{p}:\rho_{pj}\leq\rho_{pl},\forall l,1\leq l\leq k\}
Γj={xp:ρpj≤ρpl,∀l,1≤l≤k}
(4)重新计算
m
j
,
j
=
1
,
.
.
.
,
k
和
J
e
m_j,j=1,...,k和J_e
mj,j=1,...,k和Je
(5)若连续N次迭代
J
e
J_e
Je不改变,则停止;否则转(2)
这是一个局部搜索算法,并不能保证收敛到全局最优解,即不能保证找到所有可能的聚类划分中误差平方和最小的解。算法结果受到初始划分和样本调整顺序的影响。
1.初始代表点选择
(1)凭经验选择代表点
(2)将全部数据随机分成
k
k
k类,计算每类重心。
(3)用"密度法"选择代表点。
(4)按照样本天然的排列顺序或者将样本随机排序后用前
c
c
c个点作为代表点。
(5)从
(
c
−
1
)
(c-1)
(c−1)聚类划分问题的解中产生
c
c
c聚类划分问题的代表点。
2.初始分类方法:
(1)选择一批代表点后,其余的点离哪个代表点最近就归入哪一类,从而得到初始分类。
(2)选择一批代表点后,每个代表点自成一类,将样本依顺序归入与其距离最近的代表点的那一类,并立即重新计算该类的重点以代替原来的代表点。然后再计算下一个样本的归类,直到所有的样本都归到相应的类中。
(3)…
3.关于 k k k均值方法中的聚类数目 k k k
K均值聚类方法的一个基本前提就是聚类数目
k
k
k是事先给定的,这些在非监督学习问题中并不总是能满足。
(1)根据经验和先验知识确定
(2)根据聚类结构进行估计令
k
=
1
,
2
,
3
,
.
.
.
,
k=1,2,3,...,
k=1,2,3,...,求各自的
J
e
(
k
)
J_e(k)
Je(k)找其中的肘点

样本中内在聚类不一定很紧密,类别之间并不能很好地分开,或者不同类之间样本分布地紧密程度不同会导致不存在明显肘点。
人们在很多应用中采用地是根据领域知识人为指定类别数目。
2.1.2 基于核的动态聚类算法
对于k均值算法,只有类内样本的分布为超球状或接近超球状(即各维特征上的样本方差解近时),才能取得较好的效果;如果样本的分布偏离超球状,则均值就不能很好地代表一个类。
1.一般的可以用核
K
j
=
k
(
x
,
V
j
)
K_{j}=k(x,V_{j})
Kj=k(x,Vj)来代表一个类
Γ
j
\Gamma_{j}
Γj。
V
j
V_j
Vj是参数集,核
K
j
K_j
Kj
可以是一个含本数、一个点集或某种分类模型。
基于核的相似性度量的K均值聚类算法
定义样本
x
x
x到类
Γ
j
\Gamma_{j}
Γj(核
K
j
K_j
Kj),之间的相似性度量
Δ
(
x
,
K
j
)
\Delta(x,K_{j})
Δ(x,Kj)
准则函数
J
K
=
∑
i
=
1
k
∑
x
∈
Γ
j
Δ
(
x
,
K
j
)
J_K=\sum_{i=1}^k\sum_{x\in\Gamma_j}\Delta(x,K_j)
JK=i=1∑kx∈Γj∑Δ(x,Kj)
(1)选择初始划分,即将样本集划分为c类,并确定每类的初始核
K
j
K_j
Kj,
j
=
1
,
2
,
.
.
.
,
c
j=1,2,...,c
j=1,2,...,c
(2)按照下列规则
若
Δ
(
x
,
K
j
)
=
min
l
=
1
,
⋯
,
k
Δ
(
x
,
K
l
)
,
则
x
∈
Γ
j
\Delta(x,K_j)=\min_{l=1,\cdots,k}\Delta(x,K_l),\quad\text{则}x\in\Gamma_j
Δ(x,Kj)=l=1,⋯,kminΔ(x,Kl),则x∈Γj
(3)更新
K
j
K_j
Kj,
j
=
1
,
.
.
.
,
k
j=1,...,k
j=1,...,k,若
K
j
K_j
Kj不变,则终止;否则转(2)
k k k均值可看作 K j K_j Kj为 m j m_j mj, Δ \Delta Δ为欧氏距离下的特例。
k k k均值算法用类均值作为核,而以样本到均值的欧氏距离作为距离度量。
2.如果样本分布为椭圆状正态分布,则可以采用正态核函数。
如果各类样本集中在相应的主轴方向的子空间中,可以使用主轴核函数。
2.1.3 克服K-means方法的局限
快速找到高密度点

(二)模糊聚类方法
1.模糊集理论是对传统集合理论的一种推广,在传统集合理论中,一个元素或者属于一个集合,或者不属于一个集合;而对于模糊集来说,每一个元素是以一定的程度属于某个集合,也可以同时以不同的程度属于几个集合。
2.隶属度函数
隶属度函数是表示一个对象
x
x
x隶属于集合A的程度的函数,通常记作
μ
A
(
x
)
\mu_{_A}(x)
μA(x),自变量为所有可能属于A的对象,值域为[0,1],
0
≤
μ
A
(
x
)
≤
1
μ
A
(
x
)
=
1
⇔
x
∈
A
μ
A
(
x
)
=
0
⇔
x
∉
A
\begin{aligned} & 0\leq\mu_{A}(x)\leq1 \\ & \mu_{A}(x)=1\quad\Leftrightarrow\quad x\in A \\ & \mu_{A}(x)=0\quad\Leftrightarrow\quad x\not\in A \end{aligned}
0≤μA(x)≤1μA(x)=1⇔x∈AμA(x)=0⇔x∈A
2.2.1 模糊K均值算法
隶属度函数定义
聚类损失函数
m
i
n
J
f
=
∑
j
=
1
k
∑
i
=
1
n
[
μ
j
(
x
i
)
]
b
∥
x
i
−
m
j
∥
2
min J_f=\sum_{j=1}^k\sum_{i=1}^n\left[\mu_j(x_i)\right]^b\left\|x_i-m_j\right\|^2
minJf=j=1∑ki=1∑n[μj(xi)]b∥xi−mj∥2
其中,
b
>
1
b>1
b>1是一个可以控制聚类结果模糊程度的常数。如果
b
−
>
1
b->1
b−>1,则算法将得到等同于K均值算法的确定聚类划分;如果
b
b
b趋近于无穷,则算法将得到完全模糊的解,即各类的中心都收敛到所有训练样本的中心,同时所有样本都以等同的概率归属于各个类,因而完全失去分类意义。
1.模糊k均值算法FCM要求一个样本对于各个聚类的隶属度之和为1。
∑
j
=
1
k
μ
j
(
x
i
)
=
1
\sum_{j=1}^k\mu_j(x_i)=1
j=1∑kμj(xi)=1

改进的模糊K均值聚类算法
1.对于传统模糊K均值算法,如果某个野值样本远离各类的聚类中心,本来它属于各类的隶属度都很小,会影响迭代的最终结果。为了克服这种缺陷,人们提出了放松的归一化条件,使所有样本对各类的隶属度总和为n。
2.改进的模糊K类算法得到的隶属度有可能会大于一,因此并不是通常意义上的隶属度函数。必要时可以把最终得到的隶属度函数进行归一化处理,这时已不会影响聚类结果。
3.改进的算法具有更好的鲁棒性。
4.确定性K均值算法、模糊K均值算法对聚类中心的初值十分敏感。
(三)分级聚类算法
1.思想:从各类只有一个样本点开始,逐级合并,每级只合并两类,直到最后所有样本都归到一类。
2.算法步骤:
(1)初始化,每个样本形成一个类。
(2)合并:计算任意两个类之间的距离(或相似性),把距离最小的两个类合并为一类,记录下这两个类之间的距离,其余类不变。
(3)重复(2),知道所有样本被合并到两个类中;
聚类过程中逐级考察类间相似度。
距离/相似性度量多种选择,如欧氏距离、相关、曼哈顿距离、…
3.三种方法定义两个类之间的聚类或者相似性度量,也称为类间的连接:
(1)最近距离
Δ
(
Γ
i
,
Γ
j
)
=
min
y
~
∈
Γ
j
y
∈
Γ
i
δ
(
y
,
y
~
)
\Delta\left(\Gamma_{i},\Gamma_{j}\right)=\min_{\overset{y\in\Gamma_{i}}{\operatorname*{\tilde{y}\in\Gamma_{j}}}}\delta(y,\tilde{y})
Δ(Γi,Γj)=y~∈Γjy∈Γiminδ(y,y~)
两类中相距最近的样本间的距离代表两类之间的距离。
(2)最远距离
Δ
(
Γ
i
,
Γ
j
)
=
max
y
∈
Γ
i
y
∈
Γ
j
δ
(
y
,
y
~
)
\Delta\left(\Gamma_{i},\Gamma_{j}\right)=\max_{ \begin{array} {c}y\in\Gamma_{i} \\ y\in\Gamma_{j} \end{array}}\delta(y,\tilde{y})
Δ(Γi,Γj)=y∈Γiy∈Γjmaxδ(y,y~)
两类中相距最远的样本间的距离代表两类之间的距离。
(3)均值距离
Δ
(
Γ
i
,
Γ
j
)
=
δ
(
m
i
,
m
j
)
\Delta\left(\Gamma_i,\Gamma_j\right)=\delta(m_i,m_j)
Δ(Γi,Γj)=δ(mi,mj)
两类样本间的平均距离代表两类之间的距离。
4.分级聚类是一种局部搜索的方法。算法对样本中的噪声会比较敏感,个别样本的变动可能会导致聚类结果发生很大变化。
三.基于样本概率分布的模型
3.1 高斯混合模型(GMM模型)
1.假设数据分布是由多个高斯分布混合组成的。
p
(
x
∣
μ
,
∑
)
=
1
(
2
π
)
d
/
2
∣
∑
∣
1
/
2
exp
{
−
1
2
(
x
−
μ
)
T
∑
−
1
(
x
−
μ
)
}
p(\mathbf{x}\mid\mu,\sum)=\frac{1}{(2\pi)^{d/2}\left|\sum\right|^{1/2}}\exp\left\{-\frac{1}{2}(\mathbf{x}-\mu)^{T}\sum^{-1}(\mathbf{x}-\mu)\right\}
p(x∣μ,∑)=(2π)d/2∣∑∣1/21exp{−21(x−μ)T∑−1(x−μ)}
混合高斯分布:
p
M
(
x
)
=
∑
i
=
1
k
α
i
p
(
x
∣
μ
i
,
Σ
i
)
p_M(\mathbf{x})=\sum_{i=1}^k\alpha_ip(\mathbf{x}\mid\mu_i,\Sigma_i)
pM(x)=i=1∑kαip(x∣μi,Σi)
2.概率视角:它是一种概率生成模型。其假设数据点是由 K 个高斯分布随机生成出来的。其目标是通过数据来估计这些高斯分布的参数(均值、协方差、混合系数)。
3.求解
(1)不知道模型参数
{
α
j
,
μ
j
,
Σ
j
}
,
j
=
1
,
.
.
.
,
k
\{\alpha_{j},\mu_{j},\Sigma_{j}\},j=1,...,k
{αj,μj,Σj},j=1,...,k
(2)利用EM算法求解
-E-step:利用现有参数求类别标签的期望
-M-step:对模型参数进行最大似然估计你,重新估计分布参数。
E-step(expectation)贝叶斯定律求后验期望
γ
i
j
=
p
M
(
c
i
=
j
∣
x
i
)
=
P
(
c
i
=
j
)
p
M
(
x
i
∣
y
i
=
j
)
P
M
(
x
i
)
=
α
j
p
(
x
i
∣
μ
j
,
Σ
j
)
∑
j
=
1
k
α
j
p
(
x
i
∣
μ
j
,
Σ
j
)
\gamma_{ij}=p_{M}(c_{i}=j\mid\mathbf{x}_{i})=\frac{P(c_{i}=j)p_{M}(\mathbf{x}_{i}\mid y_{i}=j)}{P_{M}(\mathbf{x}_{i})}=\frac{\alpha_{j}p(\mathbf{x}_{i}\mid\mu_{j},\Sigma_{j})}{\sum_{j=1}^{k}\alpha_{j}p(\mathbf{x}_{i}\mid\mu_{j},\Sigma_{j})}
γij=pM(ci=j∣xi)=PM(xi)P(ci=j)pM(xi∣yi=j)=∑j=1kαjp(xi∣μj,Σj)αjp(xi∣μj,Σj)
M(maximization)后验概率最大化
似然函数:
l
(
D
)
=
ln
(
∏
i
=
1
n
p
M
(
x
i
)
)
=
∑
i
=
1
n
ln
(
∑
j
=
1
k
α
j
p
(
x
i
∣
μ
j
,
Σ
j
)
)
l(D)=\ln(\prod_{i=1}^np_M(\mathbf{x}_i))=\sum_{i=1}^n\ln(\sum_{j=1}^k\alpha_jp(\mathbf{x}_i\mid\mu_j,\Sigma_j))
l(D)=ln(∏i=1npM(xi))=∑i=1nln(∑j=1kαjp(xi∣μj,Σj))
约束:
α
i
≥
0
;
∑
i
=
1
k
α
i
=
1
\alpha_{i}\geq0;\sum_{i=1}^{k}\alpha_{i}=1
αi≥0;∑i=1kαi=1
用拉格朗日法求解,可以得到:
α
j
=
1
n
∑
i
=
1
n
γ
i
j
\alpha_{j}=\frac{1}{n}\sum_{i=1}^{n}\gamma_{ij}
αj=n1∑i=1nγij
μ
j
=
∑
i
=
1
n
γ
i
j
x
i
∑
i
=
1
n
γ
i
j
Σ
j
=
∑
i
=
1
n
γ
i
j
(
x
i
−
μ
j
)
(
x
i
−
μ
j
)
T
∑
i
=
1
n
γ
i
j
\mu_{j}=\frac{\sum_{i=1}^{n}\gamma_{ij}\mathbf{x}_{i}}{\sum_{i=1}^{n}\gamma_{ij}}\quad\Sigma_{j}=\frac{\sum_{i=1}^{n}\gamma_{ij}(\mathbf{x}_{i}-\mu_{j})(\mathbf{x}_{i}-\mu_{j})^{T}}{\sum_{i=1}^{n}\gamma_{ij}}
μj=∑i=1nγij∑i=1nγijxiΣj=∑i=1nγij∑i=1nγij(xi−μj)(xi−μj)T
GMM聚类算法流程
输入:样本集
D
=
{
x
1
,
x
2
,
.
.
.
,
x
n
}
D=\{\mathbf{x}_{_1},\mathbf{x}_{_2},...,\mathbf{x}_{_n}\}
D={x1,x2,...,xn}高斯混合成分个数
K
K
K
1.初始化模型参数
{
α
j
,
μ
j
,
Σ
j
}
,
j
=
1
,
.
.
.
,
k
\{\alpha_{j},\mu_{j},\Sigma_{j}\},j=1,...,k
{αj,μj,Σj},j=1,...,k
2.计算
γ
^
i
j
=
p
M
(
c
i
=
j
∣
x
i
)
,
i
=
1
,
.
.
.
,
n
;
j
=
1
,
.
.
.
,
k
\hat{\gamma}_{ij}=p_{M}(c_{i}=j\mid\mathbf{x}_{i}),i=1,...,n;j=1,...,k
γ^ij=pM(ci=j∣xi),i=1,...,n;j=1,...,k
3.计算新的
{
α
j
,
μ
j
,
Σ
j
}
,
j
=
1
,
.
.
.
,
k
\{\alpha_{j},\mu_{j},\Sigma_{j}\},j=1,...,k
{αj,μj,Σj},j=1,...,k
4.不满足模型终止条件则返回2,否则5
5.样本类别划分:
c
i
=
arg
max
j
∈
{
1
,
2
,
.
.
.
,
k
}
p
M
(
c
i
=
j
∣
x
i
)
c_{i}=\arg\max_{j\in\{1,2,...,k\}}p_{M}(c_{i}=j|\mathbf{x}_{i})
ci=argj∈{1,2,...,k}maxpM(ci=j∣xi)
输出:样本的列表划分结果
C
=
{
c
1
,
c
2
,
.
.
.
,
c
n
}
C=\{c_{_1},c_{_2},...,c_{_n}\}
C={c1,c2,...,cn}
3.2 混合模型和K-means聚类算法的区别

四.自组织映射(SOM)神经网络
4.1 SOM网络结构
(1)与前馈型神经网络不同,SOM网络的神经元节点都在同一层上,在一个平面上呈规则排列。
(2)样本特征向量的每一维都通过一定的权值输入到SOM网络的每一个节点上,构成如图所示的结构。

(3)SOM网络的神经元之间并没有直接的连接,但是在神经元平面上相邻的节点间在学习(训练)过程中有一定的相互影响,构成邻域相互作用,它通常可以随着训练次数的增加逐渐减小。
1.**权值向量:**输入向量连接到某个节点的权值组成的向量。
2.**匹配程度:**一个节点对输入样本的响应强度,就是该节点的权值向量与输入向量的匹配程度。
3.获胜节点:对一个输入样本,在神经元平面上所有的节点中响应最大的节点称作获胜节点。
4.2 SOM学习算法和自组织特性
4.2.1 算法流程

当达到事先确定的迭代次数,或者邻域缩小到只包含该获胜节点时,停止迭代。
(1)初始化:用小随机数初始化权值向量,各个节点的初始权值不能相等。
(2)在时刻
t
t
t按照给定的顺序或随机顺序加入一个样本,记为
x
(
t
)
x(t)
x(t)
(3)计算神经元响应,找到当前获胜节点c。
(4)权值竞争学习。对所有神经元节点,用下述准则更新各自的权值
m
i
(
t
+
1
)
=
m
i
(
t
)
+
α
(
t
)
h
c
i
(
t
)
d
[
x
(
t
)
,
m
i
(
t
)
]
m_i(t+1)=m_i(t)+\alpha(t)h_{ci}(t)d[x(t),m_i(t)]
mi(t+1)=mi(t)+α(t)hci(t)d[x(t),mi(t)]
其中
α
(
t
)
\alpha(t)
α(t)是学习的步长,
d
[
⋅
,
⋅
]
d[ \cdot , \cdot ]
d[⋅,⋅]是两个向量间的欧氏距离,
h
c
i
(
t
)
h_{ci}(t)
hci(t)是节点
i
i
i与
c
c
c间的近邻函数值,如果采用方形网格结构,则相当于在节点
c
c
c的周围定义一个矩形邻域范围
N
c
(
t
)
N_c(t)
Nc(t),在该邻域内则
h
c
i
(
t
)
h_{ci}(t)
hci(t)为1,否则为0。
(5)更新步长
α
(
t
)
\alpha(t)
α(t)和邻域
N
c
(
t
)
N_c(t)
Nc(t)通常在算法开始时设置得大一些,而随着时间t的增加单调减小,到算法终止时邻域缩小到只包含最佳节点本身。
一.概念
(1)对于某个输入样本
x
x
x,对应的最佳响应节点即获胜节点
i
i
i会逐渐趋于固定。我们把固定下来的获胜节点
i
i
i称作样本
x
x
x的像,而把样本
x
x
x称作神经元节点
i
i
i的原像。
(2)像密度:统计每个神经元节点上有多少个原向,即有多少个样本映射到该节点,把这个量叫做像密度。
二.自组织现像
对样本进行适当的学习后,每个样本固定映射到一个像节点,在原样本空间中距离相近的样本趋向于映射到同一个像节点或者在神经元平面上排列相近的像节点,而且节点的像密度与原空间中的样本密度形成近似的单调关系。
如果在SOM学习算法中取消邻域的作用,支队获胜节点自身做权值修正,SOM算法就退化成C均值算法的一种随机迭代实现。
4.3 SOM网络用于模式识别
SOM所得聚类之间仍保持一定的关系,这就是在自组织网络节点平面上相邻或相隔较近的节点,它们对应的类别之间的相似性要比相隔较远的类别之间大。因此可以根据各个类别在平面上的相对位置进行类别的合并和类别之间的关系的分析。
219

被折叠的 条评论
为什么被折叠?



