KMeans的矢量量化应用

  |  

摘要: KMeans 的一个应用:矢量量化

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


K-Means聚类最重要的应用之一是非结构数据(图像,声音)上的矢量量化(VQ)。非结构化数据往往占用比较多的储存空间,文件本身也会比较大,运算非常缓慢,我们希望能够在保证数据质量的前提下,尽量地缩小非结构化数据的大小,或者简化非结构化数据的结构。矢量量化就可以帮助我们实现这个目的。

矢量量化与特征选择和PCA的对比:

  • 特征选择的降维是直接选取对模型贡献最大的特征
  • PCA的降维是聚合信息
  • 矢量量化的降维是在同等样本量上压缩信息的大小,即不改变特征的数目也不改变样本的数目,只改变在这些特征下的样本上的信息量。

用 KMeans 聚类中获得的质心来替代原有的数据,可以把数据上的信息量压缩到非常小,但又不损失太多信息。

接下来就通过一张图图片的矢量量化来看一看 KMeans 如何实现压缩数据大小却不损失太多信息量。


Jupyter 脚本链接


Share