如何使用規則約束來剪枝搜尋空間?


規則約束可以分為以下五個要素:

反單調性 − 約束的第一個要素是反單調性。考慮規則約束“sum (I.price) ≤ 100”。假設它使用 Apriori 框架,在每次迭代 k 中分析大小為 k 的項集。如果項集中的專案成本總和不少於 100,則可以從搜尋空間中縮短此項集,因為向集合中插入更多專案只會使其成本更高,因此不會滿足約束條件。

反單調性約束的剪枝可用於 Apriori 風格演算法的每次迭代,以幫助提高完整挖掘階段的效率,同時保證資料探勘服務的完整性。

Apriori 屬性定義了頻繁項集的所有非空子集都應該是頻繁的,它是反單調的。如果給定項集不使用最小支援度,則其任何超集也不使用。此屬性可用於 Apriori 演算法的每次迭代,以減少檢查的多個候選項集的數量,從而減少關聯規則的搜尋空間。

單調性 − 約束的第二個要素是單調性。如果規則約束為“sum (I.price) ≥ 100”,則基於約束的處理方法可能有所不同。

如果項集 I 滿足約束條件,即集合中價格的總和不少於 100,則向 I 新增更多專案將增加成本,並將持續滿足約束條件。

因此,對項集 I 上此約束的更多測試變得冗餘。換句話說,如果項集使用此規則約束,則其所有超集也使用。

簡潔約束 − 第三個要素是簡潔約束。對於此約束要素,它可以列舉某些保證使用該約束的集合。如果規則約束是簡潔的,它可以直接生成滿足它的集合,甚至在支援計數開始之前。這避免了生成和測試範例的大量開銷。

可轉換約束 − 第四個要素是可轉換約束。如果項集中的專案按特定順序排列,則關於頻繁項集挖掘過程,約束可以變成單調或反單調。

例如,約束“avg(I.price) ≤ 100”既不是反單調的也不是單調的。如果事務中的專案按價格升序新增到項集,則約束變為反單調的,因為如果項集 I 破壞約束(即平均成本高於 100 美元),則向項集中新增更多昂貴專案不會使其滿足約束。

更新於:2022年2月16日

瀏覽量:119

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.