彭 揚,李慶玉,任澤民,劉小翠,鄒黎敏
(1.重慶科技學院數理與大數據學院,重慶 401331;2.重慶工商大學數學與統計學院)
近年來,大數據及人工智能相關技術成為國際競爭的新焦點,引領未來的戰略性技術,世界主要發達國家把大數據、人工智能的發展作為提升國家競爭力、維護國家安全的重大戰略。在2016 年3 月公布的《教育部關于公布2016年度普通高等學校本科專業備案和審批結果的通知》中,北京大學、對外經濟貿易大學和中南大學三所高校首批獲批開設“數據科學與大數據技術”專業,接著,2017年,又有32所高校獲批“數據科學與大數據技術”專業。2018年4月,教育部發布《高等學校人工智能創新行動計劃》后,大量高校成立了人工智能學院,主要目標是培養中國人工智能產業的應用型人才,對應的專業名稱是“人工智能”或者“智能科學與技術”。
上述專業主要的研究對象是數據(data)。數據是事實觀察或記錄的結果,是用于表示客觀事物的未經加工的原始素材,是對客觀事物的一種表現形式,其表現形式多種多樣,比如圖像、視頻、聲音、文字、數值等[1-3]。從人類社會誕生以來,數據就和人類一起出現,如遠古時代人類社會的結繩記事、采摘食物、狩獵數量的計算,再到歷史上各朝各代的人口、土地、錢糧、馬匹、軍隊等各類事項都涉及到大量的數據。21 世紀以來,隨著射頻識別、傳感網、M2M 系統框架、云計算等技術的發展,物聯網誕生了,它被認為可能是繼互聯網之后人類最偉大的技術革命,隨著物聯網的誕生,人類社會能收集到的數據越來越多、越來越大,預計2020-2025 年物聯網設備產生的數據量將以30%的復合年增長率增長。
物聯網數據產生的速度之快、種類之多,推動了“數據即價值”觀念向“有價值數據”這一理念轉變。在海量的數據面前,如何快速尋找到有價值的數據信息,是目前眾多企業決策者所關注的問題。眾所周知,數據挖掘是實現這一目標的有效方法。數據挖掘是指通過計算機算法,從大量的數據中搜索出隱藏于其中的人們感興趣的信息。數據挖掘過程主要包括建立數據挖掘庫、定義問題、準備數據、分析數據、建立模型和求解模型、評價模型和實施等[1-3]。
大數據、人工智能類專業的學生,經常會遇到數據挖掘任務,數據挖掘的核心在于建立模型和求解模型,常用的建立模型和求解模型的方法是利用機器學習方法來分析需要解決的問題,常見的機器學習方法有:決策樹、樸素貝葉斯、人工神經網絡、支持向量機、廣義線性回歸等,在學習這些算法的過程中,常會遇到無約束或帶約束的最優化問題。
最優化算法主要包括線性規劃單純形方法、對偶理論、靈敏度分析、運輸問題、內點算法、非線性規劃KKT 條件、無約束最優化方法、帶約束最優化方法、整數規劃和動態規劃等內容。定理證明和理論推導以數學分析和線性代數為基礎,實用性比較強。其中對偶理論、內點算法、非線性規劃KKT條件、無約束最優化方法和帶約束最優化等方法與大數據、人工智能技術息息相關,但通過系統梳理某地區本科院校數據科學與大數據技術、人工智能等相關專業人才培養方案時發現,只有少數院校有開設最優化方法課程,剩余大多數院校并未開設此課程,說明課程建設者并未真正認識到最優化算法在大數據、人工智能技術中的重要性。
本節中將以兩個實際案例來說明在數據挖掘實施的過程中,掌握最優化算法對數據挖掘任務的重要性。
首先給出第一個案例:某礦場,攝像頭拍下了所有經過這個路口的車輛,礦場關心的問題是,能否在這些車輛中找到裝載沙石的貨車,如圖1所示。

圖1 礦場車輛圖
一個有效的解決方案是:創建簡單的卷積神經網絡和利用遷移學習實現分類,卷積神經網絡是一類包含卷積計算且具有深度結構的前饋神經網絡,是深度學習的代表算法之一,LeNet-5 是最早出現的卷積神經網絡之一,與其他前饋性神經網絡類似,卷積神經網絡需要使用梯度下降、隨機梯度下降等求解無約束最優化問題的算法來進行學習。例如,在很多深度學習框架中,需要設置網絡的各種參數,一段Matlab代碼如下:


