基于约束的聚类分析有哪些类型?