黃發(fā)良,鐘世華,何萬莉
(1.南寧師范大學 a.計算機與信息工程學院;b.新聞與傳播學院;c.馬克思主義學院,廣西 南寧 530001)
大數(shù)據(jù)時代的來臨對人們的現(xiàn)實生活、企業(yè)的運營管理模式提出新的挑戰(zhàn),也帶來新的市場機會。在大數(shù)據(jù)時代,無處不在的智能終端、互動頻繁的社交網(wǎng)絡和超大容量的數(shù)字化存儲,大數(shù)據(jù)已經(jīng)滲透到各個行業(yè),已成為一種生產(chǎn)要素并逐漸發(fā)揮著重要作用,擁有大數(shù)據(jù)系統(tǒng)技術將成為未來競爭的制高點。如何從動態(tài)高速、多模異質與價值比低的海量數(shù)據(jù)中發(fā)現(xiàn)潛在有價值的規(guī)律與知識,并應用于經(jīng)濟生產(chǎn)、行業(yè)管理和社會服務,是一個關系著國計民生的重大課題。在這樣的背景下,數(shù)據(jù)挖掘已經(jīng)成為學術界與工業(yè)界的研究熱點和焦點,數(shù)據(jù)挖掘課程在數(shù)據(jù)科學與工程的人才培養(yǎng)中扮演日益重要的角色[1-5]。
盡管數(shù)據(jù)挖掘課程在高等教育普及度在逐步增長,但在教學內(nèi)容、教學方法和實驗教學模式等方面存在諸多不足,比如培養(yǎng)目標模糊、創(chuàng)新意識薄弱、實驗模式陳舊等等。本研究筆者結合大數(shù)據(jù)特性與數(shù)據(jù)分析理論,對數(shù)據(jù)挖掘理課程的理論教學與實踐教學進行了思考與探究,實現(xiàn)了教學水平和教學質量的提升,培養(yǎng)出更多的能適應大數(shù)據(jù)時代的數(shù)據(jù)挖掘優(yōu)秀人才。
數(shù)據(jù)挖掘課程作為一門理論與實踐緊密結合的交叉學科,具有如下的自身特點:
(1)學科交融性。從技術上講,數(shù)據(jù)挖掘是一個知識發(fā)現(xiàn)的過程,就是從具有模糊隨機、異構低質等不同特性的大量實際應用數(shù)據(jù)中提取人們事先未知卻又潛在實用的隱含信息和規(guī)律的過程。數(shù)據(jù)挖掘挖掘任務往往是一個涉及信息收集、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約、數(shù)據(jù)清理、數(shù)據(jù)變換、模式推導、模式評估與知識表示等不同子任務的迭代過程。從其定義與實施可知,數(shù)據(jù)挖掘是一個與機器學習、數(shù)據(jù)倉庫,統(tǒng)計學,智能決策等多個學科緊密交融的交叉性學科。例如,統(tǒng)計機器學習是非結構化的文本數(shù)據(jù)挖掘中重要方法之一。
(2)理論復雜性。各種數(shù)據(jù)挖掘任務往往可以形式化為不同性質的數(shù)學問題,研究求解這些數(shù)學問題的算法或理解相關數(shù)學問題都需要不同領域的復雜數(shù)學理論。例如,理解數(shù)據(jù)降維算法主成分分析PCA就需要以研究函數(shù)和變換為重點的代數(shù)理論,理解數(shù)據(jù)分類算法決策樹的信息熵需要具備以統(tǒng)計模型和樣本分布為重點的統(tǒng)計學理論,研究數(shù)據(jù)預測模型神經(jīng)網(wǎng)絡中的權重梯度下降算法就需要應用連續(xù)度量空間中的微分理論,優(yōu)化數(shù)據(jù)分類模型支持向量機SVM需要泛函分析理論以理解從有限維空間拓展到無限維空間的映射。
(3)技術前瞻性。信息技術的快速發(fā)展已經(jīng)極大地促進海洋、環(huán)境、太空、能源等不同領域學科的數(shù)據(jù)急劇增長,這些來自不同應用領域、類型豐富的海量數(shù)據(jù)不斷提出新的數(shù)據(jù)挖掘挑戰(zhàn),為了更好地滿足各種新興挖掘需求,研究人員提出了各種新的挖掘模型與算法,數(shù)據(jù)挖掘項目實施者需要跟蹤理解各種新模型與新算法。比如,微博微信、Twitter、Facebook等社交用戶產(chǎn)生了包含視頻、圖像、文本與鏈接等不同模態(tài)的海量數(shù)據(jù),使得傳統(tǒng)挖掘算法難以有效發(fā)現(xiàn)隱藏其中的規(guī)律與知識,海量數(shù)據(jù)的易獲性與算力資源的廉價性促使以神經(jīng)網(wǎng)絡為基本組成單元的深度神經(jīng)模型備受關注,并在社交媒體數(shù)據(jù)挖掘任務上取得了極大的成功。
CDIO(Conceive,Design,Implement,Operate)工程教育模式是近年來國際工程教育改革的最新成果,其提出者是麻省理工學院和瑞典皇家工學院等大學組成的跨國研究組織。CDIO的核心思想是促使學生以主動實踐與課程交融的學習方法學習產(chǎn)品生命周期內(nèi)的工程理論、工程技術與工程經(jīng)驗。具體而言,C(Conceive)就是通過工程實踐讓學生掌握專業(yè)知識的基本原理以確定其發(fā)展方向,D(Design)是圍繞產(chǎn)品設計與規(guī)劃來解決具體問題,I (Implement)就是以制造為核心,組織一體化的課程實踐以提升學生的理論知識儲備與實踐能力,O(Operate)是產(chǎn)品應用的各個環(huán)節(jié)[6-7]。
當前,應用型創(chuàng)新人才培養(yǎng)已經(jīng)引起國家的高度重視,“工程教育認證”和“執(zhí)業(yè)資格認證”的火熱推廣便是明證。極具特色的CDIO教育理念越來越受到教育工作者的重視。史曉楠[8]以校級軟件創(chuàng)新班為例,基于CDIO理念對軟件類創(chuàng)新型人才培養(yǎng)模式進行了研究,設計出一套完整的人才培養(yǎng)模式體系。宮喚春[9]探討了基于CBE和CDIO理念的智能運輸系統(tǒng)實驗教學改革,強調(diào)以學生為中心,以職業(yè)崗位職責能力為導向,并基于校企聯(lián)合開發(fā)的智能交通實踐教學平臺,對智能運輸系統(tǒng)實驗教學進行了項目化設計。張麗娟等[10]探索了“3+1”“2+1+1”人才培養(yǎng)模式,形成了基于OBE-CDIO的教學體系,與企業(yè)聯(lián)合構建了“協(xié)同創(chuàng)新”“聯(lián)合研發(fā)”“合作辦學”“校中工廠”4種協(xié)同育人模式。曾華鵬等[11]以項目為載體,采取分組分崗的形式,在CDIO的產(chǎn)品全生命周期中培養(yǎng)學生綜合運用技能解決實際問題的工程能力。盧愛臣等[12]根據(jù)《計算機程序設計》理論性和實踐性強的學科特點,提出了一種構建以項目為牽引的CDIO開放式“創(chuàng)客”課堂及實踐教學體系,為《計算機程序設計》提供STEMX教育模式參考。劉敬等[13]反向設計各實踐教學環(huán)節(jié),依托CDIO項目式教學,借助設計單元、專項設計和科研項目,構建遞進式實踐教學模式,循序漸進培養(yǎng)學生各項實踐能力。
隨著大數(shù)據(jù)和人工智能的發(fā)展,數(shù)據(jù)思維能力對數(shù)據(jù)挖掘人才的重要性日益凸顯。為了適應新的人才需求,筆者根據(jù)新的學生培養(yǎng)目標與培養(yǎng)方案,對數(shù)據(jù)挖掘課程的教學目標進行了適當更新,以提升學生的數(shù)據(jù)抽象概括、數(shù)據(jù)領域變換、分析工具制作等計算思維能力及綜合運用的能力。具體表現(xiàn)如下幾個方面:
(1)培養(yǎng)學生的數(shù)據(jù)概括能力和數(shù)據(jù)抽象思維,以能夠從整體上理解數(shù)據(jù)和把握數(shù)據(jù)。大數(shù)據(jù)時代的到來,數(shù)據(jù)數(shù)量級一般都是GB級甚至TB級,大數(shù)據(jù)的海量性使得數(shù)據(jù)挖掘教學過程中的“小數(shù)據(jù)講大故事”傳統(tǒng)教學思維難以湊效,由于小數(shù)據(jù)與大數(shù)據(jù)在性質與處理方式上差異顯著。比如,大數(shù)據(jù)往往難以滿足小數(shù)據(jù)分析的“獨立同分布”假設,基于內(nèi)存的小數(shù)據(jù)處理方式難以滿足大數(shù)據(jù)處理需求。習慣小數(shù)據(jù)思維的學生在面對體量巨大的大數(shù)據(jù)時容易出現(xiàn)害怕心理甚至作出放棄的行為。因而,很有必要加強數(shù)據(jù)抽樣、數(shù)據(jù)摘要等理論與技能的教學,提升學生的數(shù)據(jù)概括能力。
(2)培養(yǎng)學生動手制造與正確選擇挖掘任務計算工具的數(shù)據(jù)思維能力。面對一個數(shù)據(jù)挖掘任務,學生容易走向兩個極端方向。其一是,自己動手編程實現(xiàn)一個從輸入到輸出的全過程數(shù)據(jù)分析工具,其二是,完全放棄自己制造的路線,利用現(xiàn)有的開源或商業(yè)軟件來完成數(shù)據(jù)挖掘任務中的每個子任務。顯然,這兩個極端情況都不利于數(shù)據(jù)挖掘工作的順利開展,也不利于真實應用需求的有效解決。因此,需要培養(yǎng)學生的數(shù)據(jù)思維能力,根據(jù)數(shù)據(jù)挖掘任務的實際情況,將自力更生與拿來主義有效結合,實現(xiàn)數(shù)據(jù)挖掘任務效率和效能的最大化。
(3)樹立學生的數(shù)據(jù)即知識與數(shù)據(jù)即財富的觀念。在大數(shù)據(jù)背景下,若擁有足夠強大的算法與足夠規(guī)模的數(shù)據(jù),就有可能從中獲得無法憑直覺或經(jīng)驗能獲取的知識,這些知識可能帶來巨大的財富。幫助學生形成數(shù)據(jù)數(shù)據(jù)即知識與數(shù)據(jù)即財富的觀念,有助于培養(yǎng)學生克服數(shù)據(jù)挖掘難題的信心與韌性。
圍繞制定的教學目標,在數(shù)據(jù)挖掘課程教學過程中,筆者從基礎理論與高級應用兩個層面對教學內(nèi)容進行設定。
基礎理論部分教學內(nèi)容主要依據(jù)數(shù)據(jù)挖掘的基本流程來確定。具體內(nèi)容包括:
(1)數(shù)據(jù)預處理:數(shù)據(jù)缺失填補、噪聲數(shù)據(jù)光滑與異常數(shù)據(jù)刪除等數(shù)據(jù)清洗理論與方法,實現(xiàn)多源數(shù)據(jù)集成實體識別、冗余檢測等理論與方法,基于pearson相關系數(shù)、卡方檢驗與Gini指數(shù)的屬性度測定,基于主成分分析與奇異值分解的數(shù)據(jù)線性轉換理論,基于min-max與Z-Score的數(shù)據(jù)歸一化處理方法。
(2)數(shù)據(jù)關聯(lián)分析:關聯(lián)規(guī)則挖掘中的支持度、可信度、效用度等基本概念,經(jīng)典Apriori算法的基本思想與計算步驟,分析其空間復雜度等方面的不足,基于頻繁模式樹FP-tree的頻繁模式發(fā)現(xiàn)算法FP-growth。
(3)數(shù)據(jù)聚類分析:聚類分析的哲學原理,歐氏距離、海明距離、明氏距離等不同測度方法,聚類有效性測度指標,層次聚類、劃分聚類與密度聚類的基本思想,KMeans算法的核心步驟與復雜度分析。
(4)數(shù)據(jù)分類分析:有監(jiān)督學習的基本原理,分類器訓練過程的欠學習與過學習,基于條件獨立性假設的樸素貝葉斯算法及其優(yōu)缺點,基于統(tǒng)計學習理論的支持向量機及其優(yōu)缺點,基于多數(shù)投票原則的最近鄰算法及其優(yōu)缺點。
(5)數(shù)據(jù)預測分析:數(shù)據(jù)預測與分類的區(qū)別與聯(lián)系,基于神經(jīng)網(wǎng)絡模型的非線性預測算法及其優(yōu)缺點,基于移動算術平均與移動指數(shù)平均的外推型預測方法及其優(yōu)缺點,基于線性回歸模型與動態(tài)回歸模型的因果分析預測方法及其優(yōu)缺點。
高級應用部分的教學內(nèi)容主要是根據(jù)當前流行的信息技術應用場景選擇不同類型的數(shù)據(jù),講授如何將基礎理論知識與具體應用問題相結合,培養(yǎng)學生獨立完成數(shù)據(jù)挖掘實際應用項目的能力。具體內(nèi)容包括:(1)文本數(shù)據(jù)挖掘:理解文本數(shù)據(jù)的非結構化與序列性等特點,掌握文本表示的向量空間模型與TFIDF加權模式,了解基于特征項頻率的文本特征過濾技術,應用支持向量機與樸素貝葉斯進行文本分類。(2)圖像數(shù)據(jù)挖掘:理解圖像數(shù)據(jù)的灰度、通道、紋理、邊緣與區(qū)域等概念,應用KMeans方法完成圖像分割的數(shù)據(jù)挖掘任務。(3)流數(shù)據(jù)挖掘:以傳感數(shù)據(jù)、金融數(shù)據(jù)等為應用場景實現(xiàn)流數(shù)據(jù)的動態(tài)變化、快速到達、體量巨大等特點,應用基于BP神經(jīng)網(wǎng)絡模型完成傳感時間序列預測,應用滑動平均等外推型方法實現(xiàn)金融時間序列的預測。(4)交易數(shù)據(jù)挖掘:理解購物籃等超市交易數(shù)據(jù)的離散特征,應用Apriori與FP-growth算法進行交易數(shù)據(jù)的關聯(lián)規(guī)則挖掘,比較不同挖掘算法的效果以深度認知不同算法的優(yōu)缺點。
在上述教學內(nèi)容的具體實施過程中,始終堅持數(shù)據(jù)思維導向,突出數(shù)據(jù)科學的理論性,通過分析各種算法的優(yōu)缺點與各類數(shù)據(jù)類型的本質特性,引導學生從算法設計、模型改進、框架重構等不同方面進行理論創(chuàng)新。比如,在教學內(nèi)容文本數(shù)據(jù)挖掘的講授過程中,一方面讓學生感受到當前的向量空間模型難以捕捉到文本語義與情感,現(xiàn)有基于淺層表示模型的算法很難有效提升文本分類的性能,另一方面從文本數(shù)據(jù)的序列特性出發(fā),引導學生嘗試引入LSTM、GRU等深度遞歸神經(jīng)網(wǎng)絡模型,構建新的基于深度學習的文本分布式表示機制,實現(xiàn)基于數(shù)據(jù)思維的理論創(chuàng)新。
在上述教學目標的驅動下,筆者在進行數(shù)據(jù)挖掘課程的教學過程中,根據(jù)教學內(nèi)容提出了一系列的教改措施,主要包括理論教學、實驗教學與考核方式三個方面的教學方法創(chuàng)新。
3.3.1 理論教學創(chuàng)新
(1)重視新篇章導入課的設計。若導入課設計不當則可能導致學生無法理解待講授的教學內(nèi)容的價值及其與已學知識之間的關系,從而導致學習目標不清晰、方向不明確的不良情形。筆者在設計每個教學章節(jié)的導入課時,都是在數(shù)據(jù)思維培養(yǎng)目標指引下,以具體應用場景中的數(shù)據(jù)挖掘需求為課堂導入點,用具體案例喚起學生的興趣與熱情。比如,在導入數(shù)據(jù)關聯(lián)分析理論時,首先引導學生觀測到超市的牙膏緊鄰牙刷、沐浴露緊鄰洗發(fā)水等商品陳列現(xiàn)象,然后提問這種商品擺放背后的原因,學生立即熱情高漲地探索超市是如何發(fā)現(xiàn)這種巧妙的盈利模式,最后展示超市交易數(shù)據(jù),進一步激發(fā)學生學習關聯(lián)分析的興趣。
(2)提高課堂教學師生互動的多樣性。數(shù)據(jù)挖掘算法的理論性比較強,涉及數(shù)學、統(tǒng)計學與控制學等不同學科的知識,若只是采用傳統(tǒng)的教師單方面講授方式則可能增加學生接受知識的難度,也容易導致學生學習挫敗感的產(chǎn)生。在概念理解、公式推導與定理證明的過程中靈活采用啟發(fā)式、討論式和交互式等多種方式教學,教師在課堂上穿針引線般地評述一些重點、難點的知識,學生進行分組討論,迭代實現(xiàn)相關理論的理解。譬如, 在講授樸素貝葉斯算法時,筆者首先帶領學生回顧概率論中的條件概率、獨立同分布等基本知識,然后簡述先驗概率與后驗概率的計算方法,最后學生分組討論最大后驗的數(shù)學意義與物理意義及基于最大后驗概率的樸素貝葉斯分類器的訓練過程。
(3)加強算法流程的樣例講解,以具體的簡單數(shù)據(jù)樣例來講解算法運行過程中的關鍵步驟。數(shù)據(jù)挖掘算法相對比較復雜,若只是進行文字講解,學生難以把握其中的關鍵環(huán)節(jié),這會制造學生深度理解算法思想的障礙,不利于后續(xù)的實驗教學。譬如,在講解關聯(lián)規(guī)則挖掘算法Apriori的流程時,以具體交易數(shù)據(jù)來說明候選項集的產(chǎn)生過程與基于支持度的頻繁項集生成過程,輔助學生理解造成Apriori算法空間度過高的原因,有助于學生形成新的改進思路。通過這些教改措施,提升了學生對數(shù)據(jù)挖掘課程的興趣度,夯實了學生理解與改進現(xiàn)有算法所必需的數(shù)學基礎。
3.3.2 小結
筆者依托北京航空航天大學研發(fā)的信息類專業(yè)教學云平臺CourseGrading(www.educg.net.cn)與weka(www.cs.waikato.ac.nz/ml/weka)等開源數(shù)據(jù)挖掘軟件,提出了線下編程和線上操作相互結合、理論算法實現(xiàn)與商業(yè)應用實踐相互印證的實驗教學方法,根據(jù)實驗內(nèi)容將實驗任務劃分為驗證性實驗、實操性實驗與應用性實驗三個層次,對不同層次的實驗項目實施教學方法。(1)驗證性實驗項目主要包括主成分分析法PCA、關聯(lián)規(guī)則挖掘算法Apriori、分類算法KNN與聚類算法kmeans。利用weka軟件自帶的數(shù)據(jù)集體驗算法的計算機制,通過調(diào)整算法參數(shù)體驗算法對參數(shù)的敏感性,通過在同一算法參數(shù)配置下計算不同規(guī)模數(shù)據(jù)集的計算結果以使學生體會算法復雜度的意義,進而加深算法優(yōu)缺點的理解,為后續(xù)的應用性實驗打下良好的基礎。(2)操作性實驗項目主要是在云平臺CourseGrading上以線上方式進行實戰(zhàn)環(huán)境訓練,學生自己根據(jù)實驗項目的輸入要求從UCI數(shù)據(jù)集市中選擇合適的實驗數(shù)據(jù)集,或者通過一些數(shù)據(jù)預處理方法對所選取得數(shù)據(jù)執(zhí)行轉換、規(guī)約、降維等操作,以完成實驗數(shù)據(jù)的準備工作,然后要求學生利用數(shù)據(jù)進行模型訓練與評估,以此加深訓練集、驗證集與測試集等概念的理解,體驗交叉驗證與模型選擇的價值,培養(yǎng)學生基于拿來主義的算法選型能力。(3)應用性實驗是以培養(yǎng)學生發(fā)現(xiàn)問題、分析問題與解決問題的綜合能力,應用性數(shù)據(jù)挖掘任務的工作量往往比較大,一般單個學生難以獨立完成,筆者根據(jù)學生自愿組合的方式將實驗班級分成若干個4人小組,在完成相關應用性數(shù)據(jù)挖掘項目時實行小組組長負責制下的組內(nèi)成員協(xié)作管理方式,這一方面培養(yǎng)學生個體獨立專研的能力,另一方面培養(yǎng)學生的團隊協(xié)作能力。以社交媒體情感分析為例,來說明應用性實驗的教學方法。首先引導學生利用現(xiàn)有的爬蟲工具或者自編網(wǎng)絡爬蟲程序來完成數(shù)據(jù)采集工作,尋找合適情感詞典,然后指導學生借助TFIDF模型獲得文本的淺層表示,鼓勵有專研能力的學生學習GRU、LSTM、Text-CNN等適用于序列表示學習的深度模型,在情感分析上,提供適用于文本情感分析的有監(jiān)督學習、無監(jiān)督學習與半監(jiān)督學習等不同思路,學生根據(jù)自己對問題的認識作出選擇,最后鼓勵學生尋找相關可視化開源庫對小組的情感分析結果進行展示。通過上述三個層次的實驗教學,學生不但可以理解數(shù)據(jù)挖掘算法的具體原理,而且通過在云平臺上的實際操作練習更加深刻地體會到數(shù)據(jù)挖掘技術實踐應用的魅力。
3.3.3 考核方式創(chuàng)新
課程考核成績主要由理論考核與實驗考核兩部分組成,分別占總成績的50%。理論考核是通過開卷或閉卷形式的考試來完成。實驗考核是由指導教師評價與小組成員互評二部分構成。小組成員根據(jù)本組每位成員在實驗過程中的分工情況與對實驗內(nèi)容完成的貢獻度進行成績評價,占實驗成績的30%。教師通過每個學生提交的實驗總結書面報告進行成績評價,占實驗成績的70%。
隨著人工智能和大數(shù)據(jù)技術的發(fā)展和應用,數(shù)據(jù)挖掘人才的需求持續(xù)高漲?,F(xiàn)有的數(shù)據(jù)挖掘課程教學方法難以適應高等教育內(nèi)涵發(fā)展的新要求。本研究借助CDIO 理念,從教學目標、教學內(nèi)容與教學方法三個方面入手,圍繞新時代人才培養(yǎng)目標,在數(shù)據(jù)挖掘理論知識傳授與實驗教學模式設計分別進行探索,理論與實踐緊密結合,推動課程建設和課程教學改革。教學實踐證明了所提出的教改措施是行之有效的。