其中,sgdm 表示使用帶動量的隨機梯度下降算法求解模型,隨機梯度下降法適用于大規模訓練樣本情況,但隨機梯度下降算法可能沿著下降路徑在最小值附近振蕩,在參數更新中添加動量項是減少這種振蕩的一種方法。此處還可以選擇RMSProp(Root mean square propagation)[4]或Adam[5]來求解模型,選用不同的優化算法對結果有著怎么樣的影響,這就需要對最優化算法進行系統的學習,大致了解各種優化算法之間的區別和聯系。
接下來看第二個案例,重慶市糧食產量預測及其影響因素分析問題。重慶市1978年~2019年糧食產量如圖2 所示,數據來源于2020 年重慶市統計年鑒、中國農村統計年鑒。

圖2 重慶市1999-2019年糧食產量圖
從圖2 可以看出,重慶市歷年糧食產量在800~1200 萬噸之間,波動幅度較大,其中最為嚴重的是從2005年的1168萬噸跌倒2006年的808萬噸,主要原因是2006年5月中旬至9月上旬重慶市遭受了歷史罕見的百年一遇的特大高溫干旱災害,導致全市農作物受旱面積108.63 萬公頃,其中輕旱40.23 萬公頃,重早48.49 萬公頃,雖然2007 年重慶市也遭遇了持續大雨,造成了重慶市糧食產量損失[6-9],但全年的糧食產量比2006 年有大幅度提升,這說明自然災害并不是影響糧食產量的唯一因素。我們需要去尋找影響糧食產量的因素,我們經過分析發現,糧食播種面積、有效灌溉面積、農業機械總動力、農村用電量、農用化肥施用量、農膜使用量、農藥使用量和糧食成災面積等因素對重慶市糧食產量有較大影響。通過收集、整理歷史數據,得到糧食產量及其影響因素之間的函數關系,然后利用這個函數關系和各個影響因素的取值,來預測糧食產量,這有助于政府準確把握糧食綜合生產能力的影響因素及影響程度,同時也是制定提升糧食綜合生產能力措施的一個重要基礎。
一個簡單的想法是,建立糧食產量和各個影響因素之間的線性回歸模型,但實驗效果并不理想,原因可能在于模型假設錯誤,因為線性回歸模型要求數據之間同方差、無自相關、隨機擾動與解釋變量之間不相關、隨機擾動項服從正態分布、不存在多重共線性等,還有可能是糧食產量和各個影響因素之間并不呈線性關系。鑒于此,需要修改模型,如采用支持向量回歸模型、決策樹回歸模型、徑向基神經網絡模型等。下面給出支持向量回歸模型:給定訓練樣本D={( x1,y1),…,( xn,yn)},以期學習得到一個回歸模型,使得f(x)=wx+b 與y 盡可能接近,w 和b 是待確定的模型參數。假設能容忍f(x)與y之間最多有ε的偏差,即僅當f(x)與y之間的差別絕對值大于ε時才計算損失,于是,支持向量機回歸問題可形式化為:

其中,C為正則化常數,Lε是ε -不敏感損失函數。

支持向量機回歸模型的關鍵在于求解參數w 和b,這是一個帶約束的最優化問題,了解求解帶約束的最優化問題的算法對掌握支持向量機有相當大的幫助。當然,也可以利用廣義線性回歸、決策樹回歸或是神經網絡等非線性方法來進行糧食產量的預測,這些方法中也會涉及到經驗風險最小化或是結構風險最小化等優化問題的求解,因此為了更好的運用方法,解決研究中的問題,離不開對最優化算法系統的學習。
通過上面的案例分析可知,在學習機器學習算法或是利用機器學習算法解決實際問題的時候,常常要用到最優化算法,如梯度下降法、牛頓法和擬牛頓法、共軛梯度法、啟發式優化方法、解決帶約束優化問題的拉格朗日乘數法、解決支持向量機訓練過程中所產生的優化問題的序列最小優化算法等,若能較好的理解這些算法的優缺點,對于實際的數據挖掘任務會有較大的幫助,所以,在大數據、人工智能類專業開設最優化算法課程是非常有必要的。