Constraint-based Clustering หา Clusters ที่ Satisfy User-stated Preferences หรือ Constraints ขึ้นอยู่กับ Nature ของ Constraints Constraint-based Clustering สามารถ Adopt Different Approaches แทนกันได้ มี Several Categories ของ Constraints ดังนี้:
Constraints on Individual Objects (เงื่อนไขบน Objects ตัวเดียว) - สามารถ Define Constraints บน Objects ที่จะ Clustered ใน Real Estate Application ตัวอย่าง อาจต้องการ Spatially Cluster เฉพาะ Luxury Mansions Worth Over Million Dollars Constraint นี้ Confine Set of Objects ที่จะ Clustered สามารถ Handle ได้ง่ายโดย Preprocessing (เช่น Selection ด้วย SQL Query) หลังจากนั้น Problem Reduce เป็น Unconstrained Clustering
Constraints on Selection of Clustering Parameters (เงื่อนไขบน Parameters) - User อาจต้องการ Set Desired Range สำหรับแต่ละ Clustering Parameter Clustering Parameters มัก Specific ให้ Clustering Algorithm ตัวอย่าง Parameters: k (Desired Number of Clusters ใน k-means) หรือ ε (Radius) และ MinPts (Minimum Points) ใน DBSCAN
แม้ User-stated Parameters จะ Strongly Influence Clustering Results แต่โดยทั่วไป Confined ให้ Algorithm Itself ดังนั้น Fine-tuning และ Processing ไม่ได้ Treat เป็น Form ของ Constraint-based Clustering
Constraints on Distance หรือ Similarity Functions (เงื่อนไขบน Distance/Similarity) - สามารถ Specify Different Distance/Similarity Functions สำหรับ Definite Attributes ของ Objects หรือ Different Distance Measures สำหรับ Specific Pairs ของ Objects ตัวอย่าง: เมื่อ Clustering Sportsmen ใช้ Different Weighting Schemes สำหรับ Height, Body Weight, Age, Skill Level
User-specified Constraints on Properties of Individual Clusters (เงื่อนไขบน Properties ของ Clusters) - User อาจ Specify Desired Characteristics ของ Resulting Clusters ซึ่ง Strongly Influence Clustering Process
ตัวอย่าง: Package Delivery Company ต้องการ Decide Locations สำหรับ k Service Stations ในเมือง มี Database ของ Customers ที่ Register Names, Locations, Length of Time, Average Monthly Price สามารถ Formulate Location Selection Problem เป็น Unconstrained Clustering ใช้ Distance Function จาก Customer Location
Smarter Method: Partition Customers เป็น 2 Classes - High-value Customers (ต้องการ Frequent, Regular Service) และ Ordinary Customers (Occasional Service) เพื่อ Save Costs และ Support Good Service Manager Adds Constraints:
แต่ละ Station ต้อง Serve อย่างน้อย 100 High-value Customers
แต่ละ Station ต้อง Serve อย่างน้อย 5,000 Ordinary Customers Constraint-based Clustering จะ Consider Constraints เหล่านี้ใน Clustering Procedure
Semi-supervised Clustering Based on "Partial" Supervision - Quality ของ Unsupervised Clustering สามารถ Improve Substantially ได้ด้วย Weak Form of Supervision ในรูป Pairwise Constraints (Pairs ของ Objects Labeled ว่า Same หรือ Different Cluster) Constrained Clustering Process นี้ เรียกว่า Semi-supervised Clustering