算法:基于信息散度(I-divergence)的立方体平均三向类算法 | 输入:O0 (数据立方体),k(方向1的聚簇数量),l(方向2的聚簇数量),m(方向3的聚簇数量), 输出:优化后的k×l×m的三向聚类结果 开始: 1. 初始化:基于原始数据O0,方向1~3上分别被随机分为k、l、m个区域(聚簇),该数据体和数据分割方案,记为Oi; 2. 对Oi 各区域内数据求均值,并用均值代替区内各元素,形成该分割方案下聚类结果的概化数据体; 3. 计算信息散度(目标函数):/*fi表征在该分割方案下的概化后的数据体()与概化前的数据体(Oi)的接近程度,值越小越接近;即数据子集内元素越相似、而数据子集间元素差异越大*/ 4. 开始迭代: 4.1 以Oi数据体及其分割方案为基础,在行或列或高的方向上,按一定规则,逐步尝试将Oi中的数据向量 在所属方向的不同区间移动或交换,形成新的数据体和分割方案,记为Oj; 4.2 对Oj各区域内数据求均值,并用均值代替区内各元素,形成该聚类结果的概化数据体; 4.3 计算信息散度: 4.4 若fj < fi,则Oi = Oj,fi = fj,并跳转到4、开始下一次迭代;否则,直接跳转到4、开始下一次迭代 5. 结束迭代(直到目标函数收敛) 结束 |
|