1.一种基于疾病加权和食品类别约束的食品-疾病关联预测方法,其特征在于包括以下步骤:步骤1、利用国际疾病分类数据构建疾病加权关系;
步骤2、利用成分表构建食品相似度网络;
步骤3、利用食品分类系统构造食品组关系;
步骤4、构造已知的二元食品-疾病关联网络;
步骤5、随机初始化食品和疾病在潜在空间的表示;
步骤6、引入疾病加权关系和食品组关系,学习食品和疾病潜在空间的表示;
步骤7、利用食品和疾病潜在空间的表示,输出预测食品和疾病的关联结果,从而增强食品疾病关联预测的准确性;
所述步骤6的具体实现方法为:
将食品-疾病关联矩阵R分解为食品向量U和疾病向量V的乘积,则分解目标函数定义为:定义疾病加权后的层次结构关系,将具有邻接父子关系的两个疾病限制在潜在空间保持比较近的距离:其中tr(·)表示括号中·所对应的矩阵的迹,S′1是疾病的对称关系矩阵;对角矩阵(D′1)ii=∑j(S′1)ij,图拉普拉斯算子L1=D'1-S′1,||A||2是A矩阵的L2正则化值;V.i、V.j为V矩阵中第i、第j列的列向量;AT是指A矩阵的转置;
将普通图拉普拉斯算子应用于食品相似度中:
S2为食品相似度网络,(D2)ii=∑j(S2)ij,D2是对角矩阵且对角线上元素是S2的行和,L2=D2-S2;
引入食品组关系,将潜在空间中所有食品的几何中心点作为组中心点,并且该组中的所有组成员应该接近于组中心点;在每次迭代中,用已发生的最后一次迭代中使用的U和V来计算每个组的中心点,这些点在当前迭代中用作固定变量;以组为中心的约束表示如下:其中 是食品组G中第j个元素, 是食品组G的几何中心; 表
示一个组G中的成员j和其所在组中心点的欧氏距离;将R0、R1、R2合并到基础的矩阵分解目标 中,得到目标函数如下:s.t.U≥0,V≥0
其中λ0、λ1和λ2为人为指定的参数,选值范围为:λ0和λ1从集合{0,0.001,0.01,0.1,1,
10,100,1000}中选择,λ2从集合{1,10,100,1000}中选择,利用梯度下降的方法,求解得到食品和疾病潜在空间的表示U和V。
2.根据权利要求1所述的基于疾病加权和食品类别约束的食品-疾病关联预测方法,其特征在于:所述步骤1的具体实现方法为:首先,利用国际疾病分类数据,构造疾病相关度矩阵S1,如果两种疾病的表述在国际疾病分类中为父子关系,则设置疾病相关度矩阵中的元素Sij=1,否则Sij=0,其中,疾病i为疾病j的父目录,疾病j为疾病i的具体亚类;
然后,定义父结点i的深度depth(i,j)、父结点i和子结点j所构成的边所处深度的权重C(depth(i,j)),定义如下:C(depth(i,j))=1+log(depth(i,j))
最后,基于层次结构加权后,疾病的相关度矩阵表示如下:
(S′1)ij=(S1)ij*C(depth(i,j))。
3.根据权利要求1所述的基于疾病加权和食品类别约束的食品-疾病关联预测方法,其特征在于:所述步骤2的具体实现方法为:在食品相似度网络中,每一个节点为“食品-量-食用方法”的组合;在“量-食用方法”不同的情况下,两两节点关系置为0;在“量-使用方法”相同的情况下,根据食品成分表,利用余弦公式,计算两两食品之间的相似度,作为节点关系值,得到食品相似度网络S2。
4.根据权利要求1所述的基于疾病加权和食品类别约束的食品-疾病关联预测方法,其特征在于:所述步骤3的具体实现方法为:根据国家规定的食品分类系统构造食品的关系并使用具体分类的20类;将同量同食用方法同分类的食品分做一组,即每一个元素为一个“食品名-量-食用方法”的三元组;根据食品性状、成分的比例的不同将食品归纳在不同的食品组中。
5.根据权利要求1所述的基于疾病加权和食品类别约束的食品-疾病关联预测方法,其特征在于:所述步骤4的具体实现方法为:将已知的食品-疾病关联用二进制矩阵R(n×m)表示,将“食品名-量-食用方法”作为食品的细化项,利用“食品名-量-食用方法-疾病”进行建模,将已验证关联的四元组设置为1,否则为0,其中矩阵中行为n个“食品名-量-食用方法”,列为m个疾病。
6.根据权利要求1所述的基于疾病加权和食品类别约束的食品-疾病关联预测方法,其特征在于:所述步骤5的具体实现方法为:随机初始化食品和疾病在潜在空间的表示Rn×K和VK×m:通过对两个矩阵中的每一个值赋予0-1之间的任意数作为初始化。
7.根据权利要求1所述的基于疾病加权和食品类别约束的食品-疾病关联预测方法,其特征在于:所述步骤7的具体实现方法为:通过食品潜在空间的表示U中第i行与疾病潜在空间的表示V中的第j列做点乘,得到“食品-量-食用方法”i与疾病j之间可能的关系值。