基于疾病加权和食品类别约束的食品-疾病关联预测方法转让专利

申请号 : CN201811180791.5

文献号 : CN109300549B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王嫄张耀功陈赠光王靖寰杨巨成赵青陈亚瑞孔娜王洁

申请人 : 天津科技大学

摘要 :

本发明涉及一种基于疾病加权和食品类别约束的食品‑疾病关联预测方法,包括以下步骤:利用国际疾病分类数据构建疾病加权关系;利用成分表构建食品相似度网络;利用食品分类系统构造食品组关系;构造已知的二元食品‑疾病关联网络;随机初始化食品和疾病在潜在空间的表示;引入疾病加权关系和食品组关系,学习食品和疾病潜在空间的表示;利用食品和疾病潜在空间的表示,输出预测食品和疾病的关联结果。本发明设计合理,克服了食品疾病关联数据的稀疏问题,提升食品和疾病关联预测模型的准确性,同时,使模型计算时间复杂度与食品组中食品数目成线性关系,降低了计算复杂度,减少了计算资源的消耗。

权利要求 :

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之间可能的关系值。

说明书 :

基于疾病加权和食品类别约束的食品-疾病关联预测方法

技术领域

[0001] 本发明属于食品安全技术领域,尤其是一种基于疾病加权和食品类别约束的食品-疾病关联预测方法。

背景技术

[0002] 随着居民消费能力的提升和健康意识的增强,人们不再满足于基础物质生活需求,而对生命质量、健康生活的要求越来越高。其中,最典型的是对健康饮食指南的需求越来越强烈。已有研究证实,膳食与疾病的发生、发展有着密切的关系,这种关联通常是惊人的,影响深远的,例如,以动物性食物为主的膳食会导致慢性疾病的发生(如肥胖、冠心病、肿瘤、骨质疏松等);以植物性食物为主的膳食最有利于健康,也最能有效地预防和控制慢性疾病。
[0003] 为了研究上述关系,通常通过局部人口学采样、调查问卷、口述内容或者活体实验得到相关数据,再进行统计分析。但这种关联获取方式需要消耗极大的人力物力,尤其置信度高的活体实验,存在极大的风险,难以满足人民细致的食品-疾病关联的知情需求。典型的风险主要在于调查问卷被调查对象错误信息的填写,调查问卷中指标的有偏统计,被调查者多方面因素综合作用,并非单一食品变量因素。活体实验中实验者的操作也是风险来源之一。同时,随着食品种类的快速增长,实验和调查的成本成指数级增长,而由于人力物力限制,事实研究不能及时更新,只能集中在少数疾病和少数食品范畴。进一步地,对于食品和疾病之间的量、食用方法相互作用的细粒度关系,并不明晰,由于变量数巨大,全局统计起来极其困难,而细粒度的用量、食用方法的分析又是具体导致疾病的重要方面。
[0004] 综上所述,食品与疾病的关联是目前热门的关注领域。目前,对于广泛的食品和疾病的关联尚未出现置信度高、有指导意义的预测方法。如何对疾病与食品的关联研究提供研究指南、缩小调查范围、减少随机试验带来的大量人力和资源的消耗是目前迫切需要解决的问题。

发明内容

