本發(fā)明涉及寵物智能喂養(yǎng)領(lǐng)域,具體涉及一種基于動態(tài)智能算法的寵物喂養(yǎng)方法及系統(tǒng)。
背景技術(shù):
隨著國民經(jīng)濟(jì)的快速發(fā)展,寵物作為一種情感寄托越來越成為人們樂意選擇的一種方式。但如果僅僅使用缺乏科學(xué)依據(jù)的個人經(jīng)驗對寵物進(jìn)行喂養(yǎng),其不合理的喂養(yǎng)方案可能會使寵物缺乏營養(yǎng)導(dǎo)致疾病或富營養(yǎng)化以致肥胖,都達(dá)不到我們預(yù)想的目標(biāo),間接造成大量的精力損失和金錢浪費。
目前,亟需解決的問題是建立一套全面的寵物喂養(yǎng)模型,并將寵物生理指標(biāo)、飲食情況反饋給用戶,讓用戶能及時對寵物喂食方案做出調(diào)整。影響寵物健康程度的各個因素之間往往體現(xiàn)出高度的復(fù)雜性和非線性,采用常規(guī)預(yù)測、分析方法存在一定難度。
技術(shù)實現(xiàn)要素:
本發(fā)明通過提供一種基于動態(tài)智能算法的寵物喂養(yǎng)方法及系統(tǒng),以解決現(xiàn)有寵物喂養(yǎng)過程中因缺乏喂養(yǎng)經(jīng)驗,無法掌控最優(yōu)的喂食方案而導(dǎo)致寵物饑餓或不健康的問題。
為解決上述問題,本發(fā)明采用以下技術(shù)方案予以實現(xiàn):
一方面,本發(fā)明提供的基于動態(tài)智能算法的寵物喂養(yǎng)方法,包括:
步驟S1:采集寵物的種類、性別、年齡、心跳頻率、血壓、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量;
步驟S2:在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型;
步驟S3:利用MOEA/D算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解;
步驟S4:將決策變量的該組最優(yōu)解作為寵物的推薦決策X*通過服務(wù)器下發(fā)至用戶的終端設(shè)備進(jìn)行顯示;
步驟S5:用戶根據(jù)終端設(shè)備顯示的推薦決策X*喂食寵物。
另一方面,本發(fā)明提供的基于動態(tài)智能算法的寵物喂養(yǎng)系統(tǒng),包括:
數(shù)據(jù)采集單元,用于采集寵物的種類、性別、年齡、心跳頻率、血壓、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量;
寵物喂養(yǎng)模型建立單元,用于在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型;
決策變量最優(yōu)解獲取單元,用于利用MOEA/D算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解,并作為寵物的推薦決策X*;
推薦決策下發(fā)單元,用于通過服務(wù)器將寵物的推薦決策X*下發(fā)至用戶的終端設(shè)備進(jìn)行顯示。
與現(xiàn)有技術(shù)相比,本發(fā)明提供的基于動態(tài)智能算法的寵物喂養(yǎng)方法及系統(tǒng)的優(yōu)點是:利用Elman神經(jīng)網(wǎng)絡(luò)建立寵物喂養(yǎng)模型,再利用MOEA/D算法優(yōu)化寵物喂養(yǎng)模型,確定了寵物喂食量、食品類型的最優(yōu)值,并將寵物喂食量、食品類型的最優(yōu)值構(gòu)成寵物喂食方案即時反饋給用戶,讓用戶隨時隨地都能了解寵物的當(dāng)前狀況,為寵物營造了更好的生活環(huán)境。
附圖說明
圖1為根據(jù)本發(fā)明實施例的基于動態(tài)智能算法的寵物喂養(yǎng)方法的流程示意圖;
圖2為根據(jù)本發(fā)明實施例的健康指標(biāo)預(yù)測結(jié)果圖;
圖3為根據(jù)本發(fā)明實施例的健康指標(biāo)預(yù)測誤差圖;
圖4為根據(jù)本發(fā)明實施例的用戶界面示意圖。
具體實施方式
圖1示出了根據(jù)本發(fā)明實施例的基于動態(tài)智能算法的寵物喂養(yǎng)方法的流程。
如圖1所示,本發(fā)明的基于動態(tài)智能算法的寵物喂養(yǎng)方法,包括:
步驟S1:采集寵物的種類、性別、年齡、心跳頻率、血壓、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量。
通過統(tǒng)計得到對寵物的健康程度y1影響最大的變量為:寵物種類x1、年齡x2、心跳頻率x3、血壓x4、活動量x5、體溫x6、當(dāng)前圖像x7、性別x8、當(dāng)前體重x9、喂食量x10、食物類型x11,共11個變量;其中,心跳頻率x3、血壓x4、活動量x5、體溫x6由對應(yīng)的傳感器測量數(shù)據(jù);當(dāng)前圖像x7由攝像頭采集,寵物種類x1、年齡x2、性別x8、當(dāng)前體重x9為固有屬性,由用戶輸入;喂食量x10、食物類型x11構(gòu)成決策變量。
寵物的體溫x6通過溫度傳感器采集獲得;寵物的心跳頻率x3通過心率傳感器采集獲得;寵物的血壓x4通過血壓傳感器采集獲得;寵物的活動量x5通過計步器采集獲得;利用采樣電路分別與溫度傳感器、心率傳感器、血壓傳感器、計步器進(jìn)行連接,并將溫度傳感器、心率傳感器、血壓傳感器、計步器、重量傳感器分別采集到的寵物的體溫、心跳頻率、血壓、活動量、當(dāng)前體重轉(zhuǎn)換成數(shù)字信號。
寵物在當(dāng)前時刻的圖像信息通過攝像頭采集獲得,攝像頭將圖像信息轉(zhuǎn)換成數(shù)字信號。
在本發(fā)明中,服務(wù)器優(yōu)選為云服務(wù)器。
步驟S2:在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型。
設(shè)置Xk=[xk1,xk2,L,xkM](k=1,2,L,S)為輸入矢量,N為訓(xùn)練樣本個數(shù),
為第g次迭代時輸入層M與隱層I之間的權(quán)值矢量,WJP(g)為第g次迭代時隱層J與輸出層P之間的權(quán)值矢量,WJC(g)為第g次迭代時隱層J與承接層C之間的權(quán)值矢量Yk(g)=[yk1(g),yk2(g),L,ykP(g)](k=1,2,L,S)為第g次迭代時網(wǎng)絡(luò)的實際輸出,dk=[dk1,dk2,L,dkP](k=1,2,L,S)為期望輸出,迭代次數(shù)g為500。
在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型的過程,包括:
步驟S21:初始化,設(shè)迭代次數(shù)g初值為0,分別賦給WMI(0)、WJP(0)、WJC(0)一個(0,1)區(qū)間的隨機(jī)值;
步驟S22:隨機(jī)輸入樣本Xk;
步驟S23:對輸入樣本Xk,前向計算Elman神經(jīng)網(wǎng)絡(luò)每層神經(jīng)元的實際輸出Yk(g);
步驟S24:根據(jù)期望輸出dk和實際輸出Yk(g),計算誤差E(g);
步驟S25:判斷誤差E(g)是否小于預(yù)設(shè)的誤差值,如果大于或等于,進(jìn)入步驟S26,如果小于,則進(jìn)入步驟S29;
步驟S26:判斷迭代次數(shù)g+1是否大于最大迭代次數(shù),如果大于,進(jìn)入步驟S29,否則,進(jìn)入步驟S27;
步驟S27:對輸入樣本Xk反向計算Elman神經(jīng)網(wǎng)絡(luò)每層神經(jīng)元的局部梯度δ;
步驟S28:計算權(quán)值修正量ΔW,并修正權(quán)值;令g=g+1,跳轉(zhuǎn)至步驟S23;
其中,ΔWij=η·δij,η為學(xué)習(xí)效率;Wij(g+1)=Wij(g)+ΔWij(g);
步驟S29:判斷是否完成所有樣本的訓(xùn)練;如果是,完成建模;如果否,跳轉(zhuǎn)至步驟S22。
在Elman神經(jīng)網(wǎng)絡(luò)設(shè)計中,隱層節(jié)點數(shù)的多少是決定Elman神經(jīng)網(wǎng)絡(luò)模型好壞的關(guān)鍵,也是Elman神經(jīng)網(wǎng)絡(luò)設(shè)計中的難點,這里采用試湊法來確定隱層的節(jié)點數(shù)。
式中,p為隱層神經(jīng)元節(jié)點數(shù),n為輸入層神經(jīng)元數(shù),m為輸出層神經(jīng)元數(shù),k為1-10之間的常數(shù)。Elman神經(jīng)網(wǎng)絡(luò)的設(shè)置參數(shù)如下表2所示。
表2Elman神經(jīng)網(wǎng)絡(luò)設(shè)置參數(shù)
通過上述過程,可得到Elman神經(jīng)網(wǎng)絡(luò)預(yù)測效果如圖2-3所示。智能寵物喂養(yǎng)的基礎(chǔ)是模型的建立,模型精度直接影響輸出結(jié)果。通過對圖2-3分析可知,健康指數(shù)預(yù)最大測誤差為4.2%,模型預(yù)測精度高,滿足建模要求。
步驟S3:利用MOEA/D算法(Multi-obiective Evolutionary Algorithm BasedonDecomposition,基于分解的多目標(biāo)優(yōu)化算法)對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解,也就是獲得寵物的喂食類型、喂食量的一組最優(yōu)值。
利用MOEA/D算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化的步驟包括:
步驟S31:初始化所述寵物喂養(yǎng)模型;其中,步驟S31包括:
步驟S311:將待優(yōu)化的多個目標(biāo)分解為N個單目標(biāo),并對每個單目標(biāo)賦予權(quán)重(λ1,λ2,…λN);
步驟S312:計算任意兩個權(quán)重的歐式距離B(i),對于每個i=1,2,…N,令B(i)={i1,i2,…iT},則為距離權(quán)重向量λi最近的T個權(quán)重;
步驟S313:初始化種群x1L xN的初始化目標(biāo)函數(shù)最佳值z=(z1,...zm)T,Zi=min{fi(x1),...fi(xN)},設(shè)置外部存檔EP為空;
步驟S32:對單個待優(yōu)化目標(biāo)最優(yōu)值進(jìn)行重復(fù)計算,每次產(chǎn)生的新向量更加接近多目標(biāo)優(yōu)化的最優(yōu)值;
步驟S321:從B(i)中隨機(jī)選取兩個序列號為k和l的子向量,利用遺傳算子有xk,x1產(chǎn)生一個新的解y,并對解y利用基于測試問題的修復(fù)和改進(jìn)啟發(fā)產(chǎn)生y';
步驟S322:更新Z:對于j=1,...m,如果Zi<fj(y'),則令Zi=fj(y');
步驟S323:更新鄰域解:對于j∈B(i),如果gte(y'/λj,Z)≤gte(x/λj,Z),則令xj=y(tǒng)',F(xiàn)Vj=F(yj),其中g(shù)te(x/λj,z)表示第j個子問題的目標(biāo)函數(shù),利用切比雪夫法將多目標(biāo)優(yōu)化分解為N個標(biāo)量優(yōu)化子問題,具體表達(dá)式為:
其中,F(xiàn)V為x的目標(biāo)函數(shù),F(xiàn)Vi=F(xi),F(xiàn)Vi是xi的F值;
步驟S324:更新外部存檔EP:從外部存檔EP中移出所有被F(y')支配的向量,加入所有不被支配的F(y');
步驟S33:判斷迭代次數(shù)是否達(dá)到預(yù)設(shè)的上限,如果達(dá)到,則輸出外部存檔EP的值,并作為所述決策變量的一組最優(yōu)解;如果未達(dá)到,則返回步驟S32。
步驟S34:將決策變量的該組最優(yōu)解作為寵物的推薦決策X*通過服務(wù)器下發(fā)至用戶的終端設(shè)備進(jìn)行顯示。
各類傳感器每2小時采集一次數(shù)據(jù)上傳至服務(wù)器,服務(wù)器接數(shù)據(jù)并通過寵物喂養(yǎng)模型給出寵物當(dāng)前推薦的喂食量和食物類型。
步驟S35:用戶根據(jù)終端設(shè)備顯示的推薦決策喂養(yǎng)寵物。
用戶可以在終端設(shè)備上打開智能寵物喂養(yǎng)界面(如圖4所示),界面顯示該寵物的簡要信息,寵物的簡要信息包括寵物的圖像、當(dāng)前健康指數(shù),用戶可在界面設(shè)置寵物的理想健康指數(shù),由服務(wù)器下發(fā)推薦的喂食類型和喂食量。
寵物的當(dāng)前健康指數(shù)由基于MOEA/D算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化得到,寵物的當(dāng)前健康指數(shù)與決策變量的一組最優(yōu)解相對應(yīng)。
本發(fā)明提供的基于動態(tài)智能算法的寵物喂養(yǎng)方法,首先,利用傳感器、攝像頭等硬件采集寵物的生理指標(biāo)參數(shù)、寵物圖像、喂食量、食物類型;然后,將采集到的數(shù)據(jù)上傳至服務(wù)器進(jìn)行存儲,在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)的動態(tài)模型,利用MOEA/D算法優(yōu)化得到?jīng)Q策變量的一組最優(yōu)值,并將這組最優(yōu)解作為推薦決策下發(fā)至用戶的PC或APP終端,最后,用戶可根據(jù)推薦決策決定寵物的喂食量和食物類型。該方法能夠確定最優(yōu)的寵物喂養(yǎng)方案,為寵物營造了更好的生活環(huán)境。
與上述方法相對應(yīng),本發(fā)明還提供一種基于動態(tài)智能算法的寵物喂養(yǎng)系統(tǒng)。
本發(fā)明提供的基于動態(tài)智能算法的寵物喂養(yǎng)系統(tǒng),包括:
數(shù)據(jù)采集單元,用于采集寵物的種類、性別、年齡、心跳頻率、血壓、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量。數(shù)據(jù)采集單元采集數(shù)據(jù)的具體過程參考上述步驟S1。
寵物喂養(yǎng)模型建立單元,用于在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型。寵物喂養(yǎng)模型建立單元建立寵物喂養(yǎng)模型的具體過程參考上述步驟S2。
決策變量最優(yōu)解獲取單元,用于利用MOEA/D算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解,并作為寵物的推薦決策X*。決策變量最優(yōu)解獲取單元獲取決策變量的最優(yōu)解具體過程參考上述步驟S3。
推薦決策下發(fā)單元,用于通過服務(wù)器將寵物的推薦決策X*下發(fā)至用戶的終端設(shè)備進(jìn)行顯示。
用戶根據(jù)終端設(shè)備顯示的推薦決策X*對寵物進(jìn)行喂食。
應(yīng)當(dāng)指出的是,上述說明并非是對本發(fā)明的限制,本發(fā)明也并不僅限于上述舉例,本技術(shù)領(lǐng)域的普通技術(shù)人員在本發(fā)明的實質(zhì)范圍內(nèi)所做出的變化、改性、添加或替換,也應(yīng)屬于本發(fā)明的保護(hù)范圍。