王 婧
(淮北師范大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 淮北 235000)
當(dāng)前人工智能技術(shù)環(huán)境優(yōu)越,具有智能家居、推薦系統(tǒng)、語義識(shí)別等廣泛應(yīng)用場(chǎng)景。機(jī)器學(xué)習(xí)作為該技術(shù)的基礎(chǔ)與核心內(nèi)容,前沿性和實(shí)用性極高,是計(jì)算機(jī)技術(shù)專業(yè)、應(yīng)用數(shù)學(xué)等專業(yè)的熱門方向,能夠?yàn)閷W(xué)生的深造或就業(yè)提供助力。目前,機(jī)器學(xué)習(xí)課程常見于各大平臺(tái)的網(wǎng)絡(luò)特色課、研究生專業(yè)課的課程系統(tǒng)中。
部分高校將機(jī)器學(xué)習(xí)的課程設(shè)置在本科學(xué)習(xí)階段。然而,機(jī)器學(xué)習(xí)課程具有內(nèi)容體系性差、方法龐雜、理論知識(shí)層次高、課程難度大以及實(shí)操要求高等特征。此外,各高校學(xué)生的基礎(chǔ)水平參差不齊,學(xué)校課程設(shè)置情況不一,課程的教學(xué)背景大相徑庭。因此,根據(jù)教學(xué)情況設(shè)計(jì)教學(xué)內(nèi)容是必要的。機(jī)器學(xué)習(xí)方法眾多,方法之間的相關(guān)性和連接關(guān)系較少,根據(jù)學(xué)生的先導(dǎo)課內(nèi)容和教學(xué)資源設(shè)計(jì)課程內(nèi)容是可行的。以專題項(xiàng)目的模式進(jìn)行教學(xué),一方面可以加強(qiáng)設(shè)計(jì)部分,靈活平衡學(xué)生的學(xué)習(xí)能力水平、先導(dǎo)課水平、認(rèn)知水平不一的問題,另一方面可以將一個(gè)項(xiàng)目的完整流程呈現(xiàn)出來,讓學(xué)生對(duì)數(shù)據(jù)科學(xué)的整體有一個(gè)判斷和了解。
機(jī)器學(xué)習(xí)方法是數(shù)學(xué)學(xué)院、計(jì)算機(jī)學(xué)院以及新興人工智能學(xué)院于大數(shù)據(jù)相關(guān)專業(yè)培養(yǎng)方案中設(shè)置的課程。課程前期要求學(xué)生對(duì)人工智能、概率統(tǒng)計(jì)、計(jì)算復(fù)雜性理論、控制論、信息論等學(xué)科知識(shí)有所了解,以便組建數(shù)據(jù)科學(xué)知識(shí)結(jié)構(gòu),進(jìn)而理解模型。因此,為了給學(xué)生打下良好的課程學(xué)習(xí)基礎(chǔ),學(xué)校通常在大學(xué)二年級(jí)之前開設(shè)機(jī)器學(xué)習(xí)課程的先導(dǎo)課。機(jī)器學(xué)習(xí)先導(dǎo)課來源眾多,普通學(xué)生沒有精力獨(dú)自完成全部?jī)?nèi)容,需要在實(shí)體課堂和相互討論中完成系統(tǒng)的學(xué)習(xí)。另外,由于機(jī)器學(xué)習(xí)方法不依賴單種編程語言,教師可以根據(jù)學(xué)校機(jī)房的條件組建符合機(jī)器學(xué)習(xí)實(shí)操環(huán)境的實(shí)驗(yàn)室。因此,單純從學(xué)校教育環(huán)境方面來看,機(jī)器學(xué)習(xí)的本科教育具有打基礎(chǔ)、可實(shí)踐的特征。
另外,考察社會(huì)環(huán)境中的機(jī)器學(xué)習(xí)資源,部分學(xué)習(xí)平臺(tái)能夠整合針對(duì)特定項(xiàng)目的學(xué)習(xí)材料,材料涵蓋教程、視頻、源代碼和商用學(xué)習(xí)產(chǎn)品。相較其他前沿科技學(xué)習(xí)環(huán)境,機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)資源相對(duì)趨于成熟。截至2019 年12 月,中國(guó)大學(xué)MOOC 國(guó)家精品在線學(xué)習(xí)平臺(tái)有564 599 人次關(guān)注機(jī)器學(xué)習(xí)相關(guān)課程和將近300 個(gè)神經(jīng)網(wǎng)絡(luò)課程項(xiàng)目。知乎平臺(tái)的機(jī)器學(xué)習(xí)專欄有106 萬人次關(guān)注,4 萬問答,1 000 精華內(nèi)容。CSDN(Chinese Software Developer Network)平 臺(tái) 有448 個(gè)機(jī)器學(xué)習(xí)相關(guān)的學(xué)院組織,單個(gè)學(xué)院組織的最高學(xué)習(xí)量達(dá)到10 萬人次。此外,還有專業(yè)技術(shù)專家和教師做知識(shí)分享,比如微軟人工智能學(xué)院專家尹成分享的Sicikit-Learn,中國(guó)地質(zhì)大學(xué)、浙江大學(xué)等分享的完整課程。從材料內(nèi)容上來看,網(wǎng)絡(luò)具有成為當(dāng)代大學(xué)生獲取機(jī)器學(xué)習(xí)相關(guān)知識(shí)可靠渠道的條件。
由于社會(huì)上的資源是面向大眾的,因此網(wǎng)絡(luò)課程有如下幾個(gè)缺點(diǎn):①學(xué)生學(xué)習(xí)習(xí)慣偏向課堂和書本教學(xué),不熟悉網(wǎng)絡(luò)學(xué)習(xí)模式,學(xué)習(xí)效率低下;②網(wǎng)絡(luò)課程門檻低,主講人水平不一;③主講人工作背景不一,學(xué)生難以從海量的課程中選擇適合自己基礎(chǔ)的課程。因此,為學(xué)生量身打造的大學(xué)課程仍然承擔(dān)著機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí)教育的主要任務(wù)。
文獻(xiàn)[3]提出以案例驅(qū)動(dòng)或者問題導(dǎo)向的教學(xué)方法,這種方法的出發(fā)點(diǎn)是好的,但是沒有注意到,以實(shí)際問題為出發(fā)點(diǎn)的課程內(nèi)容會(huì)更加復(fù)雜。因?yàn)闄C(jī)器學(xué)習(xí)算法具有強(qiáng)大的靈活性,一個(gè)問題有多種處理方法,且方法往往對(duì)應(yīng)不同的先導(dǎo)知識(shí)領(lǐng)域,這要求學(xué)生有較高的學(xué)習(xí)水平。而且,這種情況降低了學(xué)生理解完整知識(shí)點(diǎn)的可能性。以發(fā)現(xiàn)關(guān)聯(lián)規(guī)則類的項(xiàng)目為例,圖1 列舉了關(guān)聯(lián)規(guī)則中幾個(gè)方法的先行課和對(duì)應(yīng)的核心知識(shí)點(diǎn)。各分圖之間并無交叉項(xiàng),如果對(duì)類別的問題設(shè)計(jì)進(jìn)行全面系統(tǒng)的講解,需要準(zhǔn)備2~3 個(gè)課時(shí)的專題。這些課時(shí)需要分別介紹圖中的知識(shí)點(diǎn),由于教學(xué)重點(diǎn)過于分散,且其中的神經(jīng)網(wǎng)絡(luò)方法還可以用于異常檢測(cè)類型的問題,如果再次拿出神經(jīng)網(wǎng)絡(luò)方法的知識(shí)點(diǎn)作為專題,反而會(huì)重復(fù)課時(shí),造成課時(shí)浪費(fèi)的問題。否則,只能打亂問題導(dǎo)向的結(jié)構(gòu),仍然按照一個(gè)方法一個(gè)小專題,單個(gè)小專題花費(fèi)1~2 個(gè)課時(shí)的順序結(jié)構(gòu)進(jìn)行講述。
圖1 關(guān)聯(lián)規(guī)則中方法的核心內(nèi)容與先導(dǎo)課結(jié)構(gòu)
文獻(xiàn)[4]提出根據(jù)基礎(chǔ)流程結(jié)構(gòu)增刪知識(shí)點(diǎn)的課程設(shè)計(jì)方案。該方案將重點(diǎn)分散在理論教學(xué)和項(xiàng)目練習(xí)兩個(gè)部分。在課程學(xué)時(shí)有限、學(xué)生水平有限的前提下,將大量的時(shí)間放在項(xiàng)目實(shí)踐上會(huì)引發(fā)學(xué)生自主延長(zhǎng)自學(xué)時(shí)間,也無法保證學(xué)生能夠自行夯實(shí)機(jī)器學(xué)習(xí)的基礎(chǔ)理論。另外,在大多高校課時(shí)有限、本科生水平有限的情況下,單個(gè)項(xiàng)目的訓(xùn)練周期過長(zhǎng)、練習(xí)的項(xiàng)目數(shù)量過少,無法令學(xué)生的實(shí)踐能力產(chǎn)生質(zhì)變。這與最初設(shè)計(jì)靈活教學(xué)架構(gòu)的目標(biāo)相背馳。
綜合以上討論,靈活化的教學(xué)內(nèi)容設(shè)計(jì)只適合學(xué)習(xí)能力強(qiáng)、課時(shí)時(shí)間長(zhǎng)的高校學(xué)生,大部分高校的學(xué)生反而不適應(yīng)這種方案。因此,普通高校的本科機(jī)器學(xué)習(xí)教育最重要的是要為學(xué)生提供系統(tǒng)完善的課堂內(nèi)容,保證基礎(chǔ)教育的完善。
從學(xué)校課程設(shè)置的特點(diǎn)來看,機(jī)器學(xué)習(xí)的教學(xué)內(nèi)容包含理論教學(xué)和實(shí)驗(yàn)教學(xué)的部分。該課程的理論龐雜且獨(dú)立。各個(gè)學(xué)習(xí)方法在模型準(zhǔn)備和模型評(píng)價(jià)部分的方法較為統(tǒng)一,可以進(jìn)行集中教學(xué),然而在模型訓(xùn)練方面的知識(shí)點(diǎn)相互獨(dú)立,并且知識(shí)點(diǎn)對(duì)應(yīng)的先行課往往來源于不同課程,這種特性加重了理論教學(xué)環(huán)節(jié)困難程度,也會(huì)影響學(xué)生對(duì)機(jī)器學(xué)習(xí)的興趣,因此為了減少不必要的理論阻力,教師有必要根據(jù)學(xué)生對(duì)于先導(dǎo)課的掌握安排學(xué)習(xí)順序。本次選取聚類、單變量決策樹、支持向量機(jī)和神經(jīng)網(wǎng)絡(luò),將其需要的先行知識(shí)點(diǎn)列為表1。
表1 機(jī)器學(xué)習(xí)方法與先導(dǎo)課關(guān)系
根據(jù)表1 討論課程的內(nèi)容安排順序。聚類作為一種易于理解的算法,可以作為教學(xué)內(nèi)容的第一個(gè)專題。由于在建立模型的過程中不需要先導(dǎo)課,在做專題時(shí)可以連帶加入樣本空間、數(shù)據(jù)清理、降維、交叉驗(yàn)證、歸納偏好、泛化能力等普適性基礎(chǔ)概念術(shù)語,由此展示一個(gè)完整機(jī)器學(xué)習(xí)處理數(shù)據(jù)的流程,為學(xué)生形成全局觀。接下來可以專注于各個(gè)模型建立的方法,根據(jù)學(xué)生先導(dǎo)課的上課進(jìn)度,先安排上過先導(dǎo)課,或者對(duì)應(yīng)知識(shí)點(diǎn)只應(yīng)用到先導(dǎo)課基礎(chǔ)概念的部分。比如單變量決策樹模型,其生成邏輯和思考選擇邏輯類似,在這個(gè)階段只需要講解信息熵的知識(shí)點(diǎn),后續(xù)內(nèi)容都易于理解。支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)都涉及最優(yōu)化和概率論的較多重要知識(shí)點(diǎn)。由于一般的計(jì)算機(jī)學(xué)院不會(huì)在教學(xué)編排過程中考慮最優(yōu)化作為必修課,因此只能在課堂補(bǔ)充相關(guān)知識(shí),比如最優(yōu)化基礎(chǔ)模型、正則化概念、約束設(shè)置問題。此外,概率論作為各大理工學(xué)院的基礎(chǔ)課,為神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)的教學(xué)提供了良好的條件。由于機(jī)器學(xué)習(xí)是應(yīng)用性質(zhì)較強(qiáng)的學(xué)科,為了鞏固學(xué)生的理解,仍然需要在課前集中從先驗(yàn)概率和后驗(yàn)概率在數(shù)據(jù)統(tǒng)計(jì)中的作用、貝葉斯理論在估計(jì)數(shù)據(jù)中的作用等應(yīng)用角度集中講述。
機(jī)器學(xué)習(xí)是一個(gè)理論緊密聯(lián)系實(shí)踐的學(xué)科。然而,僅僅以實(shí)現(xiàn)某個(gè)算法為目標(biāo)的實(shí)驗(yàn)教學(xué)對(duì)學(xué)生實(shí)戰(zhàn)能力鍛煉的提高程度有限。在互聯(lián)網(wǎng)開源代碼和Python 強(qiáng)大庫(kù)的影響下,最大的阻礙是,如果實(shí)驗(yàn)題庫(kù)不及時(shí)更新,學(xué)生更傾向于拷貝代碼而非自主思考。比如在學(xué)習(xí)過聚類的基礎(chǔ)步驟之后,學(xué)生對(duì)聚類的算法形成大體的了解。在實(shí)驗(yàn)過程中,直接調(diào)用Python 的scikit-learn就可以直接得到聚類函數(shù),之后只需要了解如何調(diào)參,就可以讓學(xué)習(xí)者初步使用聚類方法。在這種情況下,如果不加以干擾,在學(xué)習(xí)聚類算法的道路上,有極大比例的學(xué)生止步于此,不能形成更深入地理解。這就導(dǎo)致之后再次遇到這個(gè)應(yīng)用場(chǎng)景時(shí),學(xué)生對(duì)應(yīng)用的細(xì)節(jié)把控能力較弱。所以在實(shí)驗(yàn)教學(xué)加大設(shè)計(jì)而非驗(yàn)證的實(shí)驗(yàn)比例,并為學(xué)生指出算法的改進(jìn)方向是有必要的。
圖2 實(shí)驗(yàn)設(shè)計(jì)流程
固定實(shí)驗(yàn)設(shè)計(jì)流程如圖2 所示。主題分成A、B、C、D 等4 個(gè)流程,分別是數(shù)據(jù)預(yù)處理、數(shù)據(jù)集劃分、訓(xùn)練模型、模型分析與反饋。其中A和B 兩個(gè)部分的知識(shí)點(diǎn)雜亂無章,對(duì)經(jīng)驗(yàn)依賴性強(qiáng)。A 流程接觸最初的數(shù)據(jù)集,大小有數(shù)十G 以上,人工分析比較困難。這時(shí)候可以通過Pandas和 NumPy 庫(kù)來實(shí)現(xiàn)求最大最小值、修改字段、條件選擇、構(gòu)建數(shù)據(jù)框架、清理分散的亂碼字段的任務(wù)。數(shù)據(jù)清理的方式?jīng)Q定了模型的精度和泛化能力,這是實(shí)訓(xùn)過程中最考察設(shè)計(jì)能力的一環(huán)。然而教程中的數(shù)據(jù)多是干凈數(shù)據(jù),A 也是最容易忽略的一環(huán)。
數(shù)據(jù)清理完成后,就要面對(duì)根據(jù)數(shù)據(jù)類型選擇模型的任務(wù)。如在西瓜數(shù)據(jù)集3.0 中,樣本中有離散值和連續(xù)值兩種屬性。首先,可以選擇映射規(guī)則,將離散值轉(zhuǎn)化成連續(xù)值,進(jìn)而選取適合連續(xù)值的模型。其次,也可以選擇多變量的決策樹算法。最后,可以采用按照數(shù)據(jù)類型分別建模的方法,并通過集成學(xué)習(xí)的方法得出結(jié)論。教師應(yīng)在這一環(huán)節(jié)充分體現(xiàn)機(jī)器學(xué)習(xí)算法實(shí)驗(yàn)的設(shè)計(jì)性,為學(xué)生打開思路,以一個(gè)問題或者數(shù)據(jù)集為實(shí)驗(yàn)對(duì)象而不是以某個(gè)方法為練習(xí)對(duì)象。
為了證明設(shè)計(jì)內(nèi)容的有效性,設(shè)計(jì)一組對(duì)比實(shí)驗(yàn)。目前,設(shè)計(jì)有2 組學(xué)生,第1 組的9 人基于機(jī)器學(xué)習(xí)教程的順序?qū)W習(xí)理論,并將教程中的數(shù)據(jù)作為實(shí)驗(yàn)對(duì)象;第2 組的9 人根據(jù)文中提出的順序進(jìn)行理論學(xué)習(xí),理論學(xué)習(xí)結(jié)束后,再以原始數(shù)據(jù)集為實(shí)驗(yàn)對(duì)象做練習(xí)。
為了測(cè)試學(xué)生的學(xué)習(xí)水平,設(shè)計(jì)如下考核:首先,由課堂小測(cè)的平均分得到理論成績(jī)。然后,根據(jù)每次實(shí)驗(yàn)題結(jié)果的精度進(jìn)行打分,得到每位同學(xué)的實(shí)驗(yàn)成績(jī)。最后,在期末考試時(shí),由教師從MINST 數(shù)據(jù)集設(shè)題,要求學(xué)生描述解決問題的思路,并給出驗(yàn)證集的輸出結(jié)果。教師判斷思路是否完善,并根據(jù)驗(yàn)證集的正確率給出綜合考核分?jǐn)?shù)。
為了體現(xiàn)同一水平學(xué)生在不同教學(xué)思路下的成果,本文按照4-3-3 比例加權(quán)計(jì)算得到最終成績(jī),并根據(jù)最終成績(jī)分?jǐn)?shù)對(duì)學(xué)生進(jìn)行升序排序,編號(hào)越靠后越優(yōu)秀。然后將1、2 組成績(jī)歸納到同一張雷達(dá)圖中,得到結(jié)果如圖3 所示,用灰色和黑色分別表示兩組學(xué)生的成績(jī)。
圖3 兩組學(xué)生成績(jī)的雷達(dá)圖
由圖3 可見:①第2 組的第1、2 位學(xué)生(較差)表現(xiàn)優(yōu)于第1 組,說明本文提出的教學(xué)方法能夠明顯提升22%差生的學(xué)習(xí)能力;②從第6位學(xué)生起,學(xué)生差距不明顯,表明較優(yōu)秀的學(xué)生對(duì)教學(xué)方法的敏感度不高。
以往對(duì)于機(jī)器學(xué)習(xí)方法的分類大都是基于數(shù)據(jù)和模型的性質(zhì),如樣本是否有標(biāo)簽、模型是否為線性可分等,這些分類方法固然對(duì)讀者產(chǎn)生框架層面的幫助,但對(duì)未接觸過機(jī)器學(xué)習(xí)及相關(guān)先導(dǎo)課的學(xué)生來說,是在用未了解的概念來規(guī)劃未了解的概念,對(duì)數(shù)據(jù)項(xiàng)目的流程和細(xì)節(jié)把控不牢。
從先導(dǎo)課知識(shí)出發(fā),總體將機(jī)器學(xué)習(xí)算法歸納成數(shù)據(jù)處理基礎(chǔ)+部分先導(dǎo)知識(shí)格式的框架,能夠讓學(xué)生對(duì)機(jī)器學(xué)習(xí)理論的交叉性和實(shí)驗(yàn)部分的靈活性有深入的理解。另外,這種框架還方便學(xué)生按照先導(dǎo)課知識(shí)點(diǎn)對(duì)自己的預(yù)備知識(shí)系統(tǒng)查漏補(bǔ)缺,減輕自學(xué)的負(fù)擔(dān),更能體現(xiàn)大學(xué)教學(xué)中教師“教”和學(xué)生“學(xué)”的有機(jī)結(jié)合,提高了機(jī)器學(xué)習(xí)課程在大學(xué)環(huán)境的適應(yīng)力。