基于反绎学习方法,构建机器学习与知识推理融合模型
基于反绎学习和基因知识库的基因表达预测 部分四 基于反绎学习方法,构建机器学习与知识推理融合模型
Last updated
基于反绎学习和基因知识库的基因表达预测 部分四 基于反绎学习方法,构建机器学习与知识推理融合模型
Last updated
本项目中,反绎学习框架的构建通过反绎学习工具包ABLkit完成。ABLKit使一个高度灵活的反绎学习工具包,可以实现常用的反绎学习训练及应用工作流。
本项目构建了基于ABLKit的反绎学习训练和预测框架,包括构建机器学习部分的基学习器、构建知识推理部分的逻辑规则,以及学习部分和推理部分的整合、基于反绎学习的模型训练。
在EGOAL模型具体实现层面,经测试及评估,采用了随机森林(Random Forest)算法构建基学习器,并根据由GO知识本体提取的规则,基于最小不一致性方法,构建推理部分,依据反绎学习框架将两者进行融合。
希瓦氏菌全基因组共4000余个基因,如果使用单一学习器对其全基因组的表达水平直接进行学习,将面临巨大的指数输出空间,无法高效训练和预测。
因此,我们将该预测任务进行划分,并针对希瓦氏菌基因组中的每个基因,单独构造一个二分类器,以预测其表达水平。通过对预测任务进行划分,我们可以在每个子任务上使用相对简单的学习模型。
同时,对于每个划分后的子任务,我们单独使用了remembering算法对知识库进行处理。对希瓦氏菌基因组中的每个基因,在规则集中仅保留其GO注释(Annotation)中涉及的类名称,以提高训练效率。
此外,于每个子任务的高度数据独立性,其并发程度显著提高,使得拆分后的模型可以使用并行计算方法训练。在实际训练中,并行化的训练显著提高了模型训练效率,在64核机器上将训练总用时由约27小时缩短至约30-40分钟。
对于希瓦氏菌基因组中每个基因对应的子任务,我们均在单独构建的规则集上训练了一个反绎学习模型。在反绎学习模型中,基于违反(Violated)的规则总数评估伪标签(Pseudo-Label)的质量。对一个给定的输入-伪标签二元组,通过计算该二元组下赋值为“假”的规则的加权计数,识别与知识库不一致的伪标签。然后采用逻辑反绎,寻找可能符合知识库的标签,并以此对伪标签进行修改,以最小化其和知识库的逻辑不一致性。该过程的形式化描述伪代码如下:
作为半监督学习方法,反绎学习可以利用无标签数据集(Unlabeled Dataset)提高其训练效果[15]。在机器学习部分中,基学习器模型在无标签输入上进行预测,得到伪标签,并通过推理部分对伪标签进行修正。然后,修正的伪标签即可用于基学习器的重新训练。
为解决希瓦氏菌实验数据规模过小的问题,我们从GEO数据库收集了大肠杆菌的实验描述。大肠杆菌和希瓦氏菌的实验数据中,可能包含相似的实验条件、实验观察等数据输入,但由于基因组的差异,具有不同的基因表达数据,即数据标签。
项目由GEO数据集收集约3000条基于大肠杆菌实验的无标签数据。该方法对模型的表现有明显提升,包括测试集准确性和实际应用中的效果。