[0005] 本发明的目的在于克服现有技术的不足,提出一种基于疾病加权和食品类别约束的食品-疾病关联预测方法,其通过食品与疾病相关性的计算机预测方法将疾病的类别层次关系与食品组的作用结合起来,增强食品疾病关联预测的鲁棒性,克服了食品疾病关联数据的稀疏问题。
[0006] 本发明解决其技术问题是采取以下技术方案实现的:
[0007] 一种基于疾病加权和食品类别约束的食品-疾病关联预测方法,包括以下步骤:
[0008] 步骤1、利用国际疾病分类数据构建疾病加权关系;
[0009] 步骤2、利用成分表构建食品相似度网络;
[0010] 步骤3、利用食品分类系统构造食品组关系;
[0011] 步骤4、构造已知的二元食品-疾病关联网络;
[0012] 步骤5、随机初始化食品和疾病在潜在空间的表示;
[0013] 步骤6、引入疾病加权关系和食品组关系,学习食品和疾病潜在空间的表示;
[0014] 步骤7、利用食品和疾病潜在空间的表示,输出预测食品和疾病的关联结果。
[0015] 进一步,所述步骤1的具体实现方法为:
[0016] 首先,利用国际疾病分类数据,构造疾病相关度矩阵S1,如果两种疾病的表述在国际疾病分类中为父子关系,则设置疾病相关度矩阵中的元素Sij=1,否则Sij=0,其中,疾病i为疾病j的父目录,疾病j为疾病i的具体亚类;
[0017] 然后,定义父结点i的深度depth(i,j)和父结点i和子结点j所构成的边所处深度的权重C(depth(i,j)),定义如下:
[0018]
[0019] C(depth(i,j))=1+log(depth(i,j))
[0020] 最后,基于层次结构加权后,疾病的相关度矩阵表示如下:
[0021] (S′1)ij=(S1)ij*C(depth(i,j))。
[0022] 进一步,所述步骤2的具体实现方法为:在食品相似度网络中,每一个节点为“食品-量-食用方法”的组合;在“量-食用方法”不同的情况下,两两节点关系置为0;在“量-使用方法”相同的情况下,根据食品成分表,利用余弦公式,计算两两食品之间的相似度,作为节点关系值,得到食品相似度网络S2
[0023] 进一步,所述步骤3的具体实现方法为:根据国家规定的食品分类系统作为食品的关系并使用具体分类的20类;将同量同食用方法同分类的食品分做一组,即每一个元素为一个“食品名-量-食用方法”的三元组;根据食品性状、成分的比例的不同将食品归纳在不同的食品组中。
[0024] 进一步,所述步骤4的具体实现方法为:将已知的食品-疾病关联用二进制矩阵R(n×m)表示,将“食品名-量-食用方法”作为食品的细化项,利用“食品名-量-食用方法-疾病”进行建模,将已验证关联的四元组设置为1,否则为0,其中矩阵中行为n个“食品名-量-食用方法”,列为m个疾病。
[0025] 进一步,所述步骤5的具体实现方法为:随机初始化食品和疾病在潜在空间的表示Rn×K和VK×m:通过对两个矩阵中的每一个值赋予0-1之间的任意数作为初始化。
[0026] 进一步,所述步骤6的具体实现方法为:
[0027] 将食品-疾病关联矩阵R分解为食品向量U和疾病向量V的乘积,则分解目标函数定义为:
[0028]
[0029] 定义疾病加权后的层次结构关系,将具有邻接父子关系的两个疾病限制在潜在空间保持比较近的距离:
[0030]
[0031] 其中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矩阵的转置;
[0032] 将普通图拉普拉斯算子应用于食品相似度中:
[0033]
[0034] S2为食品相似度网络,(D2)ii=∑j(S2)ij,D2是对角矩阵且对角线上元素是S2的行和,L2=D2-S2;
[0035] 引入食品组关系,将潜在空间中所有食品的几何中心点作为组中心点,并且该组中的所有组成员应该接近于组中心点;在每次迭代中,用已发生的最后一次迭代中使用的U和V来计算每个组的中心点,这些点在当前迭代中用作固定变量;以组为中心的约束表示如下:
[0036]
[0037] 其中 是食品组G中第j个元素, 是食品组G的几何中心;表示一个组G中的成员j和其所在组中心点的欧氏距离;将R0、R1、R2合并到基础
的矩阵分解目标 中,得到目标函数如下:
[0038]
[0039] 其中λ0、λ1和λ2为人为指定的参数,选值范围为:λ0和λ1从集合{0,0.001,0.01,0.1,1,10,100,1000}中选择,λ2从集合{1,10,100,1000}中选择,利用梯度下降的方法,求解得到食品和疾病潜在空间的表示U和V。
[0040] 进一步,所述步骤7的具体实现方法为:通过食品潜在空间的表示U中第i行与疾病潜在空间的表示V中的第j列做点乘,得到“食品-量-食用方法”i与疾病j之间可能的关系值。
[0041] 本发明的优点和积极效果是:
[0042] 1、本发明在矩阵分解框架下,考虑到疾病分类的层次关系和食品类别的组关系,通过应用加权策略和组中心策略,即根据疾病分类层次计算疾病加权关系且利用食品分类信息构建食品组,以此作为疾病与食品关联建模的先验约束,以此克服食品疾病关联数据的稀疏问题,用先验知识辅助增强预测的鲁棒性,提升食品和疾病关联预测模型的准确性。同时,本发明定义组中心概念,使模型计算时间复杂度与食品组中食品数目成线性关系,降低了计算复杂度,减少了计算资源的消耗。
[0043] 2、本发明将疾病的类别层次关系与食品组的作用结合起来,有助于识别新的食品-疾病关联,可以进一步指导健康饮食的研究,同时,本发明的食品和疾病的潜在空间表示还可以广泛地应用于食品、疾病相关的其他研究中。

附图说明

[0044] 图1是本发明的整体处理流程图;
[0045] 图2是本发明的步骤6的算法流程图。

具体实施方式

