【Estimation of the Number of Clusters】G-means: Learning the k in k-means in NIPS 2003 个人理解

一、简介

题目: Learning the k k k in k k k-means
会议: NIPS 2003
任务: 估计无标签数据的类别数量并聚类。
Idea: 假设一个簇的数据服从同一个高斯分布,给定预估的类别数下界,从下界开始做一次 k k k-means,再对每个簇进行 k k k-means( k = 2 k=2 k=2)得到两个簇中心,连接两个簇中心得投影向量,计算该簇所有样本在投影向量上的投影并将投影归一化,之后通过Anderson-Darling检验判断 k k k应该等于2还是1,如此往复直至所有检验都不接受进一步的分割。
G-means
如图,为G-means的算法流程,下节做详细介绍。

二、详情

1. 算法步骤

输入:无标签数据 D D D,预估类别数下界限 K min ⁡ K_{\min} Kmin
输出:预测的类别数量和聚类结果。
(1)初始化 k n e w = K min ⁡ , α = 0.0001 k_{new}=K_{\min},\alpha=0.0001 knew=Kminα=0.0001
(2)设定 k = k n e w k=k_{new} k=knew,执行一次 k k k-means,形成 k n e w k_{new} knew个簇;
(3)对于每个簇,初始化两个中心(初始化方法见下节)并在此基础上执行 k k k-means( k = 2 k=2 k=2);
(4)每个簇都被分割为2个新簇并得到两个新的簇中心 c 1 c_1 c1 c 2 c_2 c2,连接它们得各簇的投影向量 v = c 1 − c 2 v=c_1-c_2 v=c1c2
(5)计算各簇数据在各自投影向量上的投影 x i ′ = ⟨ x i , v ⟩ / ∥ v ∥ 2 x_i^\prime=\langle x_i,v\rangle/\|v\|^2 xi=xi,v/∥v2并将投影归一化(均值为0,方差为1)为 x i ′ x_i^\prime xi
(6)分别对各簇的 x i ′ x_i^\prime xi进行排序得 x ( i ) ′ x^\prime_{(i)} x(i),令 z i = F ( x ( i ) ′ ) z_i=F(x_{(i)}^\prime) zi=F(x(i)) F F F N ( 0 , 1 ) N(0,1) N(0,1)的分布函数(Cumulative Distribution Function, CDF);
(7)进行Anderson-Darling检验,计算各簇的 A ∗ 2 ( Z ) A_*^2(Z) A2(Z),公式如下:
A ∗ 2 ( Z ) = A 2 ( Z ) ( 1 + 4 / n − 25 / n 2 ) A_*^2(Z)=A^2(Z)(1+4/n-25/n^2) A2(Z)=A2(Z)(1+4/n25/n2)其中,
A 2 ( Z ) = − 1 n ∑ i = 1 n ( 2 i − 1 ) [ log ⁡ ( z i ) + log ⁡ ( 1 − z n + 1 − i ) ] − n A^2(Z)=-\frac{1}{n}\sum_{i=1}^n(2i-1)[\log(z_i)+\log(1-z_{n+1-i})]-n A2(Z)=n1i=1n(2i1)[log(zi)+log(1zn+1i)]n对于一个簇来说,如果 A ∗ 2 ( Z ) A_*^2(Z) A2(Z)大于 α = 0.0001 \alpha=0.0001 α=0.0001时的临界值,则拒绝 H 0 H_0 H0:数据来自同一个高斯,即认为数据并非来自同一个高斯分布,于是 k n e w = k n e w + 1 k_{new}=k_{new}+1 knew=knew+1;否则,接受 H 0 H_0 H0,保持原簇不变;
(8)如果(7)中 k n e w k_{new} knew没有增加则算法终止;否则,转(2)。

2. 初始化簇中心

假设原簇中心为 c c c,如果要将原簇分割为两个新簇,首先要初始化两个新簇的中心,记为 c ± m c\pm m c±m。关于 m m m,作者给出两个做法:
(1)与 c c c尺度相同的随机向量,并且 ∥ m ∥ \|m\| m不能过大导致数据失真;
(2) m = s 2 λ / π m=s\sqrt{2\lambda/\pi} m=s2λ/π s s s为主成分, λ \lambda λ为对应的特征值。因为 m m m应该与 c c c同维度,有理由认为这里的 s s s是不做降维的主成分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Fulin_Gao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值