kmeans算法中,记 $\hat{\mathbf{x}}$ 为 $n$ 个样本的中心点, 定义如下变量: \begin{table}[h] \centering \label{table:equation} \begin{tabular}{ l | c } \hline total deviation & $T(X) = \sum_{i=1}^n \lVert \mathbf x_i - \hat{\mathbf x}\rVert^2/n$ \\ intra-cluster deviation & $W_j(X) = \sum_{i=1}^n \gamma_{ij} \lVert\mathbf x_i - \mu_j \rVert^2/\sum_{i=1}^n \gamma_{ij}$ \\ inter-cluster deviation & $B(X) = \sum_{j=1}^k \frac{ \sum_{i=1}^n \gamma_{ij}}{n} \lVert\mu_j -\hat{\mathbf x} \rVert^2$\\ \hline \end{tabular} \end{table} 试探究以上三个变量之间有什么样的等式关系? 基于此, 请证明, $k$-means 聚类算法可以认为是在最小化 intra-cluster deviation 的加权平均, 同时近似最大化 inter-cluster deviation.
时间: 2023-06-24 07:05:00 浏览: 112
常用算法归纳.docx
根据定义,总偏差 $T(X)$ 可以展开为:
$$
T(X) = \frac{1}{n}\sum_{i=1}^n \lVert \mathbf x_i - \hat{\mathbf x}\rVert^2
$$
注意到 $\hat{\mathbf{x}}$ 是样本 $\mathbf{x}_1,\ldots,\mathbf{x}_n$ 的平均值,所以有:
\begin{align*}
\lVert \mathbf x_i - \hat{\mathbf x}\rVert^2 &= \lVert \mathbf x_i - \frac{1}{n}\sum_{j=1}^n \mathbf x_j \rVert^2 \\
&= \lVert \frac{1}{n}\sum_{j=1}^n (\mathbf x_i - \mathbf x_j) \rVert^2 \\
&= \frac{1}{n^2}\sum_{j=1}^n \lVert \mathbf x_i - \mathbf x_j \rVert^2 \\
\end{align*}
因此,我们可以将总偏差展开为:
$$
T(X) = \frac{1}{n}\sum_{i=1}^n \frac{1}{n}\sum_{j=1}^n \lVert \mathbf x_i - \mathbf x_j \rVert^2
$$
注意到 $\lVert \mathbf x_i - \mathbf x_j \rVert^2$ 表示样本 $\mathbf x_i$ 和 $\mathbf x_j$ 的距离,因此上式相当于计算所有样本对之间的距离的平均值,即总偏差就是所有样本之间距离的平均值。
接下来,我们来看 intra-cluster deviation $W_j(X)$ 和 inter-cluster deviation $B(X)$。
首先考虑 intra-cluster deviation $W_j(X)$。根据定义,$W_j(X)$ 是第 $j$ 个簇内部样本到簇质心的距离的平均值。可以将其展开为:
$$
W_j(X) = \frac{\sum_{i=1}^n \gamma_{ij} \lVert\mathbf x_i - \mu_j \rVert^2}{\sum_{i=1}^n \gamma_{ij}}
$$
注意到 $\gamma_{ij}$ 表示样本 $\mathbf x_i$ 是否属于第 $j$ 个簇,因此 $\sum_{i=1}^n \gamma_{ij}$ 表示第 $j$ 个簇中样本的数量。因此,$W_j(X)$ 可以看做是第 $j$ 个簇内部样本与该簇质心的距离平方和的加权平均值。
接下来考虑 inter-cluster deviation $B(X)$。根据定义,$B(X)$ 是所有簇质心到整个数据集质心的距离的平方和的加权平均值。可以将其展开为:
$$
B(X) = \sum_{j=1}^k \frac{\sum_{i=1}^n \gamma_{ij}}{n} \lVert\mu_j -\hat{\mathbf x} \rVert^2
$$
注意到 $\sum_{i=1}^n \gamma_{ij}$ 表示第 $j$ 个簇中样本的数量,因此 $\frac{\sum_{i=1}^n \gamma_{ij}}{n}$ 表示第 $j$ 个簇在整个数据集中的占比。因此,$B(X)$ 可以看做是所有簇质心与整个数据集质心的距离平方和的加权平均值。
综上所述,我们有以下等式关系:
$$
T(X) = \sum_{j=1}^k \frac{\sum_{i=1}^n \gamma_{ij}}{n} W_j(X) + B(X)
$$
也就是说,总偏差可以看做是所有 intra-cluster deviation 的加权平均值再加上 inter-cluster deviation。
因此,当我们使用 $k$-means 聚类算法时,我们的目标是最小化所有 intra-cluster deviation 的加权平均值,同时近似最大化 inter-cluster deviation,以使得总偏差最小。
阅读全文