
摘 要:文章通過對目前“數據挖掘”課程教學中存在問題的調研,結合實際工作中的見聞與思考,并匯總相關文獻的研究結論,提出解決教學中所存在問題的整體方案。該方案可歸結為以“理論”、“數據”、“代碼”為核心的TDC教學模式,從而提出一種大學數據挖掘課程的新式教學方法。
關鍵詞:數據挖掘 任務驅動法 TDC教學模式
中圖分類號:F222 文獻標識碼:A
文章編號:1004-4914(2015)05-253-02
一、引言
數據挖掘作為一門新興的學科,是高等數學、統計學以及數據庫技術等交叉發展的產物,它廣泛應用于商業、工程、醫學、農學等諸多領域。隨著我國社會經濟的發展,各行業信息化程度不斷提升,產生了可供分析挖掘的海量數據。因此,如何充分利用這些數據并從中提煉有價值的信息,成為學術界日益關注的焦點問題。近年來,為緊跟社會發展的步伐,國內外高校紛紛開設數據挖掘課程,該課程具有鮮明的時代特點和較強的實用性,受到了學生們的廣泛歡迎,但又由于課程內容復雜、模型眾多、理論較抽象、對數學基礎要求較高,在教學過程中也暴露出一些問題,主要表現為:
一是課程理論部分內容特別豐富,且呈不斷膨脹趨勢,如果不適時地改革傳統教學方式,新內容將使學習者應接不暇,對授課教師也形成不小的壓力。
二是適合于課堂教學并且生動有趣的實例數據相對較少。由于有價值的數據資源大多存在于金融、電信、保險等行業,而這些數據往往涉及行業機密,因此,尋找合適的數據資源以供課堂教學使用并非易事。
三是適合于課堂教學使用的示例程序相對較少。目前可以呈現數據挖掘效果的軟件有不少,可方便地從輸入數據中挖掘出結果,適合于商業使用,但對于以學習原理為目的的學生而言并無補益。
針對上述諸多問題,一些教學研究者從不同的角度提出了改革建議,如:覃義(2012)提出數據挖掘的教學應與實驗相結合,并且應與驗證式的實驗形成區別,避免給學生提供數據而讓學生按照步驟進行挖掘的方式,以培養學生的實踐能力;王麗麗(2013)提出以CDIO(構思、設計、實施、運作,Conceive, Design, Implement,Operate)理念為指導,以CDIO過程為主導,以項目驅動法為方法,改革課程教學方式,對教學目標、教學內容、教學方式進行重設,增加項目教學,實踐證明,上述改革舉措能有效培養學生思考和主動學習的能力、提升工程實踐和團隊合作能力。而黃嵐(2014)從教學資源的角度出發,提出通過構建三大類挖掘資源庫以輔助教學的模式。但這些新的改革方案都是從某一特定角度出發,解決了當前數據挖掘教學中存在的某些具體問題,具有局限性,正如李衛華(2014)指出,項目驅動法僅適用于小班化教學,當班級人數超過50時,該方法無法順利開展,其局限性顯而易見。
為了對數據挖掘課程的整個教學模式進行根本性、徹底性的變革,筆者經過反復思考,結合與授課同學交流的體會,提出一種T(理論,Theory)、D(數據,Data)、C(代碼,Code)相結合的新式教學方法。T為大綱規定的理論性內容,D為精心準備的各行業案例數據,C為實現具體算法的程序代碼。該教學法讓同學們在編程實戰中學會并掌握數據挖掘的基本理論,同時還初步掌握1~2門編程語言。整套改革方案包括如下相互聯系的幾個組成部分。
二、重設課程教學大綱
當前,數據挖掘課程教育界有一套公認為標準的教學大綱,是2006年由美國計算機學會數據挖掘專門興趣小組(ACM SIGKDD)擬定的。SIGKDD的大綱從數據庫、數據預處理、統計推理等8個方面入手,將課程教學內容分為基礎和高級兩個專題。其中,基礎部分包括:導論、數據預處理、數據倉庫與OLAP、關聯規則與頻繁模式挖掘、分類、聚類與孤立點分析、時間序列與序列模式、文本與Web挖掘、數據挖掘的可視化、數據挖掘應用10章;高級部分包含基礎部分后9章的全部內容,另外還引入了更復雜的算法及數據流挖掘、時空與多媒體數據挖掘等內容。
可見,大綱規定的內容,特別是高級專題部分,具有隨社會發展不斷膨脹的特點,而本文所提出的教學改革方案,是以不增加課堂教學總學時為前提的。不僅如此,還將考慮增加程序設計部分的講授內容,由此要求對“標準版”大綱的內容實施裁減,新的大綱以“讓學生掌握基本的數據挖掘理論”為前提,適當刪減理論部分的內容,增加課程實踐部分的學時。例如,在決策樹分類算法部分,介紹ID3算法這一典型即可,對其變種C4.5可交給同學自學,綜合而言,對標準版大綱的重新組織方案可參看表1。
按照這種方案對教學內容刪減之后,并不會削弱同學們對數據挖掘基本理論的理解,這是由于這些算法中,所保留的基本算法或原型算法往往能體現某一大類算法的本質特點,而所刪減部分的內容只是在細節問題上和原型算法有一些差異,無關算法的核心內容,這就解決了Theory部分的教學問題,而利用所節余的時間,輔以程序實現(Code)的教學,反過來還能進一步夯實所學的理論,加深理解。
三、全方位多角度改革教學方式
(一)搜集有價值的案例數據
數據在數據挖掘課程中的重要性也許是所有課程中最重要的,2014年,學者黃嵐專門研究了課程數據資源庫的建立之于課堂教學的重要意義。為取得良好的教學效果,激發學習熱情,須要精心選擇一批好的案例,搜集一批具有一定規模的數據,避免紙上談兵。例如,用于頻繁模式發現的數據,其事務條數至少應達到上百或以上規模,才能體現本課程的價值。當然,這些實例數據的來源應當真實可靠,有說服力,并且和社會普遍關注的問題有一定相關性,這樣才能更好地抓住受眾的眼球。例如在講授時間序列分析時,可采集一批股票或期貨市場的價格數據。為做好數據準備工作,任課教師團隊須要投入一定的時間精力與學術界、企業界交流,爭取他們在數據上對大學教學工作的支持。
(二)選擇合適的輔助學習軟件
傳統的教學方式側重于講授理論,為加深對理論的理解,會有一些書面練習,但是數據挖掘課程的特點決定了其數據規模往往較龐大,因此通過計算器和草稿紙的傳統演算方式來完成計算任務并不切實際,因而亟待引入專門的計算軟件輔助挖掘工作的開展。
目前能勝任數據挖掘任務的程序并不少見,如馬守東(2013)所推薦采用的SAS軟件,以及曾垂省(2014)在教學中使用的Clementine軟件。但是,這些軟件設計的初衷是為了解決工業上的數據挖掘實際問題,而非為了輔助教學,對教學而言,這些軟件的弊端是過于“重量級”。另一方面,其工作方式往往是,經過簡單的參數配置,同時確保輸入數據格式符合要求,即可在短時間內輸出挖掘結果。如此過程對于學生而言無異于黑箱操作,學習者無法深入領會挖掘算法的原理、來龍去脈,因而無助于培養動手實踐能力,副作用很明顯。
另一種可能考慮的方案是選擇諸如Java、C、C++之類的主流程序設計語言,但是如果選擇它們,同樣會有一些問題,如:上述高級語言的學習本身即是一個復雜的過程,如果在課堂上講解語言本身,可能會沖淡課程的主題,顧此失彼。而如果不講,則對于沒有經過有效訓練的同學,難以在短時間內掌握,徒增對課程的畏懼心理;課程學習對象未必是接受過專門訓練的計算機專業同學,甚至并不具備程序設計基礎,因此受眾的軟件開發能力可能參差不齊,由此會帶來教學效果的大打折扣。
例如,對于經管類專業本科生而言,數據挖掘的教學內容對他們有著較強的吸引力,但相對薄弱的計算機編程基礎卻使他們對課程望而卻步,因此選擇一款合適的軟件開發工具很有必要,這樣的工具既能有效地體現算法的內涵,展現整個算法實現過程的全貌,又能相對比較直觀,不需要具備底層的計算機知識即可快速上手,易學易用。筆者在教學實踐中發現,由MathWorks公司推出的科學計算軟件matlab符合上述要求,使用matlab輔助課程教學,效果良好。近年來,一款和matlab有著類似風格的統計工具軟件R語言逐漸風靡起來,并且在數據挖掘界也受到好評,又由于它相對matlab更輕量級且開源、免費,因此可以預料R同樣能夠勝任數據挖掘的輔助教學任務。
(三)引入豐富的現代教學方式
數據挖掘屬于新興的信息技術類課程,目前,優質教師資源匱乏,適合本科生使用的優秀參考書也不多見,并且課程的鮮明特點是:西方發達國家的數據挖掘技術領先于我們,其教學工作也比我國更有成效。為此,可充分利用網絡資源,將分散在互聯網上的優秀材料匯集起來,引薦給同學,包括原版的電子教材、課件甚至教學視頻;還可以開通微信公共號或群,在公共平臺上一方面可以推送反映數據挖掘技術最新進展的科技短文,激發同學興趣和學習熱情,還可以利用平臺開展課程答疑,增強同學們對課程的認同感、向心力;為彌補課堂教學學時的不足,可利用提供翻轉教學的MOOC平臺,將某些知識點翻轉到課前講授、在課中僅作答疑或實踐。
(四)改革課程考核方式
課程的考核須要體現學生對基本原理、基本理論的了解掌握程度和應用能力,因此,對本課程而言,如果將考卷設計成記憶概念、代入公式這樣的風格,并不合適;同樣,基于數據規模的考慮,傳統的集中考查方式也無法勝任,一道題的計算工作量可能耗費數小時。在一些類似課程中,教師們往往采用“大作業”或“完成某具體任務”的方式來檢查學生掌握知識的水平,但這種開放式的檢查方式難以防范舞弊行為,會帶來不公平。因此,如何科學地評判同學接受知識的真實水平成為一個難題,一個初步設想是,考慮設計出基于數據挖掘的課程考評系統,利用同學們上機時所采集的信息,如點擊、停留時間等,結合平時測驗成績建立模型,最終獲得每個同學的合理分數。當然,這項工作目前還處于設想階段,其可行性如何有待進一步論證。
四、結束語
為解決數據挖掘課程教學中遇到的一系列問題,本文提出一種基于TDC模式的教學新方法。但數據挖掘畢竟是一門新興課程,本文所提的方法其效果究竟如何,還有待實踐的檢驗。注意到高校課程表中存在這樣一些課程,如“運籌學”、“人工智能”、“模式識別”等,雖然與“數據挖掘”內容不同,但其共同點是理論性強、內容抽象、需要案例展現、需要程序實現。因此了解和借鑒這些課程相關專家教授的先進經驗,為我所用,不失為提高教學效果的可行方法。
本文提出的TDC模式中,一個值得注意的細節問題是T和 C的比例分配問題。如果過多強調程序設計的語法、方法、技巧會喧賓奪主,而少了又達不到應有的效果。因此,如何科學地規劃理論授課和編程實踐的比例,才能獲得最佳的教學效果,這是一個值得進一步深入研究的問題。
參考文獻:
[1] 覃義,楊丹江,劉憶寧.《數據挖掘》本科教學的體舍與創新.科技信息,2012(10)
[2] 王麗麗.CDIO視角下項目驅動法在“數據倉庫與數據挖掘”教學中的應用.電子商務,2013(9)
[3] 黃嵐.數據挖掘課程實踐教學資源庫建設.計算機教育,2014(12)
[4] 李衛華.數據挖掘與數據倉庫教學改革探討.惠州學院學報, 2014(12)
[5] SIGKDD.Data Mining Curriculum:A Proposal.2006; Available from:http://www.sigkdd.org/curriculum/index.html.
[6] 馬守東,龔永峰.關于數據挖掘課程教學探索.電腦編程技巧與維護,2013(24)
[7] 曾垂省.生物信息學專業之數據挖掘教學實踐與思考.廣東化工, 2014(7)
(作者單位:浙江財經大學信息學院 浙江杭州 310018)
(作者簡介:石向榮,工學博士,講師,研究方向:數據挖掘和分析。)
(責編:賈偉)