帶約束的聚類方法有哪些?
處理特定約束需要各種技術。處理硬約束和軟約束的一般原則如下:
處理硬約束 - 處理困難約束的一般方法是在聚類分配過程中嚴格遵守約束。給定一個數據集和一組關於示例的約束(即,必須連結或不能連結約束),我們如何開發 k-means 方法來滿足這些約束?COP-kmeans 演算法的工作原理如下:
為必須連結約束生成超級例項 - 它可以計算必須連結約束的傳遞閉包。因此,所有必須連結約束都被視為等價關係。閉包提供了一個或多個物件子集,其中子集中的某些物件應分配到一個聚類中。
它可以定義這樣一個子集,它可以用均值替換子集中的某些物件。超級例項還會生成一個權重,即它定義的物件的數量。在此過程之後,必須連結約束將持續得到滿足。
執行修改後的 k-means 聚類 - 在 k-means 中,物件被建立到最接近的中心。它可以尊重不能連結約束,並且它將 k-means 中的中心分配過程更改為最接近的可行中心分配。
當物件按順序分配到中心時,在每一步它都可以確保到目前為止的分配不會破壞某些不能連結約束。將物件分配到最接近的中心,以便分配尊重某些不能連結約束。
因為 COP-k-means 規定在每一步都不違反任何約束,所以它不需要任何回溯。它是一種用於建立滿足所有約束的聚類的貪婪演算法,前提是約束之間不存在衝突。
處理軟約束 - 帶軟約束的聚類是一個最佳化問題。當聚類破壞軟約束時,需要對聚類進行懲罰。因此,聚類的最佳化目標包括兩個部分,例如最佳化聚類方面和最小化約束違反懲罰。目標服務是一組聚類質量得分和懲罰得分。
給定一個數據集和一組關於示例的軟約束,CVQE(約束向量量化誤差)演算法策略 k-means 聚類,同時執行約束違反懲罰。CVQE 中使用的目標函式是 k-means 中使用的距離的總和,修改了約束違反懲罰,計算如下:
必須連結違規的懲罰 - 如果物件 x 和 y 上存在必須連結約束,但它們被建立到兩個多箇中心 c1 和 c2,因此約束被違反。因此,dist (c1,c2),c1 和 c2 之間的距離,被插入到目標函式中作為懲罰。
不能連結違規的懲罰 - 如果物件 x 和 y 上存在不能連結約束,但它們被建立到一個公共中心 c,因此約束被違反。c 和 c’ 之間的距離 dist (c,c’) 被插入到目標函式中作為懲罰。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP