确定k最优值的剪影算法
无监督学习算法的基本步骤之一是确定数据可以划分成的簇的数量。轮廓算法是确定无监督学习技术的最佳聚类数的众多算法之一。
在剪影算法中,我们假设数据已经通过聚类技术(典型的 K-Means 聚类技术)聚类成 k 个聚类。然后对于每个数据点,我们定义以下内容:-
C(i) - 分配给第 i 个数据点的集群
|C(i)| – 簇中分配给第 i 个数据点的数据点数
a(i) – 它衡量第 i 个数据点对其集群的分配情况
b(i) - 它被定义为与最近的不是它的集群的集群的平均相异度
轮廓系数 s(i) 由下式给出:-
我们确定每个 k 值的平均轮廓,并且对于s(i) 的最大值的 k 值被认为是无监督学习算法的最佳聚类数。
让我们考虑以下数据:-
S.No | X1 | X2 |
---|---|---|
1. | -7.36 | 6.37 |
2. | 3.08 | -6.78 |
3. | 5.03 | -8.31 |
4. | -1.93 | -0.92 |
5. | -8.86 | 6.60 |
我们现在将 k 的值从 2 迭代到 5。我们假设不存在所有数据点都可以最优地聚集到 1 个集群中的实际数据。
我们为每个 k 值构建下表:-
k = 2
S.No | a(i) | b(i) | s(i) |
---|---|---|---|
1. | 5.31 | 14.1 | 0.62 |
2. | 2.47 | 13.15 | 0.81 |
3. | 2.47 | 14.97 | 0.84 |
4. | 9.66 | 8.93 | -0.076 |
5. | 5.88 | 19.16 | 0.69 |
s(i) 的平均值 = 0.58
k = 3
S.No | a(i) | b(i) | s(i) |
---|---|---|---|
1. | 1.52 | 9.09 | 0.83 |
2. | 2.47 | 7.71 | 0.68 |
3. | 2.47 | 10.15 | 0.76 |
4. | 0 | 7.71 | 1 |
5. | 1.52 | 17.93 | 0.92 |
s(i) 的平均值 = 0.84
k = 4
S.No | a(i) | b(i) | s(i) |
---|---|---|---|
1. | 1.52 | 9.09 | 0.83 |
2. | infinite | 2.47 | 0 |
3. | infinite | 2.47 | 0 |
4. | infinite | 7.71 | 0 |
5. | 1.52 | 10.23 | 0.85 |
s(i) 的平均值 = 0.37
k = 5
S.No | a(i) | b(i) | s(i) |
---|---|---|---|
1. | infinite | 1.52 | 0 |
2. | infinite | 2.47 | 0 |
3. | infinite | 2.47 | 0 |
4. | infinite | 7.71 | 0 |
5. | infinite | 1.52 | 0 |
s(i) 的平均值 = 0
我们看到 s(i) 的最大值存在于 k = 3。因此我们得出结论,给定数据的最佳聚类数是 3。