基于亲和传播的表达微阵列数据双向聚类分析
1. 亲和传播聚类算法基础
亲和传播(Affinity Propagation,AP)是一种知名的聚类技术。其核心思想是通过寻找一组能最佳代表整个数据集的范例点来进行聚类。具体操作是将输入数据视为一个网络,每个数据点作为一个节点,通过在节点间迭代传递消息来选择范例点。消息传递过程会传达每个点选择另一个数据点作为其范例的亲和性,当出现合适的范例点或达到预设的迭代次数时,过程停止。
AP的输入是一个相似度矩阵 (s(i, j)),它定义了点 (j) 作为点 (i) 范例的合适程度。该相似度与领域相关,不一定是度量值。与其他基于范例的聚类技术(如k - means)不同,AP不需要事先指定要形成的聚类数量,此数量由算法自动计算,受输入的 (s(i, i)) 值影响,该值代表点 (k) 成为自身范例的偏好。偏好值越高,形成的聚类数量越多,反之亦然。通常,所有偏好值会设为相似度矩阵的中位数。
在消息传递方面,数据点会交换两种消息:责任消息和可用性消息。责任消息 (r_{i→j}) 表示点 (j) 作为点 (i) 代表的合适程度,可用性消息 (a_{i→j}) 表示点 (i) 作为点 (j) 代表的合适程度。消息更新公式如下:
- 责任消息更新:(r_{i→j} = s(i, j) - \max_{k\neq j} {a_{k→i} + s(i, k)})
- 可用性消息更新:
- 当 (i \neq j) 时,(a_{i→j} = \min{0, r(i, i) + \sum_{k\neq j} \max{0, r_{k→i}}})
- 当 (i = j) 时,(a_{i→j} = \sum_{k\neq i
超级会员免费看
订阅专栏 解锁全文
73

被折叠的 条评论
为什么被折叠?



