李航老师《统计学习方法》第十四章聚类方法课后题答案

其他章节答案请参考我的汇总统计学习方法答案汇总,都是自己写的。

1、试写出分裂聚类算法,自上而下地对数据进行聚类,并给出其算法复杂度。

解:
算法流程大致如下:
输入:数据集T,指定需要划分的簇数k
输出:k个数据集的子集

  1. 将数据集T中的所有样本作为一个初始簇。
  2. 在所有的簇中选择直径最大的簇记为 C 0 C_0 C0
  3. 计算簇 C 0 C_0 C0中所有的点到其他点的平均距离最大的点 p 0 p_0 p0放在一个新的簇 C n e w C_{new} Cnew中, C 0 C_0 C0中剩余的样本构成的簇记为 C o l d C_{old} Cold
  4. 然后重复一下过程:对 C o l d C_{old} Cold中的点 x x x,如果 x x x C n e w C_{new} Cnew的距离比 x x x C o l d C_{old} Cold中距离 x x x最近的点的距离要小,那么就将点 x x x放在新的簇 C n e w C_{new} Cnew中,除了点 x x x剩下的点还记为 C o l d C_{old} Cold,重复这个过程,直到 C o l d C_{old} Cold中没有点可以放在 C n e w C_{new} Cnew中。
  5. 如果不满足停止条件,从步骤2开始继续重复。

时间复杂度是 O ( K N 2 M ) O(KN^2M) O(KN2M),其中 K K K是类别数, N N N是数据集样本数, M M M是样本的维度。

2、证明类或者簇的四个定义中,第一个定义可以推出其他的三个定义。

证明:
**第一个定义推第二,三个定义:**由定义一的定义可知,推出第二、三个定义是是显然的。
下面证明第一个定义推出第四个定义:
我们知道 n G n_G nG G G G中的样本的个数,对G中任意一个样本 x i x_i xi,除了 x i x_i xi还剩下 n G − 1 n_G - 1 nG1个样本。
且有 d i j ≤ T d_{ij}\le T dijT
所以有
1 n G n G − 1 ∑ x i ∈ G ∑ x j ∈ G d i j ≤ 1 n G n G − 1 ∑ x i ∈ G ∑ x j ∈ G T ≤ T 1 n G n G − 1 ∑ x i ∈ G ∑ x j ∈ G 1 ≤ T \frac{1}{n_Gn_G-1}\sum_{x_i \in G}\sum_{x_j \in G}d_{ij} \\ \le \frac{1}{n_Gn_G-1}\sum_{x_i \in G}\sum_{x_j \in G}T \\ \le T \frac{1}{n_Gn_G-1}\sum_{x_i \in G}\sum_{x_j \in G}1 \le T nGnG11xiGxjGdijnGnG11xiGxjGTTnGnG11xiGxjG1T

3、证明k均值的可能解的个数是指数级的。

证明:
其实这是第二类的斯特林数!!!
感觉书上给的公式是错误的,如下:
S ( n , k ) = 1 k ! ∑ l = 1 k ( − 1 ) k − l ( k l ) k n S(n,k)=\frac{1}{k!}\sum_{l=1}^{k}(-1)^{k-l}\binom{k}{l}k^{n} S(n,k)=k!1l=1k(1)kl(lk)kn
比如取n = 5,k = 3,结果不是整数,这显然是不可能的。
应该将公式改为
S ( n , k ) = 1 k ! ∑ l = 1 k ( − 1 ) k − l ( k l ) l n S(n,k)=\frac{1}{k!}\sum_{l=1}^{k}(-1)^{k-l}\binom{k}{l}l^{n} S(n,k)=k!1l=1k(1)kl(lk)ln
可以采用动态规划的方法给出这个题的递推公式。
D p [ n ] [ m ] Dp[n][m] Dp[n][m]是指将第n个球放在m个盒子,总的放置方法数
那么
D p [ n ] [ m ] = D p [ n − 1 ] [ m ] + m ∗ D p [ n − 1 ] [ m ] Dp[n][m] = Dp[n-1][m]+m*Dp[n-1][m] Dp[n][m]=Dp[n1][m]+mDp[n1][m]
第一部分 D p [ n − 1 ] [ m ] Dp[n-1][m] Dp[n1][m]是指将第n个球放在了一个新的盒子里,此时说明前面的n-1个球已经放在了k-1个盒子里面了。
第二部分 m ∗ D p [ n − 1 ] [ m ] m*Dp[n-1][m] mDp[n1][m]是指前面的n-1个球放在了m个盒子里面,此时由于要求没有空盒子,那么第n个球可以随便放m个盒子的任意一个里面,因而有m*Dp[n-1][m]种放置方法。
其实这是利用了 动态规划 的思想给出了球的放置方法的递推公式,使用生成函数证明该题的方法如下
李航老师《统计学习方法》第十四章聚类方法课后题答案_第1张图片
李航老师《统计学习方法》第十四章聚类方法课后题答案_第2张图片
再在公式(46)中取 l = k − i l = k - i l=ki进行变量的替换就可以得到书中的公式。

4、比较k均值聚类与高斯混合模型加EM算法的异同。

同:
1、高斯混合模型也可以用于聚类问题。
2、高斯混合模型同样也是有k个子模型构成的,也即混合高斯模型是k个单高斯分布以一定的权重组合的,k的选择同样是一个问题。k均值算法也有这样的缺点,k的选择是一个关键。
3、EM算法的收敛性也是受到初始值的影响,容易“陷入局部极值”,k均值算法同样。

异:
高斯混合模型可以用于概率估计,生成新的样本,并且给出属于某个类的概率,高斯混合模型的应用更加广泛,收敛速度快,能应用到大规模数据上。

你可能感兴趣的:(统计学习方法第二版,聚类,算法,数据挖掘)