雷雪梅, 謝依彤
(北京科技大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,北京 100083)
近年來快節(jié)奏的生活方式引發(fā)的亞健康人群數(shù)激增現(xiàn)象,引起人們對(duì)養(yǎng)生學(xué)的重視,飲食營養(yǎng)成為突破口,現(xiàn)存的西醫(yī)營養(yǎng)學(xué)過分注重化學(xué)成分(如卡路里、碳水化合物等)對(duì)人體的影響,割裂了人體統(tǒng)一和諧的身體系統(tǒng)[1],而中醫(yī)營養(yǎng)學(xué)從人體整體把握飲食對(duì)人的影響,已成為主流. 中醫(yī)營養(yǎng)學(xué)起源于中醫(yī)藥學(xué)“藥食同源”,人工流傳記載為主,其中大量營養(yǎng)屬性值存在元素多元化、數(shù)據(jù)缺失、數(shù)據(jù)值模糊的問題,規(guī)則提取后的知識(shí)冗余度高且存在沖突項(xiàng).
應(yīng)用粗糙集理論進(jìn)行規(guī)則提取可以從已知的各種不完備的數(shù)據(jù)信息中快速獲取知識(shí)和規(guī)律,包括屬性約簡(jiǎn)和值約簡(jiǎn)兩個(gè)步驟. 對(duì)這個(gè)問題的探索已經(jīng)存在一些方法,文獻(xiàn)[2]提出了基于加權(quán)變精度容差粗糙集模型; 文獻(xiàn)[3]提出了一種基于粗糙集理論的值約簡(jiǎn)算法; 文獻(xiàn)[4]提出了改進(jìn)不可區(qū)分關(guān)系的值約簡(jiǎn)算法; 文獻(xiàn)[5]提出一種基于差異關(guān)系的變精度粗糙集知識(shí)約簡(jiǎn)算法; 文獻(xiàn)[6]等提出了基于廣義優(yōu)勢(shì)決策函數(shù)的決策規(guī)則獲取方法; 文獻(xiàn)[7]改進(jìn)了鄰域粗糙集模型,并將其應(yīng)用到故障診斷規(guī)則提取中. 然而在分析現(xiàn)有規(guī)則提取的算法及數(shù)據(jù)特點(diǎn)時(shí)發(fā)現(xiàn),算法注重對(duì)決策屬性之間的關(guān)系提取,對(duì)得到矛盾規(guī)則不具備良好的處理力能.
因此,引入具有噪聲容忍機(jī)制的決策粗糙集模型,使用α-正域約簡(jiǎn)啟發(fā)式算法約簡(jiǎn)屬性,克服無關(guān)屬性對(duì)決策值的干擾. 在決策表值約簡(jiǎn)過程中,引入可覆蓋關(guān)系和活躍值等概念,構(gòu)建待定矩陣和覆蓋矩陣,提出概率覆蓋模型,處理矛盾的知識(shí)規(guī)則,得到普適性較高的規(guī)則.
決策粗糙集[8]引入了Bayes風(fēng)險(xiǎn)決策理論,使其在不確定性知識(shí)獲取和數(shù)據(jù)處理中具有更加可靠的理M論依據(jù)和語義解釋[9],是對(duì)經(jīng)典Pawlak粗糙集理論模型缺乏容錯(cuò)能力的概率拓展.
由此,定義決策粗糙集的下、上近似分別為:
稱屬性子集B為屬性全集C的一個(gè)決策粗糙集α-正域約簡(jiǎn)[10].
本節(jié)將建立基于決策粗糙集的概率覆蓋模型,解決中醫(yī)學(xué)數(shù)據(jù)噪聲產(chǎn)生的規(guī)則矛盾現(xiàn)象.
原決策表中過多的不重要屬性會(huì)影響規(guī)則提取的有效性,因此,本文采用決策粗糙集α正域約簡(jiǎn)算法[11]對(duì)屬性進(jìn)行約簡(jiǎn). 基于決策粗糙集的屬性約簡(jiǎn)引入了決策損失函數(shù)確定閾值參數(shù),改進(jìn)粗糙集零錯(cuò)誤容忍率的局限性. 調(diào)整α的取值對(duì)屬性重要度排序,由專家確定最優(yōu)屬性組合模型,進(jìn)而確定α取值.
從決策表中得到的規(guī)則不一定是完全正確的,原因有二:一是上百年的中醫(yī)傳承記載,樣本數(shù)據(jù)本身可能含有矛盾信息,即條件相同但決策不同; 二是營養(yǎng)數(shù)據(jù)離散化過程中,由于菜譜中醫(yī)屬性值是計(jì)算求和所得,忽略各原料之間相互作用,因此屬性程度概念模糊,分類劃分可能導(dǎo)致誤差. 從而歸納得到的知識(shí)矛盾性大,準(zhǔn)確率低,魯棒性弱,因此,在決策表值約簡(jiǎn)過程中,引入可覆蓋關(guān)系和活躍值概念,構(gòu)建覆蓋矩陣.
對(duì)表中的一條菜譜記錄xi,去掉其中的一個(gè)屬性值缺省集合可以決定決策屬性,說明不重要,兩條菜譜有相似性,可以融合,稱xi、xj為可覆蓋關(guān)系如果缺省集合不能決定決策屬性,稱xi和xj為不可覆蓋關(guān)系
其中,“*”為xi,xj為覆蓋關(guān)系時(shí)的值,“?”為待定矩陣中待評(píng)價(jià)的值,定義矩陣元素標(biāo) “?”為活躍值是原決策表S的值.
錯(cuò)誤覆蓋率:
約簡(jiǎn)力度:
支持度:
置信度:
為了獲得有用的規(guī)則,需要保留重要的屬性值,刪減非重要的屬性值,直至形成規(guī)則,值約簡(jiǎn)流程圖如圖1所示.
圖1 值約簡(jiǎn)流程圖
對(duì)一度覆蓋矩陣去重處理,并記錄每條模糊規(guī)則的覆蓋范圍ω,構(gòu)成二度覆蓋矩陣.
二度覆蓋矩陣中存在矛盾項(xiàng)(即條件屬性相同但決策屬性不同),定義錯(cuò)誤覆蓋率描述矛盾的兩條規(guī)則的覆蓋范圍的差異程度,認(rèn)為低于所設(shè)θ的兩條矛盾規(guī)則的較小項(xiàng)為誤差,進(jìn)行舍棄. 錯(cuò)誤覆蓋率的設(shè)置:選取在決策規(guī)則的覆蓋范圍較高且約簡(jiǎn)力度較大時(shí)的取值,即可以得到覆蓋樣本最多且矛盾項(xiàng)最少的規(guī)則,實(shí)現(xiàn)提取規(guī)則質(zhì)量最優(yōu),得到三度覆蓋矩陣.
得到三度覆蓋矩陣后,仍存在錯(cuò)誤覆蓋率區(qū)分不開的少數(shù)沖突規(guī)則,使用支持度、置信度進(jìn)行規(guī)則約簡(jiǎn),置信度表示此條件屬性的樣例中滿足此決策條件的比率,支持度表示滿足此規(guī)則的樣例數(shù)占全部樣本數(shù)的百分比,比較沖突規(guī)則的支持度、置信度,刪減可信度較低的規(guī)則,消除噪聲樣例造成的影響.
概率覆蓋模型融合了決策粗糙集屬性約簡(jiǎn)和值約簡(jiǎn)算法,概率是指α正域約簡(jiǎn)中的α,覆蓋是指控制值約簡(jiǎn)中誤差范圍的錯(cuò)誤覆蓋率θ,對(duì)原始矩陣不斷進(jìn)行精簡(jiǎn)覆蓋.
中醫(yī)營養(yǎng)學(xué)目前還沒有專門的算法分析,而中醫(yī)醫(yī)藥學(xué)有很多研究方法[12]:專家系統(tǒng)、關(guān)聯(lián)規(guī)則、神經(jīng)網(wǎng)絡(luò)、遺傳算法、粗糙集、決策樹,如文獻(xiàn)[13]等將關(guān)聯(lián)規(guī)則應(yīng)用于中醫(yī)肝病處方用藥分析,文獻(xiàn)[2]提出基于加權(quán)變精度容差粗糙集模型對(duì)中醫(yī)處方的研究.西醫(yī)營養(yǎng)學(xué)現(xiàn)存一些探究方法,文獻(xiàn)[11,14,15]提出了Apriori算法、BP神經(jīng)網(wǎng)絡(luò)對(duì)營養(yǎng)元素的數(shù)據(jù)挖掘.
將本文的算法和模型應(yīng)用到中醫(yī)營養(yǎng)學(xué)菜譜分析,以食物“四氣五味”為切入口,應(yīng)用概率覆蓋模型,挖掘出對(duì)養(yǎng)腸胃好的決策規(guī)則,從中醫(yī)營養(yǎng)學(xué)的角度對(duì)養(yǎng)腸胃的人群提供指導(dǎo)性建議. 具體應(yīng)用流程設(shè)計(jì)如圖2所示.
食物性能與藥物性能一致,包括性味歸經(jīng)、升浮沉降、補(bǔ)瀉等[16],而中醫(yī)營養(yǎng)學(xué)的研究側(cè)重食物“四氣”對(duì)人體的調(diào)和作用,所謂“四氣”,即寒、熱、溫、涼四種性質(zhì),另有不寒不熱、不溫不涼的飲食,屬于平性. 食物的溫?zé)岷疀銎綄傩杂涊d來源于《本草圖經(jīng)》、《植物名實(shí)圖考》、《中國藥植志》、《本草綱目》、《古今醫(yī)鑒》等經(jīng)典古書籍對(duì)食物類別的區(qū)分記載,整理如表1所示,另收集《錢家鳴教你養(yǎng)腸胃就該這樣吃》[17]中菜譜食材及其重量,對(duì)一條菜譜有原料其原料對(duì)應(yīng)的重量mi,所選每一種主要材料的含量均大于10 g,即以10 g為最小計(jì)量單位,根據(jù)公式:計(jì)算菜譜的溫?zé)岷疀銎轿鍌€(gè)屬性值,如表2部分所示. 對(duì)于預(yù)防一種類型的疾病來說,這幾種屬性具有某種程度的緊密聯(lián)系的特性,在數(shù)據(jù)分析上具有可挖掘的意義.
圖2 養(yǎng)腸胃菜譜中醫(yī)營養(yǎng)分析流程圖
表1 部分原料屬性表
表2 部分原始菜譜信息表
本文研究目的是識(shí)別四氣五味的菜譜對(duì)腸胃疾病的功能作用,把屬性值極其相似的歸并成一類,在一定程度上保留離散類的分布特征,探究其屬性等級(jí)對(duì)腸胃疾病的影響力,因此使用K-means聚類算法[18]對(duì)決策信息表進(jìn)行數(shù)據(jù)離散化,K-means聚類含義表如表3.
表3 聚類含義表
經(jīng)過K-means離散化處理后的菜譜決策表如表4所示,x1,x2,···,xn表示每條菜譜標(biāo)號(hào),本文選取菜譜原料的寒、熱、溫、涼、平五種中醫(yī)屬性為研究對(duì)象,稱為條件屬性集合C={a,b,c,d,e},菜譜是否具有養(yǎng)腸胃功能作為決策屬性D={1,0}.
表4 菜譜決策表
α=1根據(jù)定義2,其中正域?yàn)橐砸欢ǖ母怕?大于閾值)正確分類的屬性對(duì)象集,本節(jié)探求在何值時(shí),屬性對(duì)決策的分類正確率最好.α取值[0,1](取值間隔為0.1),時(shí),為經(jīng)典粗糙集模型,以公式(1)計(jì)算每個(gè)屬性的α-正域集合,并由公式(3)計(jì)算當(dāng)前閾值下5個(gè)屬性的重要度排序趨勢(shì)如圖3所示.
圖3 α閾值分布圖
隨著α的減小,各屬性重要度增加直至頂峰,雖然分類精度允許一定程度的誤差,可以提高含誤差的屬性對(duì)決策的正確率,但不能一味降低α值,否則,會(huì)使得各個(gè)屬性都重要度全部提高,失去屬性約簡(jiǎn)的意義,因此α為0.1~0.6時(shí)失去分類意義. 當(dāng)設(shè)置α取值接近1時(shí),分類精度幾乎不允許誤差,導(dǎo)致經(jīng)典粗糙集出現(xiàn)的缺乏容錯(cuò)能力缺陷,從而舍棄α為0.9、1的取值.
經(jīng)專家經(jīng)驗(yàn):e屬性代表菜譜的平性特征,不論何種菜譜都具備廣泛的平值屬性,因此平性不具備評(píng)價(jià)菜譜特性的標(biāo)準(zhǔn),選用平性重要度最小時(shí)的α作為概率覆蓋模型的概率取值,因此最優(yōu)的溫?zé)岷疀鲒厔?shì)為α=0.8,得重要度排序如表5所示.
表5 屬性重要度
分析屬性值在決策表中出現(xiàn)的規(guī)律,尋找對(duì)決策屬性影響力最大的屬性值,約簡(jiǎn)冗余屬性值,舍棄沖突規(guī)則. 由公式(8)可知錯(cuò)誤覆蓋率描述一對(duì)沖突矛盾規(guī)則覆蓋范圍的差距性,如果一條規(guī)則的覆蓋范圍達(dá)不到另一條矛盾規(guī)則的半數(shù)以上,差距過小,不能判定其中的矛盾為誤差所致,因此設(shè)置錯(cuò)誤覆蓋率的取值范圍為[0.5,1],取值間隔為0.1,控制錯(cuò)誤覆蓋率θ,描繪約簡(jiǎn)力度與錯(cuò)誤覆蓋率的關(guān)系,如圖4所示.
圖4 約簡(jiǎn)力度與錯(cuò)誤覆蓋率的關(guān)系
為了提取高質(zhì)量的知識(shí)規(guī)則,由圖4所示設(shè)置概率覆蓋模型的錯(cuò)誤覆蓋率為0.5,此時(shí)所得模型具備最優(yōu)性能.
由3.3.1節(jié)可確定0.8-正域約簡(jiǎn)集合R={a,b,c,d},精簡(jiǎn)后的菜譜決策表如表6所示.
表6 精簡(jiǎn)后的菜譜決策表
使用屬性約簡(jiǎn)后的決策表進(jìn)行值約簡(jiǎn),代入概率覆蓋模型得二度覆蓋矩陣有20條規(guī)則,如表7所示,其中含有7對(duì)矛盾規(guī)則:3和11、4和13、5和12、8和16、10和19、14和17、15和18,矛盾規(guī)則占比35%,矛盾規(guī)則覆蓋樣例33%,矛盾規(guī)則現(xiàn)象較為突出,如果完全舍棄矛盾項(xiàng),則所得規(guī)則少,甚至有可能造成知識(shí)斷層,因此在分析菜譜營養(yǎng)成分?jǐn)?shù)據(jù)時(shí),需要對(duì)矛盾規(guī)則進(jìn)行評(píng)估和精簡(jiǎn).
設(shè)置膳食屬性錯(cuò)誤覆蓋率閾值為0.5,按照決策表值約簡(jiǎn)的算法步驟,低于錯(cuò)誤覆蓋率閾值的矛盾規(guī)則中的較小項(xiàng)判定為誤差,經(jīng)公式(8)計(jì)算,刪減其中5對(duì)錯(cuò)誤覆蓋率率低于0.5的較小矛盾規(guī)則:10、11、12、15、16,約簡(jiǎn)后得15條規(guī)則的三度覆蓋矩陣,如表8所示.
表7 二度覆蓋矩陣決策表
表8 三度覆蓋矩陣決策表
三度覆蓋矩陣決策表是相對(duì)比較精準(zhǔn)的決策表,由表8中分析可知,仍存在兩對(duì)錯(cuò)誤覆蓋率難以取舍的矛盾規(guī)則4和13、14和17,比較規(guī)則4和13支持度和置信度,0.0125>0.0063,0.0183<0.0196,規(guī)則4的支持度遠(yuǎn)高于規(guī)則13,二者的置信度相差不大,因此舍棄規(guī)則13. 規(guī)則14的置信度和支持度均大于規(guī)則17,刪減規(guī)則17.
經(jīng)過概率覆蓋模型及評(píng)價(jià)指標(biāo)分析后,終得到13條決策規(guī)則. 規(guī)則1、2、3、8、9相對(duì)其他規(guī)則而言具有較高的支持度,在樣本數(shù)據(jù)中也具有較高的覆蓋范圍,具有較高的可信性. 規(guī)則1、2、3,7、18、19、20顯示寒涼性低、溫性高且微熱的菜譜有利于養(yǎng)腸胃,可以暖胃健脾,促進(jìn)血液循環(huán),益氣補(bǔ)血,安神抗寒,如羊肉蘿卜粥、生姜羊肉粥、土豆燉牛肉等,都屬于溫補(bǔ)的膳食[19]. 由規(guī)則4、8、14所得,寒性高的食物會(huì)刺激腸胃,胃腸膜黏硬,造成腸胃負(fù)擔(dān),不利于腸胃吸收. 規(guī)則9顯示過熱的食物損害腸胃,回歸菜譜樣例分析,豆沙炸糕、炸大扁丸子等菜譜不利于腸胃消化吸收. 所得規(guī)則揭示了中醫(yī)寒熱調(diào)和的原理,所以,養(yǎng)腸胃人群要遠(yuǎn)離大寒過熱的食物,食用菜譜時(shí)也要選擇少寒多溫稍熱的菜譜進(jìn)行調(diào)節(jié)[20].
對(duì)得到規(guī)則質(zhì)量的評(píng)價(jià)指標(biāo)有:矛盾規(guī)則對(duì)數(shù),提取規(guī)則條目,非矛盾規(guī)則的覆蓋率. 對(duì)比本文提出的概率覆蓋模型、傳統(tǒng)的基于粗糙集的值約簡(jiǎn)算法和文獻(xiàn)[2]針對(duì)中醫(yī)方劑提出的基于加權(quán)變精度容差粗糙集模型.本文構(gòu)建的概率覆蓋模型提取得到較為精簡(jiǎn)的規(guī)則數(shù),規(guī)則中具備較少的矛盾沖突,非矛盾規(guī)則的覆蓋率較高,如圖5所示.
圖5 實(shí)驗(yàn)對(duì)比圖
另抽取50條除標(biāo)簽菜譜樣例為測(cè)試數(shù)據(jù),以文中相同的處理方法進(jìn)行數(shù)據(jù)處理,應(yīng)用本文所得概率覆蓋模型,給菜譜樣例標(biāo)記決策屬性,對(duì)比原標(biāo)簽,有41條標(biāo)記正確,正確率達(dá)82%,可以給養(yǎng)腸胃人群飲食給予指導(dǎo).
本文基于決策粗糙集α-正域約簡(jiǎn)算法,利用中醫(yī)經(jīng)驗(yàn)確定屬性重要度的α概率,構(gòu)建待定矩陣,一度、二度、三度覆蓋矩陣提取決策規(guī)則,引入錯(cuò)誤覆蓋率對(duì)值約簡(jiǎn)規(guī)則提取進(jìn)行了改進(jìn),所得規(guī)則與中醫(yī)醫(yī)學(xué)知識(shí)相吻合. 實(shí)驗(yàn)結(jié)果表明,該模型提取的矛盾規(guī)則數(shù)量相對(duì)較少,得出的中醫(yī)營養(yǎng)規(guī)則具有可信度,對(duì)菜譜是否養(yǎng)腸胃具有辨識(shí)度,可用于中醫(yī)營養(yǎng)學(xué)飲食指導(dǎo).本文模型還可以應(yīng)用到政府信訪系統(tǒng)、師生教學(xué)評(píng)價(jià)、植物生長監(jiān)測(cè)等領(lǐng)域,根據(jù)不同應(yīng)用背景控制模型參數(shù),研究矛盾規(guī)則的取舍問題.
1 申杰,楊聯(lián)河,唐華偉. 對(duì)中西醫(yī)結(jié)合營養(yǎng)學(xué)的思忖. 第七屆全國中西醫(yī)結(jié)合營養(yǎng)學(xué)術(shù)會(huì)議論文資料匯編. 北京,中國. 2016. 24-26.
2 佘侃侃,胡孔法,王珍. 基于加權(quán)變精度容差粗糙集模型的屬性約簡(jiǎn)及應(yīng)用研究. 計(jì)算機(jī)科學(xué),2014,41(S2):351-353.
3 常犁云,王國胤,吳渝. 一種基于Rough Set理論的屬性約簡(jiǎn)及規(guī)則提取方法. 軟件學(xué)報(bào),1999,10(11):1206-1211.
4 楊振峰,郭景峰,常峰. 一種基于粗集的值約簡(jiǎn)方法. 計(jì)算機(jī)工程,2003,29(9):96-97.
5 焦娜. 基于差異關(guān)系的變精度粗糙集知識(shí)約簡(jiǎn)算法研究.計(jì) 算 機(jī) 科 學(xué),2015,42(5):265-269. [doi:10.11896/j.issn.1002-137X.2015.05.053]
6 韋碧鵬,呂躍進(jìn),李金海,等. 不完備不協(xié)調(diào)序決策系統(tǒng)的屬性約簡(jiǎn)與規(guī)則提取. 計(jì)算機(jī)科學(xué),2013,40(S2):160-164.
7 索明亮. 基于粗糙集的故障預(yù)測(cè)及診斷技術(shù)在衛(wèi)星中的應(yīng)用[碩士學(xué)位論文]. 哈爾濱:哈爾濱工業(yè)大學(xué),2013.
8 Yao YY,Wong SKM,Lingras P. A decision-theoretic rough set model. Proceedings of the 5th International Symposium on Methodologies for Intelligent Systems. North-Holland,NY,USA. 1990. 17-24.
9 李華雄,周獻(xiàn)中,李天瑞,等. 決策粗糙集理論及其研究進(jìn)展. 北京:科學(xué)出版社,2011:1-91.
10 Yao YY. Decision-theoretic rough set models. International Conference on Rough Sets and Knowledge Technology.Toronto,Canada. 2007. 1-12.
11 劉盾,姚一豫,李天瑞. 三枝決策粗糙集. 計(jì)算機(jī)科學(xué),2011,38(1):246-250.
12 張璐,雷雪梅. 基于粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的養(yǎng)腸胃菜譜判定. 計(jì)算機(jī)科學(xué),2016,43(S2):63-66,72.
13 羅悅,溫川飆,嚴(yán)小英. 基于專家系統(tǒng)的中醫(yī)辨證論治信息表示方法研究. 中國數(shù)字醫(yī)學(xué),2016,11(7):37-40.
14 寇文心. 智能營養(yǎng)配餐系統(tǒng)及其核心算法的研究[碩士學(xué)位論文]. 北京:北京工業(yè)大學(xué),2015.
15 張?jiān)贫? 數(shù)據(jù)挖掘技術(shù)在營養(yǎng)配餐系統(tǒng)中的應(yīng)用研究[碩士學(xué)位論文]. 北京:北京工業(yè)大學(xué),2014.
16 宋京美,吳嘉瑞,姜迪,等. 基于數(shù)據(jù)挖掘的中醫(yī)治療肝病處方用藥規(guī)律分析. 中國實(shí)驗(yàn)方劑學(xué)雜志,2015,21(22):218-221.
17 錢家鳴. 錢家鳴教你養(yǎng)腸胃就該這樣吃. 北京:中國輕工業(yè)出版社,2014.
18 張友海,李鋒剛. Kmeans算法的Spark實(shí)現(xiàn)及優(yōu)化. 西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2017,20(3):18-20,32.
19 翁維健. 中醫(yī)飲食營養(yǎng)學(xué). 上海:上海人民出版社,2008. 1-207.
20 Chapmannovakofski K. Summer is different:What that means for nutrition educators. Journal of Nutrition Education and Behavior,2016,48(7):436. [doi:10.1016/j.jneb.2016.05.010]