• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于營(yíng)養(yǎng)標(biāo)準(zhǔn)的個(gè)性化幼兒套餐推薦方法

      2020-11-16 06:08劉藝鵬蔡鵬莫慧苗折建章
      理論與創(chuàng)新 2020年17期
      關(guān)鍵詞:多目標(biāo)優(yōu)化個(gè)性化推薦協(xié)同過濾

      劉藝鵬 蔡鵬 莫慧苗 折建章

      【摘? 要】為了在解決兒童飲食問題,不僅要滿足兒童的營(yíng)養(yǎng)標(biāo)準(zhǔn),同時(shí)還要滿足兒童的喜好。為了解決這個(gè)問題,提出了一種利用Item CF算法和LFM模型來進(jìn)行第一層推薦,然后基于FTRL算法來推薦最終兒童喜歡的食物,最后采用差分進(jìn)化算法來進(jìn)行食物的匹配及食譜的推送。該模型結(jié)合幼兒園現(xiàn)狀,匹配出符合兒童營(yíng)養(yǎng)標(biāo)準(zhǔn)的食譜。

      【關(guān)鍵詞】協(xié)同過濾;FTRL;多目標(biāo)優(yōu)化;個(gè)性化推薦;營(yíng)養(yǎng)均衡

      引言

      近幾年也有基于營(yíng)養(yǎng)標(biāo)準(zhǔn)和食物個(gè)性推薦算法的相關(guān)研究,如利用協(xié)同過濾并且使用引入差分變 異策略算子的NSGA-2個(gè)性化健康飲食推薦方法[1],基于情境感知的校園餐飲推薦方法[2],利用粒子群,聚類和Slope one等算法的基于營(yíng)養(yǎng)飲食推薦系統(tǒng)研究[3],食材搭配推薦算法 研究[4]則是利用了基于NSGA-2改進(jìn)的MOGA-UP算法和BP算法。本文則在經(jīng)典的協(xié)同過濾推薦算法LMF和Item CF的基礎(chǔ)上,又利用Google用于廣告點(diǎn)擊率的FTRL- Proximal增量算法, 將這幾種算法進(jìn)行融合,最后利用加上一點(diǎn)改進(jìn),最終實(shí)現(xiàn)了較好的效果。本文提出的推薦系統(tǒng)會(huì)根據(jù)不斷更新的用戶對(duì)食物的喜好數(shù)據(jù)來訓(xùn)練模型,每次會(huì)推薦出一周的食譜,不僅考慮到了每個(gè)學(xué)生的口味和營(yíng)養(yǎng)指標(biāo),而且還考慮到了學(xué)校對(duì)各種食材或原料的準(zhǔn)備,方便學(xué)校進(jìn)行對(duì)每個(gè)學(xué)生不同的套餐的準(zhǔn)備。

      1.相關(guān)工作

      1.1基于矩陣分解的推薦算法——LFM模型

      1.2基于物品的協(xié)同過濾算法——Item CF算法

      Item CF算法是根據(jù)兩個(gè)物品的相似度給用戶推薦的,計(jì)算公式如下:

      計(jì)算完相似度,得到相似度矩陣后。對(duì)于某個(gè)用戶u,先找出用戶u每一個(gè)喜歡的物品的最相似的前k個(gè)其他物品。以其中一個(gè)喜歡的物品i為例,將用戶u對(duì)物品i的評(píng)分作為這個(gè)物品的權(quán)重,將與物品i最相似的k個(gè)物品的相似度與這個(gè)權(quán)重相乘,作為這k個(gè)未知物品分?jǐn)?shù)的一部分,將所有用戶u喜歡的物品按照以上方式計(jì)算后,將每一個(gè)物品的每一部分的分?jǐn)?shù)相加就得到每一個(gè)物品的分?jǐn)?shù),按照這個(gè)分?jǐn)?shù)將物品排序,取分?jǐn)?shù)最高的幾個(gè)物品推薦給用戶。

      經(jīng)Karypis[7]研究發(fā)現(xiàn),傳統(tǒng)的相似度的計(jì)算有著一定的缺陷,若用戶喜歡的物品有不同的類別時(shí),類別A的物品之間的相似度可能會(huì)比類別B的物品之間的相似度高,在推薦時(shí)就會(huì)更偏向于推薦類別A的物品,而忽略了用戶喜歡的類別B的物品,所以Karypis提出了相似度矩陣的歸一化。在得到相似度矩陣后,找到每一行的最大值,再將這一行的所有數(shù)除以這個(gè)最大值,從而上述只推薦A類物品的情況就可以得到抑制。

      1.3 FTRl算法

      FTRL算法屬于增量學(xué)習(xí)算法,最早由谷歌的H. Brendan McMahan提出,以下公式來自于H. Brendan McMahan[8]的論文,與傳統(tǒng)的機(jī)器學(xué)習(xí)算法不同,每次訓(xùn)練不需要處理所搜集到的全部數(shù)據(jù),只需要處理部分?jǐn)?shù)據(jù)即可,可以更容易的處理流式數(shù)據(jù),所以在推薦領(lǐng)域有著廣泛的應(yīng)用。

      FTRL與SGD類似,每次只需要處理一個(gè)數(shù)據(jù),下式為FTRL的參數(shù)更新公式,

      為超參數(shù),T為樣本總數(shù),每次接收一個(gè)樣本。先找出樣本不為0的樣本維度數(shù),將這些維度數(shù)保存到I中,然后按照以上公式中對(duì)參數(shù)w中I中存在的維度數(shù)進(jìn)行更新。然后根據(jù)更新的參數(shù)對(duì)這個(gè)樣本進(jìn)行預(yù)測(cè),計(jì)算出損失函數(shù),然后對(duì)其他參數(shù)進(jìn)行更新。

      1.4差分進(jìn)化算法

      差分進(jìn)化算法最早是由R.Storn和K.Price為求解Chebyshev多項(xiàng)式而提出的,是遺傳算法的一種,以下公式來源于R.Storn和K.Price[9]的論文。

      (1)種群初始化:

      其中是度第i個(gè)個(gè)體的第j維的下界,其中是度第i個(gè)個(gè)體的第j維的上界。

      (2)變異(DE/best/1):

      F為縮放因子,是一個(gè)常數(shù),g表示的是第g代種群。若當(dāng)前種群大小為n,則進(jìn)行n次變異,生成n個(gè)變異向量。

      (3)交叉:

      對(duì)于每一個(gè)種群中的個(gè)體,找到序號(hào)對(duì)應(yīng)的變異向量進(jìn)行交叉。CR為交叉概率,若進(jìn)行第j維的交叉時(shí),生成的隨機(jī)數(shù)小于CR,則這個(gè)個(gè)體交叉后的第j維為變異向量的第j維。反之則為原來的數(shù)。

      (4)選擇:

      將進(jìn)行變異交叉之后的個(gè)體向量與原個(gè)體向量進(jìn)行比較,選取最優(yōu)個(gè)體。

      2.個(gè)性化飲食推薦系統(tǒng)的建立

      2.1問題描述

      兒童的餐飲問題一直有重要意義,合理搭配食譜,全面提高膳食質(zhì)量水平是社會(huì)關(guān)注重點(diǎn)[10],健康飲食是搭配食譜的第一步,考慮兒童的口味和需求也十分必要。如今,幼兒園中的食譜搭配能滿足兒童營(yíng)養(yǎng)的需求,兒童的愛好和口味沒有過多的進(jìn)行了解,出現(xiàn)了雖然給兒童提供的飯菜營(yíng)養(yǎng)均衡,但學(xué)生并不喜歡吃,達(dá)不到營(yíng)養(yǎng)的均衡攝入的情況。為了解決這個(gè)問題,本文提出了基于營(yíng)養(yǎng)標(biāo)準(zhǔn)的個(gè)性化食物推薦系統(tǒng)用于解決這個(gè)問題。

      2.2個(gè)性化飲食推薦

      對(duì)于食物的推薦,一個(gè)算法顯然是不夠的,需要多個(gè)算法進(jìn)行融合才能達(dá)到較好的效果。

      對(duì)于此食物推薦系統(tǒng),總體上來說,分為兩個(gè)部分,第一個(gè)部分是FTRL模型的訓(xùn)練,第二個(gè)部分是根據(jù)所訓(xùn)練的模型進(jìn)行食譜的推薦。

      (1)模型的訓(xùn)練。FTRL模型可以處理不斷更新的數(shù)據(jù)。訓(xùn)練時(shí)要為每個(gè)班級(jí)及個(gè)人都訓(xùn)練一個(gè)模型,訓(xùn)練完成后將更新的參數(shù)保存起來。給班級(jí)訓(xùn)練模型是為了限制每頓飯學(xué)校需要做的菜的種類數(shù),這是考慮到了現(xiàn)實(shí)的情況。因?yàn)槿绻唤o每個(gè)學(xué)生訓(xùn)練模型,則在推薦時(shí),每個(gè)人的菜可能都不同,學(xué)??赡芫鸵款D飯做幾百種菜,這顯然是不現(xiàn)實(shí)的,所以要訓(xùn)練每一個(gè)班級(jí)的模型,為每一個(gè)班級(jí)找出可能的喜歡人數(shù)最多的菜。

      (2)食物的推薦。在為每一個(gè)學(xué)生推薦食譜時(shí),首先考慮到的是所推薦的食物用戶是否喜歡,然后才進(jìn)行食物的匹配從而達(dá)到對(duì)11種營(yíng)養(yǎng)物質(zhì)的標(biāo)準(zhǔn)攝入。如果先考慮營(yíng)養(yǎng)物質(zhì)的攝入標(biāo)準(zhǔn),若要達(dá)到較好的推薦效果的話就會(huì)需要差分進(jìn)化算法匹配出很多誤差較小的食物套餐,但是這會(huì)需要很多時(shí)間,所以應(yīng)該先推薦再進(jìn)行差分進(jìn)化去匹配。

      在推薦時(shí)先是使用了LFM模型和Item CF算法。首先使用LFM模型進(jìn)行推薦,得到每個(gè)用戶對(duì)每個(gè)食物的分?jǐn)?shù),然后使用Item CF算法,得到另一個(gè)分?jǐn)?shù),將這兩個(gè)分?jǐn)?shù)按照權(quán)重相加,得到總分,取前分?jǐn)?shù)最高的k個(gè)食物。一個(gè)學(xué)校剛開始使用時(shí)由于學(xué)生對(duì)食物的喜好的數(shù)據(jù)少,而且食物的分布也可能很分散或有些學(xué)生口味與大眾的口味很不同,就會(huì)導(dǎo)致有的學(xué)生會(huì)沒有推薦的食物,即使有也可能會(huì)很少,所以如果Item CF算法推薦的食物很少,就需要LFM模型來補(bǔ)充,這時(shí)如果有一個(gè)食物兩個(gè)算法的分?jǐn)?shù)都有,就按照權(quán)重相加,取前幾項(xiàng),如果數(shù)量較少,剩下的就要按照LFM模型的分?jǐn)?shù)從高到低來選取。

      在LFM模型和Item CF算法運(yùn)行完成之后,每一個(gè)學(xué)生就會(huì)得到推薦的食物。然后將這些食物進(jìn)行整理,將每一個(gè)班級(jí)的食物匯總,匯總的同時(shí)去掉學(xué)校由于一些原因不能制作的菜。之后利用每一個(gè)班級(jí)的FTRL模型為每一個(gè)班級(jí)推薦,進(jìn)行第一次篩選,減少食物種類的同時(shí)又不會(huì)對(duì)最終的推薦結(jié)果造成很大的影響。

      最后在篩選出來的食物中為每一個(gè)學(xué)生推薦,在推薦時(shí)由于會(huì)有些學(xué)生口味很符合整個(gè)班級(jí)的,而有些學(xué)生的口味卻很不符合,所以就會(huì)出現(xiàn)有的學(xué)生所推薦的食物很多,有些學(xué)生所推薦的食物很少。這時(shí)就要統(tǒng)計(jì)一下在一個(gè)班級(jí)中的每種菜的喜歡的人數(shù),選取喜歡人數(shù)最多的前k種菜,對(duì)于每一個(gè)學(xué)生都只保留這k種菜,進(jìn)行菜的種類數(shù)控制,如果存在學(xué)生的推薦菜數(shù)很少,就按照每種菜喜歡的人數(shù)多少來添加,直到有足夠的數(shù)量進(jìn)行接下來的差分進(jìn)化。

      2.3食物及其重量的匹配

      給每一個(gè)學(xué)生推薦食物完成后就可以根據(jù)每個(gè)學(xué)生的食物進(jìn)行食物種類及對(duì)應(yīng)重量的匹配,從而滿足各種營(yíng)養(yǎng)的標(biāo)準(zhǔn)攝入量。每次對(duì)每一個(gè)學(xué)生進(jìn)行差分進(jìn)化前差分進(jìn)化前要進(jìn)行對(duì)學(xué)生身高,體重及性別的判斷,大致確定這個(gè)學(xué)生缺少那些營(yíng)養(yǎng)或者那種營(yíng)養(yǎng)過多,從而實(shí)現(xiàn)營(yíng)養(yǎng)標(biāo)準(zhǔn)的個(gè)性化。然后對(duì)這個(gè)學(xué)生的推薦食物進(jìn)行編號(hào),種群中的每個(gè)個(gè)體都由兩種或三種食物組成,每種食物都有一個(gè)對(duì)應(yīng)的重量,下圖分別為一頓飯兩種菜和三種菜的營(yíng)養(yǎng)誤差。每次差分進(jìn)化都找出最優(yōu)的五個(gè)個(gè)體,每天分配一個(gè)最優(yōu)的個(gè)體,每個(gè)學(xué)生進(jìn)行三次差分進(jìn)化,分別對(duì)應(yīng)早,中,晚三頓飯。

      差分進(jìn)化的每一個(gè)個(gè)體的適應(yīng)度由下式計(jì)算:

      其中x為種群中的一個(gè)個(gè)體,為第i種營(yíng)養(yǎng)物質(zhì)的權(quán)重,為個(gè)體的第i種營(yíng)養(yǎng)物質(zhì)的含量,為第i種營(yíng)養(yǎng)物質(zhì)的標(biāo)準(zhǔn)攝入量。每次差分進(jìn)化的種群規(guī)模為25個(gè),種群代數(shù)為80就可以找到較好的個(gè)體,而且運(yùn)行時(shí)間較快。由于一個(gè)種群進(jìn)化到最后種群中的個(gè)體的相似度都很大,所以在挑選其中的5個(gè)最好個(gè)體時(shí)要根據(jù)食物的種類進(jìn)行去重,如果去重后的個(gè)體數(shù)少于5個(gè)就多次運(yùn)行差分進(jìn)化算法。

      3.實(shí)驗(yàn)結(jié)果與分析

      3.1實(shí)驗(yàn)結(jié)果

      搜集到了大概有100人40天的食物喜好數(shù)據(jù),本文只使用精確率(precision)作為性能度量的指標(biāo),計(jì)算公式為

      因?yàn)榭紤]到了現(xiàn)實(shí)中學(xué)校不可能做很多種類的飯,所以限制了每次推薦出的食物種類數(shù),所以推薦系統(tǒng)中常用的召回率以及F1值并沒有太大的參考意義。經(jīng)過訓(xùn)練后,得到了下圖中所有同學(xué)的平均的精確率的增長(zhǎng)曲線。

      為了檢驗(yàn)推薦系統(tǒng)的每一個(gè)部分都起到了作用,又將本文提出的推薦系統(tǒng)拆分開進(jìn)行多次實(shí)驗(yàn),下圖為各種拆分方案的最終平均準(zhǔn)確率。

      推薦進(jìn)行完成后,要進(jìn)行食物的匹配,下圖為進(jìn)行一次差分進(jìn)化過程中,誤差的變化軌跡。

      下圖為差分進(jìn)化出的個(gè)體的各個(gè)營(yíng)養(yǎng)物質(zhì)的平均誤差。

      3.2實(shí)驗(yàn)分析

      在經(jīng)過訓(xùn)練后,可以看出推薦系統(tǒng)的精確率達(dá)到了90%左右,在任意去掉此推薦系統(tǒng)的一部分后精確率都有不同的下降,說明幾種算法的結(jié)合取得了較好的效果。在最后的不同食物的匹配過程中,可以看到誤差在一次的差分進(jìn)化中有著快速的下降,其中能量誤差最小,在0.07%左右,而且在最后的結(jié)果中一些比較重要的營(yíng)養(yǎng)物質(zhì)的誤差較小,脂肪的誤差較大,在56.35%,除了脂肪和硒的誤差較大以外,其他的誤差都較小,而且并不都是缺少,也有營(yíng)養(yǎng)多于標(biāo)準(zhǔn)營(yíng)養(yǎng),多余的部分的影響并不會(huì)很大。

      4.總結(jié)

      本文不僅使用了在食物推薦系統(tǒng)中最為常用的協(xié)同過濾算法,而且還結(jié)合了在食物推薦中少見的FTRL增量學(xué)習(xí)算法,在最后的基于營(yíng)養(yǎng)標(biāo)準(zhǔn)的食物的匹配中,利用了差分進(jìn)化算法,將每種營(yíng)養(yǎng)標(biāo)準(zhǔn)與營(yíng)養(yǎng)攝入量的差的絕對(duì)值以相應(yīng)權(quán)值相加得到的數(shù)作為種群適應(yīng)度。經(jīng)過實(shí)驗(yàn)的測(cè)試,驗(yàn)證了本文提出的模型在解決兒童既要營(yíng)養(yǎng)的均衡攝入也要符合個(gè)人喜好的難題時(shí)有著較好的效果。

      參考文獻(xiàn)

      [1]方琦.個(gè)性化健康飲食推薦方法研究[D].長(zhǎng)安大學(xué),2018.

      [2]王偉偉.基于情境感知的校園餐飲推薦方法研究及應(yīng)用[D].太原理工大學(xué),2018.

      [3]劉興姿.基于營(yíng)養(yǎng)飲食推薦系統(tǒng)研究[D].西安電子科技大學(xué),2019.

      [4]梅子杰. 食材搭配推薦算法研究[D].重慶郵電大學(xué),2018.

      [5]項(xiàng)亮2012. 推薦系統(tǒng)實(shí)戰(zhàn). 北京市崇文區(qū)夕照寺街:人民郵電出版社. 197pp.

      [6] Sarwar B M, Karypis G, Konstan J A, et al. Item-based collaborative filtering recommendation algorithms[C]. the web conference, 2001: 285-295.

      [7] G. Evaluation of Item-Based Top- N Recommendation Algorithms[C]. conference on information and knowledge management, 2001: 247-254.

      [8] Mcmahan H B, Holt G, Sculley D, et al. Ad click prediction: a view from the trenches[C]. knowledge discovery and data mining, 2013: 1222-1230.

      [9] Storn R , Price K . Differential Evolution-A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces[J]. Journal of Global Optimization, 1997, 11.

      [10]丁汝金,楊慧,裴丹丹.農(nóng)村留守兒童營(yíng)養(yǎng)膳食調(diào)配分析[J].現(xiàn)代食品,2019(09):117-120+128.

      猜你喜歡
      多目標(biāo)優(yōu)化個(gè)性化推薦協(xié)同過濾
      改進(jìn)的多目標(biāo)啟發(fā)式粒子群算法及其在桁架結(jié)構(gòu)設(shè)計(jì)中的應(yīng)用
      群體多目標(biāo)優(yōu)化問題的權(quán)序α度聯(lián)合有效解
      基于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的協(xié)同過濾推薦算法設(shè)計(jì)與實(shí)現(xiàn)
      云計(jì)算中虛擬機(jī)放置多目標(biāo)優(yōu)化
      基于相似傳播和情景聚類的網(wǎng)絡(luò)協(xié)同過濾推薦算法研究
      個(gè)性化推薦系統(tǒng)關(guān)鍵算法探討
      基于協(xié)同過濾算法的個(gè)性化圖書推薦系統(tǒng)研究
      混合推薦算法在電影推薦中的研究與評(píng)述
      狼群算法的研究
      纳雍县| 南汇区| 四平市| 曲松县| 柳江县| 二手房| 卢湾区| 巨野县| 盘锦市| 威远县| 乐清市| 金川县| 集贤县| 东港市| 扶余县| 蕉岭县| 盱眙县| 泸定县| 平江县| 文成县| 凌源市| 庆元县| 天等县| 海淀区| 沙坪坝区| 北川| 陆丰市| 苍梧县| 方城县| 政和县| 南康市| 革吉县| 衡水市| 凤庆县| 麻江县| 固始县| 房产| 乌什县| 芮城县| 汕尾市| 扬中市|