00:01
我们继续上次的内容,看到书上136页二矢量量化或将K均值看作分解。虽然K均值是一种聚类算法,但在K均值和分解方法,比如之前讨论过的PCA和NMF之间存在一些有趣的相似之处。你可能还记得PC试图找到数据中方差最大的方向和NMF试图找到累加的分量。这通常对应于数据的极值或部分。两种方法都试图将数据点表示成为一些分量的和,与之相反,K均只做尝试利用促中心。来表示每个数据点,你可以将其看作仅用一个分量来表示每个数据点,该分量由粗中心给出这种观点将K均值看作是一种分解的方法,其中每个点用单一的分量来表示,这种观点被称为矢量量化。RI contination。
01:03
我们来并排比较PCNMF和K均值。分别显示提取的分量以及利用100个分量对测试集中人脸的重建。对于K均值重建就是在训练其中找到最近的错误中心。
09:05
利用K均值做矢量量化的一个有趣之处在于。可以用比输入维度更多的错来对数据进行编码。让我们回到出木子数据。利用PC或NMF,我们对这个数据无能为力,因为它只有两个维度,使用PC或NMF将其降到一维将会完全破坏破坏数据的结构。但是。通过使用更多的簇中心,我们可以用K均值找到一种更具表现力的表示。
12:41
我们使用了十个促中心。也就是说,现在每个点都被分配了零到九之间的一个数字。我们可将其看作十个分量表示的数据。我们有十个新特征。只有表示该点对应的初中心的那个特征不为零,其他特征均为零。利用这个十位表示,现在可以用线性模型来划分两个半月形,而利用原始的两个特征是不可能做到这一点的。
13:13
将到每个簇中心的距离作为特征,还可以得到一种表现力更强的数据表示。可以利用he transform方法来完成这么一点。
14:36
K均值是非常流行的聚类算法,因为它不仅相对容易理解和实现,而且运行速度也相对较快。K均值可以轻松扩展到大型数据集S,甚至在mini Bach ks类以中包含了一种更具扩展性的变体,可以处理非常大的数据集。K均值的缺点之一在于它依赖于随机初始化,也就是说算法的输出依赖于随机种子。
15:06
默认情况下,S learn用十种不同的随机初始化将算法运行十次并返回。最佳结果。在这种情况下,最佳的意思是醋的方差之和最小。K均值还有一个缺点就是对醋形状的假设的约束性较强,而且还要求指定所要寻找的醋的个数,在现实世界的应用中可能并不知道这个数。我们后面会学习另外两种聚类算法。他们都在某些方面对这些性质做了改进。
我来说两句