一些聚类问题

假设我们是一家大型零售公司, 客户分布在全国各地. 为了方便管理和提供更好的服务, 我们需要把客户按照地理位置进行分类, 例如按城市或街道的维度把客户划分成 区块, 每个区块是客户的集合. 主要考虑如下因素:

  • 区块包含客户的地理位置尽可能集中
  • 区块大小(客户数量)有限制
  • 客户有权重, 例如客户分为普通客户和VIP客户.

下文总结几个可能需要求解的聚类问题.

问题列表

1. 等量的聚类问题(Equal-size clustering or balanced clustering)

给定点集 X = { x 1 , x 2 , . . . , x n } X=\{\boldsymbol{x_1}, \boldsymbol{x_2}, ..., \boldsymbol{x_n}\} X={x1,x2,...,xn}, 其中每个点是一个 d d d维实向量. 给定常数 k k k n m o d    k = 0 n \mod k =0 nmodk=0. 我们把 X X X划分(Partition)成 k k k个"等量"的子集 S 1 , S 2 , . . . , S k S_1, S_2, ..., S_k S1,S2,...,Sk. 令 μ i \boldsymbol{\mu_i} μi代表 S i S_i Si的均值, 我们的目标是:
min ⁡ ∑ i = 1 k ∑ x ∈ S i ∣ ∣ x − μ i ∣ ∣ 2 . \min \sum_{i=1}^k\sum_{\boldsymbol{x}\in S_i}||\boldsymbol{x} - \boldsymbol{\mu_i}||^2. mini=1kxSixμi2.

2. 限容的聚类问题(Size-constrained clustering)

给定点集 X = { x 1 , x 2 , . . . , x n } X=\{\boldsymbol{x_1}, \boldsymbol{x_2}, ..., \boldsymbol{x_n}\} X={x1,x2,...,xn}, 其中每个点是一个 d d d维实向量. 给定常数 L B LB LB, U B UB UB L B ≤ U B LB\leq UB LBUB. 我们把 X X X划分(Partition)成 k k k个"满足容量限制"的子集 S 1 , S 2 , . . . , S k S_1, S_2, ..., S_k S1,S2,...,Sk, 即 L B ≤ ∣ S i ∣ ≤ U B LB \leq |S_i|\leq UB LBSiUB, ∀ i \forall i i. (注意: k k k不是输入参数.) 令 μ i \boldsymbol{\mu_i} μi代表 S i S_i Si的均值, 我们的目标是:
min ⁡ ∑ i = 1 k ∑ x ∈ S i ∣ ∣ x − μ i ∣ ∣ 2 . \min \sum_{i=1}^k\sum_{\boldsymbol{x}\in S_i}||\boldsymbol{x} - \boldsymbol{\mu_i}||^2. mini=1kxSixμi2.

3. 限权的聚类问题(Weight-constrained clustering)

给定点集 X = { x 1 , x 2 , . . . , x n } X=\{\boldsymbol{x_1}, \boldsymbol{x_2}, ..., \boldsymbol{x_n}\} X={x1,x2,...,xn}和权重 w 1 , w 2 , . . . , w n w_1, w_2, ..., w_n w1,w2,...,wn, 其中每个点是一个 d d d维实向量. 给定常数 L B LB LB, U B UB UB L B ≤ U B LB\leq UB LBUB. 我们把 X X X划分(Partition)成 k k k个"满足容量限制"的子集 S 1 , S 2 , . . . , S k S_1, S_2, ..., S_k S1,S2,...,Sk, 即 L B ≤ w ( S i ) ≤ U B LB \leq w(S_i)\leq UB LBw(Si)UB, ∀ i \forall i i, 其中 w ( S i ) w(S_i) w(Si)代表 S i S_i Si对应的权重之和. (注意: k k k不是输入参数.) 令 μ i \boldsymbol{\mu_i} μi代表 S i S_i Si的均值, 我们的目标是:
min ⁡ ∑ i = 1 k ∑ x ∈ S i ∣ ∣ x − μ i ∣ ∣ 2 . \min \sum_{i=1}^k\sum_{\boldsymbol{x}\in S_i}||\boldsymbol{x} - \boldsymbol{\mu_i}||^2. mini=1kxSixμi2.

说明

1. 计算复杂性

  • 我们知道k-means是NP-hard. 甚至当 k = 2 k=2 k=21以及平面上的k-means也是NP-hard2. 与k-means相比, 问题1要求每个聚类(cluster)的元素个数相同. 那么它的复杂性也是NP-hard吗?
  • 如果上述问题限制在 平面上的二维向量, 其计算复杂性是否NP-hard? 这是我们在实际应用中关心的问题.
  • 问题1是问题2的特殊情况: 令 L B = U B = n / k LB=UB=n/k LB=UB=n/k.
  • 问题2是问题3的特殊情况: 令 w i = 1 w_i=1 wi=1, ∀ i \forall i i.

2. 优化目标

  • 上述3个问题的目标函数都是相同的,即最小化中心点到聚类点的距离( L 2 L_2 L2范数)之和. 我们也可以考虑其它的优化目标, 例如最小化最大半径. 甚至也可以考虑用图的方式对上述问题建模(参考k-median, k-center).
  • 在实际应用中, 我们期望做到每个类尽量集中. 因此, 无论上述问题用什么优化目标, 我们真正期望的不一定是最优解, 而是让结果"看起来"可以接受. 从计算角度来看, 我们希望高效且解的质量可以接受的算法.
  • 从建模的角度来看, 我们是否有可能找到一种建模方式, 例如找到一种目标函数, 使得问题本身的计算复杂性可以降低成P问题? (且在实际中我们能接受这样的目标)

参考文献


  1. M. Garey, D. Johnson, H. Witsenhausen. The complexity of the generalized LIoyd - Max problem. IEEE Transactions on Information Theory. 28(2): 255-256, 1982. ↩︎

  2. M. Mahajan, P. Nimbhorkar and K.Varadarajan. The planar k-means problem is NP-hard. Lecture Notes in Computer Science. 5431. pp.274-285, 2009. ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值