徐新洲 魏建香 李燕
摘? ?要:面向本科生機器學習課程的開展正得到越來越多的關注,本文針對本科生機器學習課程,首先闡述了其與多課程的聯(lián)系、內容的復雜性、面向學生群體的多樣性;進而根據(jù)這些特點,提出了機器學習課程在大學本科教學活動中順利開展的要點。
關鍵詞:機器學習? 大學本科課程? 教學
Abstract:There is increasingly more attention on investigating to arrange the course of machine learning for undergraduate students currently. Focusing on the undergraduate machine course, this paper introduces the relation to various other courses, the complexity of the course, and the various sorts of students. Further based on these topics, we explain how to arrange the machine learning course properly for undergraduate teaching.
Key Words: Machine learning; Undergraduate course; Teaching
隨著大數(shù)據(jù)和人工智能時代的來臨,我們可以通過賦予機器智能,達到更深層次的自動化,并且可以通過獲得生活方式、生產效率、人類自身素質的進一步提升。實現(xiàn)這些的基礎就是要對這一學科方向進行深入、透徹,并且持續(xù)不斷的研究,所以需要高校為社會提供充足的從事相關學科方向的人才儲備。因此,為了實現(xiàn)這一目的,高校必須提供完善有效的一整套人工智能和大數(shù)據(jù)處理方面課程的培養(yǎng)方案。而機器學習(Machine Learning)作為一門著重研究理論的跨學科課程,它的開設具有重大意義[1],能夠對計算機軟件技術、信號處理技術、物聯(lián)網(wǎng)技術、大數(shù)據(jù)與云計算等領域的發(fā)展起到承上啟下的關鍵作用[2-3]。
然而,由于機器學習課程自身的特性,例如與多學科重疊交叉、內容門類復雜等[4-5],它針對大學本科學生教學活動的開展必然有一定的特殊性,而且與其他多個課程存在較強的聯(lián)系和差異;課程自身的體系內容復雜并在不斷更新;課程面向的本科學生受眾具有特殊性和差異性。因此,需要根據(jù)這些特點,對面向本科生開設的機器學習課程進行針對性的設計,從而確保課程教學工作能夠高效有序地開展。
本文首先分析了機器學習課程的一些主要特點,根據(jù)這些特點提出了該課程針對大學本科學生的開展方案,最后給出了對本科機器學習課程開展的總結和展望。
1? 機器學習課程的特點
1.1 機器學習與其他多個課程的關系
在機器學習的教學過程中,尤其要注意與其他多個相關課程的聯(lián)系與區(qū)別,例如數(shù)據(jù)信息處理類課程、人工智能類課程,以及一些工具類課程等。
(1)機器學習與數(shù)據(jù)信息處理類課程的關系。
數(shù)據(jù)信息處理類課程,如數(shù)據(jù)挖掘、圖像及多媒體信號處理等,集中于在數(shù)據(jù)端針對特定的數(shù)據(jù)集,制定專門性的處理方案。而機器學習相比于這類課程,立足于構建更高層次的模型構建方案,即對不同的數(shù)據(jù)情況提供具有共性的解決方式。
(2)機器學習與計算機工具類課程的關系。
計算機工具類課程,如各種程序設計語言,集中于介紹各類計算機語言的具體語法規(guī)則,為機器學習的實現(xiàn)提供了保障;而一些最新工具或手段的引入,也促進了機器學習研究的普及。因此,學好一至二門工具類先修課程能夠有效地促進機器學習課程的開展。
(3)機器學習其他相近課程的關系。
與人工智能、模式識別等課程相比,機器學習的研究點較為明確和具體,而模式識別是可以通過機器學習實現(xiàn)的目標,人工智能則是眾多具體目標的匯集,是一個寬泛的概念;與算法設計等課程相比,機器學習主要解決模型的構建問題,而不對模型快速和有效的求解進行過多闡釋。
1.2 機器學習課程內容的復雜性
機器學習課程的知識體系結構主要可以分為基本概念介紹、模型構建和求解、編程實踐這三個方面。其中基本概念包括數(shù)據(jù)預處理與特征獲取、機器學習的任務簡介,以及機器學習的評價準則;模型構建作為機器學習的關鍵內容,旨在根據(jù)不同的機器學習思想生成相應的模型,需要在課程中重點講授;模型求解主要涉及最優(yōu)化理論、數(shù)值計算等數(shù)學領域,在本科課程中不做過多的要求;而編程實踐則要求學生能夠針對實際問題,提供有效的解決方案并加以實施。
作為機器學習中最關鍵的部分,傳統(tǒng)意義上的模型構建主要包括推理與決策模型、線性模型及其非線性化、基于距離的模型、概率統(tǒng)計模型等[6],這些內容集中于介紹簡單模型的學習構建。而目前以深度學習為代表的復雜模型構建正在現(xiàn)實應用中起到越來越重要的作用[7-8],這就要求課程講授的重點稍向最新的研究進展傾斜,但同時又要立足于課程的本質和經典方法。
1.3 機器學習課程面向學生群體的多樣性
在學生的知識層次方面,研究生需要研究機器學習理論中的具體算法,并掌握如何改進和提升性能;而本科生對機器學習知識的需求集中于利用現(xiàn)有的模型解決實際問題,對理論創(chuàng)新性要求并不高,而是要重點提升學生的實踐能力。
在學生的主修專業(yè)學科方面,機器學習主要面向計算機和自動化類專業(yè),但信息工程、通信工程、網(wǎng)絡工程、生物醫(yī)學工程等專業(yè)的學生同樣需要具備一定的機器學習基礎技能,以更好地將理論知識運用到實際中。
2? 機器學習課程的教學活動開展
2.1 根據(jù)其他相關課程合理安排教學
對于先修課程,線性代數(shù)以及高等代數(shù)(包括矩陣論)內容能夠幫助理解算法的數(shù)學推導,在教學過程中需要補充必要的矩陣運算知識。概率論和隨機過程的相關內容是理解概率模型以及貝葉斯學習的必要條件,在教學中要及時補充貝葉斯法則、概率分布模型、馬爾可夫鏈等知識。此外,還要補充最優(yōu)化理論、算法設計等相關內容,這樣才能有效保證知識的連續(xù)性。
對于語言工具類課程,C、Java等中層次語言的學習能夠為機器學習中算法模型的學習提供幫助,而Python、Matlab等高級工具的熟練使用能夠對課程實踐方面的開展提供有力的保證。在教學中,重要算法的偽代碼盡量符合使用學生熟悉的編程語言;同時結合教學演示,讓學生盡快熟悉機器學習中常用工具的語法規(guī)則。
對于相近課程,在機器學習教學中要在教學重點、教學形式方面有所區(qū)別,需要注意的是機器學習課程的教學要重點關注模型的建立和分析。對于數(shù)據(jù)挖掘課程,偏向于數(shù)據(jù)集的應用背景;而對于模式識別課程,其重點在于介紹具體的算法。例如,在機器學習、模式識別、數(shù)據(jù)挖掘課程中都有聚類分析(Clustering)的相關內容,機器學習偏向于對各聚類模型進行分析,模式識別課程側重于介紹具體的常用聚類算法,而數(shù)據(jù)挖掘課程則注重聚類方法在大數(shù)據(jù)集中的應用。
2.2 根據(jù)內容使用適當?shù)姆绞街v授
針對機器學習課程包含的基本概念介紹、模型構建和求解、編程實踐三方面的內容,在教學過程中需要采用不同的授課形式。
對于基本概念介紹,在授課過程中需要仔細講授,為課程的學習打好基礎。在敘述的基礎上,結合實際例子進行解釋。例如,在講授監(jiān)督學習、無監(jiān)督學習、半監(jiān)督學習時,可以結合圖像目標識別等應用場景;在講授擬合回歸評價標準時,可以結合時間序列預測的相關應用。
對于模型構建和求解,不僅要結合實例,還需要對模型進行形象化的演示,加深學生對模型的理解。例如,在講授神經網(wǎng)絡和深度學習(Deep Learning)時,要結合生物學科對算法的啟發(fā)特性;在講授支持向量機(Support Vector Machine;SVM)時,需要結合優(yōu)化形式,動態(tài)演示支持向量隨松弛變量的變化;在講授決策樹算法時,可以使用數(shù)字邏輯電路課程中的基本知識進行類比。
對于編程實踐,首先,既要使學生對多種編程工具有初步的了解,又要培養(yǎng)學生利用特定工具實現(xiàn)機器學習算法的能力,即在淡化編程工具的同時也要訓練學生的工具學習能力;其次,在編程實踐中培養(yǎng)學生的數(shù)據(jù)分析和觀察能力,在結果出現(xiàn)問題時利用已知知識分析問題出現(xiàn)的原因并自己解決問題;最后,需要培養(yǎng)學生的創(chuàng)新思維,根據(jù)實驗結果的變化思考方法、參數(shù)等方面的變化規(guī)律并加以改進。
2.3 針對學生情況進行區(qū)分型教學
不同于研究生教學中以研究探索性教學為主的情況,對于本科生的機器學習課程需要兼顧課程的實用性和研究性。
其一,本科生的機器學習的教學中應尤其注重實踐能力的培養(yǎng),即教會學生如何根據(jù)所掌握的基本知識,來實現(xiàn)機器學習算法并對結果數(shù)據(jù)進行有效的分析,即將教學的關注點放在實驗處理和系統(tǒng)實現(xiàn)方面,例如對于深度學習,在理論方面只需要學生理解算法的基本思想,而在實踐方面則要求學生掌握常用工具包的有效調用;其二,本科生在理論基礎方面,相對于研究生來說較為薄弱,需要補充的先修和基礎知識也相對較多,所以對于機器學習本科課程來說要注意補充知識與課程本身知識所占用時間的比例,既要講授必要的補充知識,又要注意保證課程主體的講授不受顯著影響。
此外,面向不同專業(yè)學生開設的機器學習課程也應有所區(qū)別。對于計算機和自動化類把該課程作為主干課程的學科,需要加深對理論推導方面的要求,并加強對編程實踐方面的要求;對于生物、地理、通信、電子、醫(yī)學、心理學等需要具有機器學習方面儲備知識的學科,要關注實踐中主要工具在本領域內的熟練使用;而對于數(shù)學、物理等以該課程作為興趣擴展?jié)撛诜较虻膶W科,需要在教學中關注對學生興趣的激發(fā)。
3? 結語
本文首先分析了機器學習大學本科課程的一系列特點,并在此基礎上分別在相關課程聯(lián)系、教學內容、區(qū)分教學等方面,給出了面向本科生開展機器學習教學活動的一些相應措施和建議。后續(xù)工作需要在課堂教學實施和課程實踐層面,更進一步給出有效的教學經驗。
參考文獻
[1] 鄧志鴻,謝昆青.機器學習課程的教學實踐——以北京大學“智能科學與技術”本科專業(yè)為例[J].計算機教育, 2016(10):18-19.
[2] 曲衍鵬,鄧安生,王春立,等.面向機器學習課程的教學改革實踐[J].計算機教育,2014,223(19):88-92.
[3] 曾憲華,李偉生,于洪.智能信息處理課程群下的機器學習課程教學改革[J].計算機教育,2014,223(19):60-62.
[4] 李勇.本科機器學習課程教改實踐與探索[J].計算機教育,2015(13):63-66.
[5] 姚興華,吳恒洋,方志軍,等.新工科背景下機器學習課程建設研究[J].軟件導刊,2018(1):221-223.
[6] Flach, Peter. Machine Learning: The Art and Science of Algorithms that Make Sense of Data[M]. Cambridge University Press, 2012.
[7] Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning[M]. MIT press, 2016.
[8] Raschka, Sebastian, and Vahid Mirjalili. Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2[M]. Packt Publishing Ltd, 2019.