宋赫,嚴李強,肖楊,田博
(西藏大學大學 信息科學技術學院,西藏 拉薩 850000)
我國農業現代化規劃大力推進設施農業[1]在農業中的戰略結構性調整,促進科技轉化指導農業發展,完善農業基礎設施建設,為我國農業長期、穩定、高質量發展提供了條件[2]。機器學習在農業領域的融合[3]為我國現代化農業帶來了重要發展機遇,以機器學習理論為基礎[4]的設施農業需求解決方案[5]隨之增加。溫室是設施農業的重要裝備,溫室控制涉及的變化量多,外界環境變化快、波動范圍廣、干擾因素復雜,是農業溫室控制研究的難點和關鍵,通過對大量農業數據進行挖掘與分析而生成控制模式的方法[6]應運而生。郭蕭[7]在基于機器學習算法的智慧農業決策系統研究中針對現有的智慧農業決策問題,提出了一種閾值優化方法,設計了智慧農業決策平臺;陳曉雷[8]等提出的智慧農業時序組合預測模型,采用神經網絡校正擬合曲線,提高了溫室溫度預測的精度。然而,農業溫室的控制模式提取問題依然沒有較好的解決方法,缺乏應用機器學習的農業溫室控制模式的分析方法研究。
文章嘗試建立一種農業溫室的時間參數與溫室控制參數生成的控制模式[9],基于現有的機器學習數據挖掘和模式識別方法,解決溫室控制模式分析的問題。分析K-means聚類算法對實地采集到的溫室數據[10],評價聚類結果的平方和誤差,進而總結實驗結果在溫室控制中的效果,顯著區別于人工總結的溫室控制模式,為溫室控制模式的分析與提取提供了方案。
現代設施農業主要將農業溫室分為塑料大棚、日光溫室和玻璃溫室三大類。農業溫室中配備風控裝備、溫控裝備、光控裝備等設施農業裝備[11]。文章研究的溫室為配備了卷簾機和溫度傳感器的智能日光溫室和玻璃溫室。
農業溫室控制的主要目的是環境控制,通過調控溫室中各類裝備的工作狀態、方式間接控制環境[12]。溫室設備協同工作,在影響溫室的環境同時受環境本身的反饋影響。
在數據中尋求某種描述了環境條件與設備狀態關系體現在控制上的規律,當大量數據都能夠反映一類規律時,就可將其規律總結為模式。農業溫室模式控制[13]指,在出現某種環境參數及其變化趨勢或特定閾值組合時,有著一套或多套與之對應的在一定閾值范圍內的動態控制參數,應用于溫室控制決策,則這些參數組合即控制模式。溫室控制模式是對某一組控制參數和溫室控制響應形成的趨近結果所做的總結,一組控制數據的總結對應著該控制數據產生的決策。
K-means聚類算法是一種常用的機器學習聚類算法,該算法通過分析多組未經標簽的數據,在數據中迭代尋找數據的中心點坐標,并將其他點包含坐標范圍中,并使包含于該點的所有其他點的平均距離最小,該點稱之為聚類中心。其算法基本流程如圖1所示。
初始化樣本數據集為n個向量X。
其中,X為樣本數據集向量,n為樣本的總數,a,b……k為第i、j個向量的第k維的數值。
隨機初始化K個聚類中心,K值的選取通常使用手肘法[14]來確定。手肘法通過遍歷K值并獲取其對應的SSE[15],作K-SSE曲線并尋找變化率最大的拐點。通過計算樣本X中向量與聚類中心間的歐氏距離,將與樣本距離最小的聚類中心作為該樣本的類。
計算該聚類中心所有樣本的平均距離中心。
其中,P、Q是樣本向量,m是聚類中心φ所分配到樣本的數量。
對比當前聚類中心與平均距離中心的誤差是否滿足誤差精度,若滿足誤差精度則以當前聚類中心作為最終確定的聚類中心,若不滿足則以尋找最靠近當前平均距離中心且屬于當前聚類中心的點作為新的聚類中心。然后再次計算新的聚類中心和所有樣本間的距離,并判斷樣本是否屬于更新后的聚類中心,如果距離不再是最小,則重新分配該樣本到新的聚類中心。
經上述過程迭代調整聚類中心和重新分配樣本,直到聚類中心和樣本所屬不再變動且平方和誤差收斂,最終得到K個符合要求的聚類中心。
文章中的溫室控制模式分析基于溫室時參模型對溫室數據進行挖掘,建立規定閾值的時參模型控制模式。由溫室時參數據構成的模型即溫室時參模型,溫室的時參模型是文章研究溫室控制模式的基礎。時參模型控制模式根據時參對控制的干涉,建立時參與控制決策的關系。文章的溫室時參模型控制模式的模型,即在某一時刻、溫度達到某一值時的卷簾機的工作狀態,在那一時刻的時間與溫度閾值對應的卷簾機工作狀態閾值即一種控制模式。由此建立的時間-設備狀態-溫度即時參模型。
溫室的控制模式可通過多種方法獲得。現有的模式識別、提取與分析方法多基于機器學習數據挖掘技術,大量分析溫室數據得出參數與控制決策的關系,生成控制模式。如通過擬合方法建立的控制預測方程;通過決策樹建立反映參數對設備控制影響的控制樹;通過模式識別方法從數據中識別可能存在的控制模式;通過數學生成式模型建立控制的概率模型;使用統計學理論和人工分析控制模式等。傳統內置在設備中的控制算法需要更多的算力,而閾值判斷法又過于單一,因此控制模式的出現使得控制設備本身不需要進行復雜的運算,直接通過對模式的選擇實現控制,降低了控制設備的運算壓力,提高了控制決策的速度。
溫室控制模式與K-means聚類之間有著與上述相同的關系。文章從農業溫室的控制模式角度,提出一種基于K-means聚類的溫室控制模式分析方法,用于挖掘溫室數據中蘊藏的控制模式,進而對溫室控制模式進行提取和識別。
時間數據需要先經過預處理成為能夠對其劃分閾值的時參模型,即通過閾值來限定范圍的未經標簽的數據,在預處理后的數據中隨機初始化K個由時間-設備狀態-溫度數據對應的向量,代表了隨機初始化的K個模式。聚類后每個聚類中心都是通過聚類所得到的類別,每個聚類中心實際包含的點形成了該空間的邊界,將每個坐標軸劃分到了一定的閾值內,這些閾值限制了坐標軸所對應的參數的范圍,這樣形成的聚類中心就是新生成的模式。
計算其他向量與初始化聚類中心的歐式距離,由于在本模型中訓練的三個參數為時間(time,記為t)、卷簾機狀態(State,記為S)、溫度(Temperature,記為T)組成的三維向量,將樣本向量P代入公式(2)計算對應的歐氏距離,有:
其中,t為時間,S為設備狀態,T為溫度,n為訓練集總訓練數據的數量,在文章中n=3。
計算出的兩個空間點的歐氏距離,從空間距離的角度評判溫室數據和當前控制模式之間的差異,從而將這些向量所對應的數據點分配到K個聚類中心去。
計算每個聚類中心里所有樣本的平均距離中心,有:
其中,Pi和Qj分別代表要求歐氏距離的在第i個和第j個(任意不相同的兩個)數據,t為時間,S為設備狀態,T為溫度,n為訓練集總訓練數據的數量,在文章中n=3。
平均距離中心為該控制模式中所有控制數據的均值,對比此均值和當前聚類中心的差異更新聚類中心。計算聚類評價指標SSE,所有組距離誤差的均值,其計算如公式(5)。
其中,i代表當前的聚類中心,C代表當前聚類中心點坐標,X代表第k個屬于該聚類中心的空間點坐標,n為訓練集總訓練數據的數量。
單個距離代表了當前在該分類下實際的平均度量中心與當前聚類中心的不同,而所有距離的均值SSE則代表了該聚類中心對于所有在該類中的數據的偏差程度,通常SSE越小代表聚類效果越好,當前選取的聚類中心越接近越能代表該類別的真實中心。然后以同樣的方法迭代更新這些聚類中心;經過多次迭代后,最終得到的聚類中心在由時間-設備狀態-溫度數據構成的坐標,得到的坐標及其邊界將參數限定在了空間內,由坐標軸限定閾值,由閾值在坐標軸上劃分的空間構成模式。基于K-means聚類的溫室時參模型分析流程如圖2。
圖2的算法流程可擴展為以下步驟。
Step1:處理數據中的空缺值和非法數據,按照時參模型建立符合K-means聚類要求的數據集;
Step2:導入數據,通過手肘法選取K值,隨機初始化K個聚類中心;
Step3:使用K-means聚類算法對數據進行聚類分析,計算聚類中心到其他各點的歐氏距離并計算該聚類中心中的距離均值,比較當前聚類中心與均值病更新聚類中心;
Step4:計算歸屬于各聚類中心的點到該聚類中心的歐氏距離的平方和誤差SSE;
Step5:通過迭代1000輪以上或SSE誤差預期評價聚類效果。若結果良好,則將聚類結果保留,反之則打亂數據集并重復Step2-Step5;
Step6:分析聚類結果,將結果轉換為控制模式。
將新獲取的數據帶入模型中即可獲得該點屬于的控制模式,進一步將該點在該模式中劃到模式中的點附近,從而得出當前狀態下應有的控制決策。而聚類中心再根據數據預處理的方式將逆向還原成可用的數據,即可得到控制模式。
文章使用的時參數據來自于拉薩市智昭產業園,共21615組溫度數據,經處理后以開、關作為卷簾機工作狀態選取1732組數據。
遍歷K值,K≥8的時由于聚類中心過多經常無法尋得更多新的聚類中心,且K=1時的聚類中心是整個數據集的空間中心,總是接近定值,對文章的實驗沒有意義,故選取K=2~7使用手肘法的SSE計算最佳K值。如圖3所示。
由圖3可見,隨K值的變化其折線在區間內呈減緩趨勢,根據手肘法在K值上升的同時SSE變化趨勢尋找最佳拐點,制作K-SSE的變化率[16]如表1所示。由表1可見,在K=4時的拐點變化率最大且在SSE較小,將K=4作為手肘的拐點最合適。故選取K=4的實驗結果做進一步分析。