[0046] 以下结合附图对本发明实施例做进一步详述。
[0047] 本发明的设计思想是:在营养学和食品安全领域,利用机器学习中矩阵分解和语义空间理论和技术,以食品-疾病关联矩阵分解为基本框架,引入疾病分类层次蕴含的加权关系和食品的组信息这两种先验知识信息。本发明不考虑由于致病因子导致的食源性疾病,并基于如下两个假设:(1)分类目录中处于越高级别目录的疾病,它表示的含义越抽象;处于越低级别目录的疾病,它表示的含义越具体。(2)食品根据性状、成分的比例的不同被归纳在不同的组中,食品组揭示其在食品层面的相似相关信息,食用后对人体提供的营养物质和内涵作用是相关的。因此,本发明通过构建损失函数,在具体求解过程中,设计组中心,从而降低模型计算时间复杂度,降低计算资源消耗,克服前期探索得到的食品-疾病关联稀疏的问题。
[0048] 基于上述设计思想,本发明的食品-疾病关联预测方法,如图1所示,包括以下步骤:
[0049] 步骤1、利用国际疾病分类数据构建疾病加权关系。
[0050] 在本步骤中,利用国际疾病分类数据,构造疾病相关度矩阵S1:如果两种疾病的表述在国际疾病分类中为父子关系,以Sij为例,即疾病i为疾病j的父目录,疾病j为疾病i的具体亚类,则设置Sij=1,否则Sij=0。
[0051] 进一步地,考虑到疾病分类的层次树结构,一般的疾病在较高层次上松散相关,而特定疾病在深层上更紧密相关。为了更好地捕捉疾病数据中的这一特征,本发明引入了变量depth(i,j)和辅助函数C(depth(i,j))。depth(i,j)表示父结点i的深度,如果父结点i是根结点,则定义depth(i,j)=1,定义如下:
[0052]
[0053] C(depth(i,j))是父结点i和子结点j所构成的边所处深度的权重。C(depth(i,j))的具体定义如下:
[0054] C(depth(i,j))=1+log(depth(i,j))
[0055] 基于层次结构加权后,疾病的相关度矩阵表示如下:
[0056] (S′1)ij=(S1)ij*C(depth(i,j)).
[0057] 步骤2:利用成分表构建食品相似度网络。
[0058] 在食品相似度网络中,每一个节点为“食品-量-食用方法”的组合。首先,将每个食品表示为成分的向量得到食品向量,成分指的是每100克该食物的可食用部分所能提供的热量、食物、膳食纤维、钙、镁、铁、锰、锌等元素的值,即每一维表示100克该食品所包含某一成分的量。其次,在“量-食用方法”不同的情况下,两两节点关系置为0;在“量-使用方法”相同的情况下,在食品向量上应用余弦公式,计算两两食品之间的相似度,作为节点关系值,得到食品相似度网络S2。此处使用的余弦公式如下:
[0059]
[0060] 其中,a,b分别为两个食物成分向量。
[0061] 步骤3:利用食品分类系统构造食品组关系。
[0062] 在本步骤中,根据国家规定的食品分类系统作为食品的关系,使用具体分类的20类,包含粮食及制品、食用油、肉及其制品、消毒鲜乳、乳制品、水产类、罐头、食糖、冷食、饮料、蒸馏酒或配制酒、发酵酒、调味品、豆制品、糕点、糖果蜜饯、酱腌菜、保健食品(依据《保健食品管理办法》)、新资源食品(依据《新资源食品卫生管理办法》)和其他食品。本发明中,同量同食用方法同分类的食品分做一组,即每一个元素为一个“食品-量-食用方法”的三元组。
[0063] 食品根据性状、成分的比例的不同被归纳在不同的组中,一个食品组揭示其在食品层面的相似相关信息,食用后对人体提供的营养物质和内涵作用是相关的。因此,一个直观推断是,一组中的所有食品在功能上相近,并且可能导致相似或相同的疾病。每次计算一个组中心。
[0064] 在本发明中,不是让一个组里的任何两个食品保持向量相近,因为这样计算复杂度会是一个组中的食品数目的二次方倍。本发明引入组中心概念,将潜在空间中一个组内所有食品的几何中心点作为组中心点,用 表示食品组G中第j个元素的潜在空间向量,表示食品组G的几何中心。则有 表示一个组G中的成员j和其所在组中心点的欧氏距离。
[0065] 步骤4:构造已知的二元食品-疾病关联网络。
[0066] 在本步骤中,已知的食品-疾病关联由二进制矩阵R(n×m)表示,此处,细化食品与疾病的关联,即引入“食品名-量-食用方法”作为食品的细化项,利用“食品名-量-食用方法-疾病”进行建模,对于已验证关联的四元组设置为1,否则为0。矩阵中行为n个“食品名-量-食用方法”,列为m个疾病。此处的验证主要以科研论文数据为主。当新旧论文实验结果有差别时,以发表年代新的、影响因子高的期刊论文为准,来认证“食品-量-食用方法”与“疾病”是否有关。
[0067] 步骤5:随机初始化食品和疾病在潜在空间的表示。
[0068] 本步骤的具体实现方法为:随机初始化食品和疾病在潜在空间的表示Rn×K和VK×m,即通过对两个矩阵中的每一个值赋予0-1之间的任意数作为初始化。
[0069] 步骤6:引入疾病加权关系和食品组关系,学习食品和疾病潜在空间的表示。本步骤的具体实现方法如图2所示。
[0070] 本步骤在矩阵分解的基础上,考虑如下两个外部知识对食品潜在空间表示建模和疾病潜在空间表示建模的约束:(1)分类目录中处于越高级别目录的疾病,它表示的含义越抽象;处于越低级别目录的疾病,它表示的含义越具体。(2)食品根据性状、成分的比例的不同被归纳在不同的组中,食品组揭示其在食品层面的相似相关信息,食用后对人体提供的营养物质和内涵作用是相关的。下面首先说明基本的矩阵分解建模,再逐步引入加权关系约束和食品组约束。
[0071] 根据矩阵分解方法,本发明将食品-疾病关联矩阵R分解为食品向量U和疾病向量V的乘积,则分解目标函数定义为:
[0072]
[0073] 引入疾病加权后的层次结构关系,本发明将具有邻接父子关系的两个疾病,限制其在潜在空间保持比较近的距离。
[0074]
[0075] 其中tr(·)表示括号中·所对应的矩阵的迹,即矩阵·的主对角线(从左上方至右下方的对角线)上各个元素的总和。S′1是疾病的对称关系矩阵。本发明定义对角矩阵即对角条目上的值是S′1的行和。本发明定义L1=D'1-S′1,即图拉普拉斯算子。||A||2是A矩阵的L2正则化值,即A矩阵中所有不为0的元素的平方和。V.i,V.j为V矩阵中第i、第j列的列向量。AT是指A矩阵的转置,即将矩阵A中元素的角标前后交换,其他右角标为T的同理。
[0076] 由于食品之间没有层次结构,本发明将普通图拉普拉斯算子应用于食品相似度中:
[0077]
[0078]
[0079] 其中S2定义见步骤2。(D2)ii=∑j(S2)ij,即D2是对角矩阵且对角线上元素是S2的行和,L2=D2-S2。
[0080] 引入食品组关系,本发明将潜在空间中所有食品的几何中心点作为组中心点,并且该组中的所有组成员应该接近于组中心点。在每次迭代中,本发明用已发生的最后一次迭代中使用的U和V来计算每个组的中心点,这些点在当前迭代中用作固定变量。以组为中心的约束可以表示如下:
[0081]
[0082] 其中 是食品组G中第j个元素, 是食品组G的几何中心,具体定义见步骤3。表示组G中的成员j和其所在组中心点的欧氏距离。将R0,R1,R2合并到基础的矩
阵分解目标 中,得到完整目标函数如下:
[0083]
[0084] 其中||A||2是A矩阵的L2正则化值,即A矩阵中所有不为0的元素的平方和。λ0和λ1平衡组约束和加权关系的影响,λ2控制模型复杂性以避免过度拟合。λ0和λ1从{0,0.001,0.01,0.1,1,10,100,1000}中选择,λ2从集合{1,10,100,1000}中选择,通过网格搜索,即遍历所有的λ0,λ1和λ2组合以找到模型的最佳参数。根据梯度下降和拉格朗日方法,得到如下关于Uik和Vkj的迭乘更新公式:
[0085]
[0086] 其中,Ψ=(Yi·⊙(Ui·V))(VT)·k,
[0087]
[0088] 其中, A⊙B表示A和B矩阵对应位置相乘。
[0089] 根据O1求解U和V的方法如下:
[0090] (1)O′1←O1;
[0091] (2)计算每一个组中心:
[0092] (3)利用关于Uik和Vkj的迭乘更新公式分别更新U和V;
[0093] (4)根据公式O1计算新的目标函数O1;
[0094] (5)如果|O′1-O1|<ε,则停止循环,输出U和V;否则,将ite←ite+1,当ite≥Max_ites时,停止循环,输出U和V;否则重复(1)-(4)。
[0095] 步骤7:利用食品和疾病潜在空间的表示,输出预测食品和疾病的关联结果。
[0096] 通过食品潜在空间的表示U中第i行与疾病潜在空间的表示V中的第j列做点乘,得到“食品-量-食用方法”i与疾病j之间可能的关系值。
[0097] 需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。