• 机器学习之聚类


    背景

    聚类属于无监督学习,我们前面所讲的逻辑回归,决策树都是有类别标签y的,也就是说样本中给出了样本的类别y。而聚类的样本却没有给样本的类别y,只有样本的特征x。聚类的目的是找到每个样本x潜在的类别y,并将相同类别y的样本x放在一起。

    kmeans

    kmeans中聚类算法中使用的最广泛的算法之一。我们通过一个简单的例子,看看kmeans聚类的过程

    如图所示,数据样本用圆点表示,每个簇的中心点用叉叉表示。

    • a) 刚开始时是原始数据,杂乱无章,没有label,看起来都一样,都是绿色的。
    • b) 假设数据集可以分为两类,令K=2,随机在坐标上选两个点,作为两个类的中心点。
    • (c-f)演示了聚类的两种迭代。先划分,把每个数据样本划分到最近的中心点那一簇;划分完后,更新每个簇的中心,即把该簇的所有数据点的坐标加起来取平均值。这样不断进行”划分—更新—划分—更新”,直到每个簇的中心不再移动为止。

    ok,我们把上面的步骤用数学的语言来描述:

    假定我们有m个训练样本是 (x^{(1)},x^{(2)},x^{(3)},...,x^{(m)}),每个样本的特征有n维(x in R^n),kmeans算法把样本聚类为k个簇,具体算法描述如下:

    1 随机选取k个聚类质心点 ((u_1,u_2,u3,...u_k) in R^n)
    2 重复下面的过程直到收敛
    2.1 对于每一个样本,计算其所属的类别
    $$c^{(i)} = arg min_j ||x^{(i)} - u_j||^2$$
    2.2 对于每一个类别j,重新计算它的质心
    $$u_j = frac{sum_{i=1}{m}1{c{i}=j}x{i}}{sum_{i=1}{m}1{c^{i}=j}}$$

    • K是我们事先给定的聚类数
    • (c^{(i)})代表样例(x^{(i)})与k个类中距离最近的那个类
    • (c^{(i)})的值是1到k中的一个。
    • 质心(u_j)代表我们对属于同一个类的样本中心点的猜测
    • 质心的计算方式为每个簇中样本的坐标的平均值

    kmeans++

    Kmeans 的一个问题在于,它有可能会停留在一个局部最小值处,而这取决于初始化的情况。如下面的例子

    我们的数据可以聚为三类。a)图是最好的划分方式,b)图和c)图由于初始值选择的缘故都停留在了局部极小值处。为了解决这个问题,我们通常需要多次运行 Kmeans算法,每一次都重新进行随机初始化,最后再比较多次运行 Kmeans的结果,选择代价函数最小的结果。这种方法在K较小的时候(2--10)还是可行的,但是如果 K 较大,这么做也可能不会有明显地改善

    针对这个问题我们有了kmeans++算法

    k-means++算法选择初始seeds的基本思想就是:初始的聚类中心之间的相互距离要尽可能的远。

    1. 从输入的样本集合中随机选择一个样本作为第一个聚类中心
    2. 对于数据集中的每一个样本x,计算它与最近聚类中心(指已选择的聚类中心)的距离D(x)
    3. 选择一个新的样本作为新的聚类中心,选择的原则是:D(x)较大的样本,被选取作为聚类中心的概率较大
    4. 重复2和3直到k个聚类中心被选出来
      利用这k个初始的聚类中心来运行标准的k-means算法

    从上面的算法描述上可以看到,算法的关键是第3步,如何将D(x)反映到点被选择的概率上,算法如下:

    1. 先从我们的样本集合中随机挑选一个样本当做“种子样本”
    2. 对于每个样本,我们都计算其和最近的一个“种子样本”的距离D(x)并保存在一个数组里,然后把这些距离加起来得到Sum(D(x))。
    3. 然后,再取一个随机值,用权重的方式来取计算下一个“种子样本”。这个算法的实现是,先取一个能落在Sum(D(x))中的随机值Random,然后用Random -= D(x),直到其<=0,此时的样本就是下一个“样本点”。
    4. 重复2和3直到k个聚类中心被选出来,利用这k个初始的聚类中心来运行标准的k-means算法

    参考文献

  • 相关阅读:
    Prometheus监控k8s集合
    docker集合
    开源堡垒机jumpserver
    ELK日志分析平台
    安全名称解释
    CPU上下文切换
    平均负载
    234. 回文链表
    125. 验证回文串
    122. 买卖股票的最佳时机II
  • 原文地址:https://www.cnblogs.com/duanxingxing/p/6924927.html
Copyright © 2020-2023  润新知