魏燚偉
(中國石油大學(北京)克拉瑪依校區,新疆 克拉瑪依 834000)
在大數據時代的背景下,數據挖掘技術引起了信息產業界的極大關注,其主要原因是存在大量可廣泛使用的數據,并且迫切需要從這些數據中獲取有用的信息和知識。為了使高校畢業生能夠滿足信息產業界的需要,數據挖掘課程已逐漸成為計算機專業培養方案中的專業選修課之一。數據挖掘作為一門兼具理論性和實踐性的課程,對于提高計算機專業學生編程實踐能力和理論創新能力都能起到積極作用。同時,如何在授課過程中充分的考慮理論與實踐的結合是數據挖掘課程的難點問題,也是目前課程授課面臨的關鍵和核心問題。
數據挖掘課程的核心教學理念是使學生能夠掌握數據挖掘的基本概念和經典算法。在學習本課程后,學生能依據具體算法實現簡單的數據挖掘實例編程。目前,課程的教學模式主要以線下授課為基礎,同時結合學生自主練習,但這種授課模式在理論教學和實踐教學上均存在著不足之處。
數據挖掘涉及多方面的基礎理論學科和應用性強的技術領域,其核心算法包括神經網絡法、決策樹法、遺傳算法、粗糙集法、模糊集法、關聯規則法等。而數據挖掘課程作為計算機專業的一門專業選修課,能夠分配給任課教師的學時量只能滿足基本教學要求。課時量的不充足會導致兩個問題:(1)授課內容無法完全覆蓋數據挖掘核心算法(2)算法的授課深度無法滿足信息產業界的需要。
目前課程的授課模式往往使用大量的學時去講授數據挖掘的基礎算法,實踐教學方面主要是使學生通過上機完成某一算法的編程實驗。這一教學模式側重于以理論教學為主,實踐教學主要依賴于學生自身的學習能力和編程能力[1]。而對于不同學習能力和編程能力的人而言,簡單地上機實驗往往很難達到理想的效果,使得學生在利用數據挖掘算法解決實際問題時捉襟見肘,這也與產業界的需要背道而馳。
數據挖掘的線下教學都是按照固定的流程進行授課[2],首先講解算法的思路,然后利用編程語言實現具體算法。而這樣的教學過程過于僵化,單一的算法分析和實踐無法使學生充分理解算法的核心思路。通過多種算法的對比來進行授課才能幫助學生理解數據挖掘算法的精髓。例如,對于數據挖掘中的經典糖尿病數據集,我們不僅可以利用概率模型進行疾病分析,同時還可以利用非概率模型進行分析,這樣就可以形成對概率模型和非概率模型的比較。受到課時量和教學大綱的限制,線下教學很難實現這樣的對比授課過程。
針對上述線下教學模式在數據挖掘課程開展過程中出現的問題,嘗試線上教學與線下課堂教學相結合的混合教學模式。傳統的線上線下混合教學模式只是將部分線下課程搬移到線上進行授課,而沒有對線上授課內容和線下授課內容進行區分[3]。這種模式對于理實結合較弱的課程能夠取的良好的效果。但是,數據挖掘課程是一門理論性和實踐性都很強的課程,簡單的將部分授課內容搬移到線上,無法從根本上解決數據挖掘課程所面臨的的問題。分析線上和線下授課的特點可以發現,線下授課的特點在于學生能夠及時的和老師進行互動[4],而線上授課的特點是內容的可回溯性強。針對兩者不同的特點,可以分別結合不同的授課內容進行授課。例如,對于互動性強的線下授課可以只講授課程的理論內容,而對于可回溯性強的線上授課可以只講授課程的實踐內容。采用這種“線上+線下”和“理論+實踐”的二維混合式教學方法能夠對數據挖掘課程教學起到積極的作用。
計算機專業數據挖掘課程在線下教學模式中,為”每周兩次線下教學,共八周三十二學時”。其中包括以教師講授為主的“理論講解”,以及以學生實踐練習為主的“上機實踐”。而三十二學時的授課時間很難同時兼顧理論和實踐的學習。因此,理論式線下教學方法的核心思想是在三十二學時的線下授課過程中只講授課程的理論內容,教師只需要考慮如何高效的完成理論教學。針對數據挖掘課程教學中理論創新意識缺乏的問題,理論式線下教學過程中可以嘗試通過以下三個方面進行改善。
區分課程算法種類, 數據挖掘算法的本質內容都是基于數學原理展開的,其中可能會用到高等數學,線性代數以及概率論等。因此,如何使學生能夠理解算法中隱藏的數學原理是至關重要的。教師可以人為的將數據挖掘算法歸納為不同的種類進行授課。例如,數據挖掘核心算法可以分為概率模型和非概率模型[5],教師可以首先完成所有基于概率模型的算法授課,然后再完成基于非概率模型的算法授課,最后再對概率模型和非概率模型做一個整體的比較。這樣可以幫助學生深入的理解數據挖掘算法中對應的數學原理,同時也能夠培養學生的理論創新能力。
區分教學內容難易度,將數據挖掘中的算法劃分成基礎算法和進階算法。根據教學班學生的整體情況,選擇合適算法進行授課。同時,授課過程中的核心思路還是以講解基礎算法的原理為主,并有意識的讓學生接觸一些更加前沿的進階算法。例如,教師首先要講解一些簡單的分類算法,包括但不限于K近鄰算法、決策樹算法、樸素貝葉斯算法和SVM算法等。在學生能夠掌握這些基礎算法后,可以再給學生延伸一些進階算法,包括EM算法、隱馬爾科夫模型和條件隨機場等。
建立科教統一的教學方式,目前,KDD、ACM等信息科學領域的頂尖國際會議都將數據挖掘作為重要的內容展開研討。由此可見,數據挖掘課程是一個需要培養學生理論創新能力的課程。為了培養學生的創新能力,教師不能只單單的講解數據挖掘的基礎算法,而是需要引導學生從思路上對基礎算法進行拓展。例如,對于無監督學習中的聚類算法,教師可以在平時作業中讓學生思考如何實現小樣本集的聚類過程。同時,教師還可以引導學生進行數據挖掘的文獻調研,讓每個學生選擇自己感興趣的方向撰寫調研報告,這樣也可以培養學生的科研興趣,并為以后的科研工作打下基礎。
實踐式線上教學方法的核心思想是將所有的編程實驗課均放到線上進行授課,教師將錄制好的實驗案例發布到在線課堂上,學生通過在線課堂進行學習并提交實踐作業。這種授課模式主要包含以下幾個優點:
所有錄制的實驗案例均存儲在在線課堂,學生可以通過注冊賬號并加入教師開設的課堂隨時瀏覽自己想要實現的案例,這樣能大大的降低學生在復現案例過程中出現問題而無法解決的情況。
學生可以通過瀏覽不同案例的視頻對不同的算法進行橫向比較,從而更加深入的理解算法的原理,而這在線下課堂是無法實現的。
學習和實踐能力強的學生可以把自己實現案例的方法和視頻中教師實現的方法進行比較分析,并在線下跟教師進行討論。這樣既能提高學生學習知識的興趣,又能培養學生潛在的科學素養。
除了以上的優點之外,實踐式線上教學還需要解決以下幾個問題。
在任何計算機專業的課程教學中,案例的作用都尤為重要,數據挖掘課程更是如此。因此,如何能夠收集充足且準確的案例供學生在線學習是實踐式線上教學必須要考慮的問題。從目前的教學經驗來看,教師很難對所有數據挖掘核心算法進行新案例的收集。因此,教師在案例編寫過程中需要參考經典的數據挖掘實踐案例。目前,國內外已經存在很多經典數據挖掘案例參考書,教師可以根據所帶班級學生情況自主選擇適合的書籍進行案例編寫。除了參考經典案例之外,教師還需要根據當前社會熱點問題進行新案例的編寫。例如,教師可以針對新冠疫情進行數據收集,并將收集到的數據和某個數據挖掘算法進行結合來制作相應的案例。通過融入新的案例,能夠幫助學生了解目前數據分析的發展趨勢,同時也可以提高學生的學習興趣。
教師在錄制案例的過程中,無法及時獲取學生的反饋,因此,如何保證錄制案例的有效性是一個必須考慮的問題。對于錄制內容方面,教師可以在錄制前先自行擬定好錄制手稿,并進行多次校對,以保證錄制案例的準確。同時,教師還可以將錄制好的案例分別讓不同層次的學生進行觀看,獲得學生們的意見反饋,并針對意見進行視頻內容的調整以保證錄制的案例能滿足絕大多數學生的需求。對于錄制效果方面,教師可以借鑒MOOC網在線教學視頻的錄制方式以及錄制手法,通過學習MOOC視頻并結合自身的錄制條件來調整案例的錄制過程。
針對每個在線案例,學生都需要復現案例流程,并提交源代碼作為日常作業的一部分。但這也面臨一個問題,部分學生直接摘抄在線案例中教師實現的案例代碼而沒有經過自己的思考。為了保證多數學生都經過獨立思考完成案例復現,規定學生在復現案例過程中必須對算法核心代碼加入自己理解的注釋。同時,任課教師需在線下隨機抽取學生對自己復現的案例進行口頭解釋。
本課程采用“平時案例作業+期末報告”的評價體系,平時案例作業和期末報告評價并重,按照各50%的占比得出總評分。這里要著重說明,數據挖掘課程的期末考核沒有采用傳統的閉卷考核方式,主要考慮到閉卷考核無法突出數據挖掘課程中實踐的重要性,最終很可能會出現學生為了應付考試而盲目背概念的情況。同時,為了保證學生理解和掌握算法的理論知識,期末報告中會讓學生首先分析題目中所用算法的核心原理,然后再完成案例的代碼編寫,最后還要求學生寫出題目中算法可能的改進思路。例如,期末報告題目為“基于支持向量機的乳腺癌疾病分類”,學生首先要用自己的理解去描述支持向量機的原理,包括線性支持向量機、非線性支持向量機和核函數等,然后學生需要根據乳腺癌數據集完成案例的代碼編寫,在這個過程中學生還需完成核函數的選擇以及測試結果的驗證分析等,最后學生還需要通過對支持向量機的理解回答支持向量機在樣本種類數量存在較大偏差時應如何改進算法。通過這種“梳理算法+完成案例+總結改進”的報告考核方式驗證學生的應用實踐能力和理論創新能力在本輪的二維混合式教學過程中是否得到提升。
目前,數據挖掘技術已經在社會經濟文化發展中起到了非常重要的作用。隨著大數據技術的不斷迭代更新,數據的體量以及數據的形式都在產生日新月異的變化。因此,數據挖掘技術也會隨著大數據技術的更迭而不斷的更新,社會各領域的大量應用使得對數據挖掘這門課程的實踐應用能力要求越來越高,同時需要學生具有良好的理論創新能力,而傳統的線下教學模式普遍存在重理論輕實踐的問題。基于此,我們提出了“線上+線下”和“理論+實踐”的二維混合式教學設計方案,并將其應用到實際課程的教學當中。該教學方案以線下理論式教學為基礎,結合線上實踐式教學為補充,從而達到在培養學生工程實踐能力的同時,提高其思維創新能力。