我正在尝试用遗传算法实现双聚类。我读过很少的论文,但他们没有提到他们是如何实现的。他们所做的只是展示了实验结果。我知道如何编写遗传算法,但我陷入了某些无法决定下一步该做什么的地步。我在matlab中实现了cheng和church算法,我也知道如何编写遗传算法。
现在我有两个选择:
使用cheng和church生成所有的biclusters,然后以字符串的形式对簇进行编码:
10010101010...
(N
+ M
)
其中字符串为N
+ M
(N
行M
cols给定矩阵)并且它将为我形成一个单独的基因然后我会用所有其余的簇将创建它的相应基因。就像我从cheng和church算法中获得100个双群集一样,然后我以10101100101
的形式对每个bi群集进行编码(如果存在特定行,则在N
行中我将对其进行{{1}并且确实存在的列1
我会将其M
和其他人列为1
),我将为所有将为我形成100人口的双聚类做到这一点具有0
+ N
的基因(或双聚类)(每个基因中的行和列)。在这之后,我将在其上应用遗传算法,并将基于适应度函数评估每个双聚类。这将在我的双群集
第二个是我从一开始就没有生成双群集,但我在遗传算法中生成它然后根据目标函数对其进行评估,如果目标函数满足则我保存它在群集中我拒绝它。
在我应该遵循的这些情况中,我有点混乱。如果有人拥有更好的最佳技术或使用遗传算法进行双聚类的策略,请与我分享或以富有成效的方式指导我。