表1 K-SSE變化率拐點表
當K=4時,生成的聚類中心坐標如表2所示,聚類結果的可視化如圖4所示。

表2 K=4時的聚類結果表
表2展示了K=4時兩次聚類產生的聚類中心坐標。圖4分別為聚類結果向二維的投影與聚類結果的可視化圖,從二維投影圖中部分點因重疊而無法從上面顯示,從正面可視化圖中可見聚類結果按照時間將溫度和設備狀態數據分成了一定的層次,一種顏色代表一個類別,不同顏色的組合展示了不同層次中溫度和設備狀態在時間上的聚類類別區分。
將聚類結果取平均值并轉換成溫室時參模型控制模式,如表3。

表3 聚類結果轉換成的溫室時參模型控制模式
表3的結果為對應的時間和溫度狀態下,卷簾機應具有的開關程度。從表3中可見,在溫度較高的27.9℃時,卷簾機的開關程度僅為0.01;在溫度較低的10℃時,卷簾機開關程度達到了0.86;而在溫度適中的17.9℃和13.48℃時,卷簾機開關程度則為相對中間開的0.42和中間閉的0.65;這與采集地的實際情況基本相符。所生成的控制模式需以歸屬于本聚類中心的其他點作為邊界,在實際使用時將實時測得的數據導入控制模式模型中,計算模式進而形成控制決策。
基于K-means的溫室控制模式分析方法采用了機器學習聚類理論,提出了溫室的時參模型控制模式,闡釋了溫室時參模型與控制模式之間的關系,并基于此模型設計了溫室控制模式分析實驗。選取拉薩市智昭產業園的溫室數據作為實數據集,按照時參模型處理數據,根據SSE選取K值,應用K-means聚類對數據集進行聚類分析,轉換成4組溫室控制模式,結果表明應用K-means聚類算法導出的時參模型控制模式符合拉薩市智昭產業園中溫室的工作模式。文章的時參模型分析方法可應用于溫室控制模式的生成,降低了溫室控制模式的提取難度,節約了人力資源,為現代設施農業溫室的控制提供了一種分析思路,給以控制模式為基礎的溫室控制提供了模式的生成方案。