Unsupervise-learning-notes

无监督学习笔记

  • 无监督学习主要包括聚类

    K-means

  • 数据是没有label的,按照数据之间的相似性进行分类

原理and步骤

  • 是随机选取K个对象作为初始的聚类中心,
  • 计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心,
  • 聚类中心以及分配给它们的对象就代表一个聚类,
  • 每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件,
  • 终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。

数学推导

  • 对于一组没有标签的数据集X
    \(X=\left[\begin{array}{c}{x^{(1)}} \\ {x^{(2)}} \\ {\vdots} \\ {x^{(m)}}\end{array}\right]\)
  • 把这个数据集分成\(k\)个簇\(C_{k}\),\(C=C_{1}, C_{2}, \dots, C_{k}\)
  • 最小化的损失函数为,这里使用欧式距离进行度量
    \(E=\sum_{i=1}^{k} \sum_{x \in C_{i}}\left\|x-\mu_{i}\right\|^{2}\)
  • 其中\(\mu_{i}\)为簇\(C_{i}\)的中心点:
    \(\mu_{i}=\frac{1}{\left|C_{i}\right|} \sum_{x \in C i} x\)

  • 找到最优聚类簇,需要对每一个解进行遍历,因此,k-means使用贪心算法对每个解进行遍历
    • 1.在样本中随机选取\(k\)个样本点充当各个簇的中心点\(\left\{\mu_{1}, \mu_{2}, \dots, \mu_{k}\right\}\)
    • 2.计算所有样本点与各个簇中心之间的距离 \(\operatorname{dist}\left(x^{(i)}, \mu_{j}\right)\),然后把样本点划入最近的簇中\(x^{(i)} \in \mu_{\text {nearest}}\)
    • 3.根据簇中已有的样本点,重新计算簇中心
      \(\mu_{i}:=\partial g(x) 1\left|C_{i}\right| \sum_{x \in C i} x\)
    • 重复步骤2,3

猜你喜欢

转载自www.cnblogs.com/gaowenxingxing/p/12311210.html