杨 杰,罗 洪
(西南民族大学计算机科学与技术学院,四川 成都 610041)
大数据时代离不开以推荐算法为基础的推荐系统,各类推荐系统对人们日常生活的影响立越来越强.文献[1]于2007 年提出了基于二分网络的推荐算法,该算法和传统的协同过滤推荐算法相比具有精度高等特点,以此为基础后来研究者又提出了一系列的基于二分网络的推荐算法和相应的优化算法,例如以物质扩散算法和热传导算法为基础的优化算法就取得了不错的效果[2-3].热传导算法的基本思想源自物理学中的热平衡方程,根据物理学中的热传导思想经过改进后的热传导算法已经成功应用在链路预测领域和推荐系统领域[4-6].miRNA 是一类内源性非编码小分子RNA.近年来,伴随越来越多的miRNA 的发现和进行的相关研究,研究结果表明miRNA 在基因表达、蛋白质翻译以及细胞分化、增殖与凋亡等生命过程中起重要的调控作用,它的异常表达能够直接或间接的导致相关复杂疾病的产生,也就是说作为一种重要调控因子miRNA 参与了多种重要的生物过程并且与多种复杂疾病的发生和发展相关[7-9].与传统的生物实验发现疾病相关的miRNA 的方法不同,采用计算机为基础的计算方法能够在大规模生物数据中完成相关的计算预测,通过计算预测不仅可以指导生物实验还可以提高实验效率和降低实验成本. 近年来,很多计算模型和算法已经被国内外学者用于对疾病相关的miRN 的预测研究[10-12],然而热传导算法在预测miRNA-疾病的相关性方面应用研究较少.文献[13]融合二分网络和物理学中的热传导原理提出了基于二分网络的热传导算法(Heat Conduction Algorithm Based on the Bipartite Network)并应用到推荐系统中, 该算法以下简称HC 算法.文献[14]在HC 算法的基础上引入物品度的λ 次方提出了偏热传导算法(Biased Heat Conduction),该算法以下简称BHC 算法.针对热传导算法在疾病相关的miRNAs 计算预测研究较少的情况,本文引入了BHC 热传导预测算法用于预测疾病相关的miRNAs,并把它与基本的热传导算法HC 进行了比较. 经过五折交叉验证得到的ROC 曲线下的面积等指标验证了BHC 热传导算法在预测疾病相关miRNA 应用方面的有效性.
HC 热传导算法的热量传递在二分网络中主要包括两个过程:热量由商品向用户扩散的过程和热量由用户向商品扩散的过程.相关算法描述如下:
对于一个用户和物品构成的二分网络G(U,O,E),其中U={u1, u2,,…. um}O={ o1, o2,,…. on}和E={e1, e2,,…. eq}分别代表m 个用户节点、n 个物品节点和q 条连边.该网络可用一个邻接矩阵A ={ali}表示,其中若用户ul和物品oi存在连边则ali=1, 反之ali=0.假定物品上的某种初始热量表示为,每个物品将传导热量给所有和它邻接的用户,每个用户又会从重新传导它接收的热量给相连的物品,经过两步热量传递后物品上最后获得的热量可表示为:
给出了转移矩阵的描述后,热传导算法中用户ul对各个物品的最终热量传导可描述为:
基于HC 改进的BHC 热传导算法,其基本思想和HC 相同,只不过转移矩阵物品度参数上加入λ 次方作为调节因子,λ 取值范围为0 到1,本文中λ 取值0.5.BHC 的转移矩阵如下:
BHC 算法和HC 算法相比较,它们基本原理相似,只不过BHC 通过可调因子调节大度节点的影响力,从而改善算法对冷门物品的推荐能力.
采用文献[15]中的数据集进行热传导算法在致病miRNA 预测的应用分析. 该数据集以MeSH 数据库中获得的标准疾病关系为基础,从HMDD v2.0 数据库和相关文献研究成果中整理获得了495 个miRNA 和375 种疾病构成的miRNA -disease 关系对,再经过整理去掉名称不规范的疾病,最后获得了495 个miRNA 和330 种疾病构成的miRNA - disease 关系对.本文就以此数据集为基础构建了miRNA 节点和disease 节点构成的二分网络对热传导算法进行应用分析.
本文采用五折交叉验证方法来评价预测模型的性能,并对基本的热传导算法HC 和改进的热传导算法BHC 的精确率、正确率、F1 值和ROC(Receiver Operating Characteristic)曲线下面积AUC(Area Under Curve)做比较.
交叉验证是把数据集分割成包含训练集和测试集的较小较小子集的统计学方法.其基本思想是用训练集对相关模型进行训练,用测试集验证模型的可靠性和稳定性.常用的交叉验证方法有k -折交叉验证和留一验证交叉验证等方法. 若用FP(False Positive)表示预测为正例的负例,用FN((False Negative)表示预测为负的正例,用TN(True Negative)表示预测为负的负例,用TP(True Positive)表示预测为正的正例,则可获得关于下面几个指标的计算公式.
精确率(Precision)是评价预测为正例的样本中真正的正例的指标.
正确率(Accuracy)是评价正确预测的正负例数和样本总数关系的指标.
召回率(Recall)是评价在实际正样本中能预测出多少正例的指标.
F1值是表示精确率和召回率的一个调和均值指标.
经过五折交叉验证试验比较得到的HC 算法和BHC 算法的具体指标如表1 所示, 得到的ROC 曲线如图1 所示.
图1 ROC 曲线图Fig. 1 Receiver operating characteristic curve
表1 HC 和BHC 算法指标比较表Table 1 The comparison results between HC and BHC in the indicators
从表1 数据可以看出,BHC 算法获得的曲线下面积AUC 值为0.8868,而HC 算法的AUC 值仅为0.8018.ROC 曲线具有在测试集中正负样本分布变换时保持ROC 曲线不变的特性,从图1 中可以看出BHC算法的ROC 曲线优于HC 算法的ROC 曲线. 从表1中可以看出BHC 算法获得的精确率、正确率和F1 值指标也明显优于HC 算法.
虽然基于二分网络的热传导算法HC 和偏热传导算法BHC 在推荐系统中已经有应用研究,但在预测疾病相关的miRNA 方面应用研究较少,本文在预测疾病相关的miRNA 中引入了HC 和BHC 算法并进行了比较分析,实验结果显示,BHC 算法在本文数据集下取得的多项评价指标的值高于HC 算法,即BHC算法性能优于HC 算法.鉴于BHC 算法和HC 算法在本文中仅使用了miRNA 和疾病构成的二分网络下的关联关系进行研究,因此在二分网络的基础上增加融入二分网络的生物学相关属性数据来进一步改进热传导算法的性能是未来的研究方向.