假設我們是一家大型零售公司, 客戶分布在全國各地. 為了方便管理和提供更好的服務, 我們需要把客戶按照地理位置進行分類, 例如按城市或街道的維度把客戶劃分成 區塊, 每個區塊是客戶的集合. 主要考慮如下因素:
- 區塊包含客戶的地理位置盡可能集中
- 區塊大小(客戶數量)有限制
- 客戶有權重, 例如客戶分為普通客戶和VIP客戶.
下文總結幾個可能需要求解的聚類問題.
問題列表
1. 等量的聚類問題(Equal-size clustering or balanced clustering)
給定點集, 其中每個點是一個
維實向量. 給定常數
且
. 我們把
劃分(Partition)成
個"等量"的子集
. 令
代表
的均值, 我們的目標是:
2. 限容的聚類問題(Size-constrained clustering)
給定點集, 其中每個點是一個
維實向量. 給定常數
,
且
. 我們把
劃分(Partition)成
個"滿足容量限制"的子集
, 即
,
. (注意:
不是輸入參數.) 令
代表
的均值, 我們的目標是:
3. 限權的聚類問題(Weight-constrained clustering)
給定點集和權重
, 其中每個點是一個
維實向量. 給定常數
,
且
. 我們把
劃分(Partition)成
個"滿足容量限制"的子集
, 即
,
, 其中
代表
對應的權重之和. (注意:
不是輸入參數.) 令
代表
的均值, 我們的目標是:
說明
1. 計算復雜性
- 我們知道k-means是NP-hard. 甚至當
[1]以及平面上的k-means也是NP-hard[2]. 與k-means相比, 問題1要求每個聚類(cluster)的元素個數相同. 那么它的復雜性也是NP-hard嗎?
- 如果上述問題限制在 平面上的二維向量, 其計算復雜性是否NP-hard? 這是我們在實際應用中關心的問題.
- 問題1是問題2的特殊情況: 令
.
- 問題2是問題3的特殊情況: 令
,
.
2. 優化目標
- 上述3個問題的目標函數都是相同的,即最小化中心點到聚類點的距離(
范數)之和. 我們也可以考慮其它的優化目標, 例如最小化最大半徑. 甚至也可以考慮用圖的方式對上述問題建模(參考k-median, k-center).
- 在實際應用中, 我們期望做到每個類盡量集中. 因此, 無論上述問題用什么優化目標, 我們真正期望的不一定是最優解, 而是讓結果"看起來"可以接受. 從計算角度來看, 我們希望高效且解的質量可以接受的算法.
- 從建模的角度來看, 我們是否有可能找到一種建模方式, 例如找到一種目標函數, 使得問題本身的計算復雜性可以降低成P問題? (且在實際中我們能接受這樣的目標)
參考文獻
-
M. Garey, D. Johnson, H. Witsenhausen. The complexity of the generalized LIoyd - Max problem. IEEE Transactions on Information Theory. 28(2): 255-256, 1982. ?
-
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. ?