是否存在在 k-means 算法中使用 L1 范数而不是 L2 范数的情况?

机器算法验证 聚类 k-均值
2022-04-18 12:58:59

是否存在在 k-means 算法中使用 L1 范数而不是 L2 范数的情况?

在网上的大部分文章中,k-means 都是处理 l2-norm 的。L1 范数似乎没有用,因为它不可微。但是,当仅查看范数可微分的地方时,是否有在 k-means 算法中使用 l1 范数的情况?

3个回答

我想不出一个普遍的情况,这会一直被证明是更好/更差。可能会出现特定于数据的情况,但要使 k-means 算法工作,唯一需要的是任何类型的度量。

一般来说,对于Lp作为选择的规范,您选择的越高p,最大的单个特征/可变距离变得越重要。把这个发挥到极致,因为p和观察x1x2,distance(Lp,x1,x2)=maxi{x1,ix2,i}. (在这里,我们假设我们有x1Rn1in, 所以i索引特征)。

在此基础上,您可以说您选择的越大p,在聚类时,您的指标对两个观测值之间的最大距离的权重越大。相反的反极端是p=1,其中所有距离都获得相同的权重,并且绝对值差的组合是线性的。

我希望这对您有所帮助-如果我还不够清楚,请告诉我。

如果使用 L1 范数,需要使用中位数而不是均值。因为中位数是位置的 L1 估计量,而平均值是 L2 估计量。

这就是所谓的k 中位数算法

PS Bradley、OL Mangasarian 和 WN Street,“通过凹面最小化进行聚类”,神经信息处理系统进展,第一卷。9,MC Mozer,MI Jordan 和 T. Petsche,Eds。马萨诸塞州剑桥:麻省理工学院出版社,1997 年,第 368-374 页。

我认为一个原因是,“平均”程序最小化了 L2 规范的总和,而不是 L1 规范的总和。