◎程繼洪 王紅艷 (山東省煙臺市煙臺南山學院)
機器學習是大數(shù)據(jù)技術(shù)、數(shù)據(jù)科學、人工智能等專業(yè)的必修課程,是現(xiàn)代計算機教育的熱門課程。高職院校的機器學習教育也發(fā)展得如火如荼。那么,如何把握高職學生的特點,做好高職教育中的機器學習教學,是本文探論的重點。
高職院校大部分學生的基礎比較薄弱,尤其是數(shù)學和英語,而這些恰恰又是機器學習的基礎。數(shù)學主要用來描述模型(算法)的原理,英語主要用在學習編程語言,兩者在機器學習中的地位非常重要。這就形成一個非常尖銳的矛盾;一方面,機器學習課程需要學生擁有良好的數(shù)學和英語基礎;另一方面,學生的數(shù)學和英語基礎卻比較薄弱。
要解決這一主要矛盾,就必須進行學情分析。教學分為兩個方面;教與學。首先,分析一下學生的具體情況。
基礎教育不單單是掌握高等教育所需要的基礎知識,更重要的是培養(yǎng)學習習慣、學習方法和思維方式。許多高考生失敗的直接原因就是沒有養(yǎng)成良好的學習習慣,沒有掌握有效的學習方法以及正確的思維方式。
學生上課“只帶”耳朵,“不帶”腦子。只是機械地聽老師講話,而抓不住老師講的重點,總覺得一堂課下來老師說的全是廢話,殊不知知識點全藏在這些“廢話”里,只是學生不擅于發(fā)現(xiàn)并學習而已。前面的知識點沒有學會,直接影響后續(xù)的學習,這就形成了一個惡性循環(huán),最終導致學生失去學習興趣和動力。
正確的學習方法應該是掌握知識—總結(jié)考試規(guī)律—尋找應對方法。首先,學生應該掌握基本的知識點。其次,研究知識點考查的方式和方法,也就是考試規(guī)律。再次,針對每種考查方法尋找解決策略,總結(jié)每種題型的解決方法。只有掌握了正確的學習方法,才容易在考試中取得好成績。
每個學科都有其特有的學習方法。如果不具備科學的學習方式,就會造成“不能以科學的方式組織思維材料(學過的知識)解決面臨的問題”。也就是說,有些考生可能已經(jīng)掌握了必要的知識,卻不能用知識解決實際問題,原因就是沒有形成科學的思維方式。
以上就是教學中“學”的學情分析,那么面對這樣的學情,“教”應該怎樣應對呢?簡單概括為三個方面;宏觀與微觀相結(jié)合;抽象與具體相結(jié)合;必要的重復。
感知機是機器學習中最為簡單的算法之一,從感知機開始學習,難度小,學生易于接受。學會感知機對后續(xù)的機器學習算法有參考和指導作用,利于后續(xù)內(nèi)容的教學。所以,以感知機為例討論高職機器學習的教學方法。
宏觀指的是“大范圍的,涉及整體的”,微觀指的是“小范圍的或部分的”。學生在學習過程中容易犯的錯誤就是太專注于細節(jié)的學習,而忽略了宏觀上的知識點之間聯(lián)系的把握,造成學過的東西“一盤散沙”,不能聯(lián)系起來綜合使用。同時還會造成知識點學習困難。以感知機的實現(xiàn)代碼為例,雖然只有25行,但學生還是很難理解。
如何才能讓學生掌握感知機的實現(xiàn)代碼呢,我們可以采用宏觀與微觀相結(jié)合的方法。首先,從宏觀上根據(jù)感知機的實現(xiàn)原理將實現(xiàn)分為“求輸入信號”“擬合”(也稱為學習)和“預測”三大部分。此外為了能在計算機中實現(xiàn)這一算法,就必須在執(zhí)行前使計算機處于一個“需要”的狀態(tài),這一過程稱為“初始化”。這樣就可以將感知機的實現(xiàn)歸納為四個組成部分,如圖1所示。
圖1 感知機的宏觀結(jié)構(gòu)
也就是說,宏觀上感知機實現(xiàn)由這四部分組成,即初始化、輸入信號、擬合和預測。有了宏觀上的指導,學生可以更好地掌握知識點。
所謂的微觀結(jié)構(gòu)可以是指宏觀結(jié)構(gòu)中的每一部分詳細細節(jié)。為了節(jié)約篇幅,只對感知機最難于理解的部分——擬合(也稱為學習)過程進行討論。
感知機的擬合比較簡單,對于每個樣本只需要做以下兩步;計算機樣本xi的預測值?;更新權(quán)重。更新權(quán)重的公式如下;
η為學習率,其值為[0.0,1.0]之間的一個常數(shù)。i指樣本的編號,wj表示第j個特征的權(quán)重系數(shù)。根據(jù)對感知機“微觀結(jié)構(gòu)”的分析,總結(jié)得到的感知機如圖2所示。具體的實現(xiàn)過程在抽象與具體相結(jié)合中進行討論。
圖2 感知機的宏觀+微觀結(jié)構(gòu)
抽象指的是“因無形而看不見的”,具體是指“不抽象,不籠統(tǒng),細節(jié)很明確”。抽象的東西不具體,不好理解,其優(yōu)點在于指導性。具體指的是細節(jié),有具體的形態(tài),易于理解。對于感知機的實現(xiàn)而言,如果僅憑這些抽象的描述,學生很難明白感知機的實現(xiàn),因此,需要將這些抽象的東西變成具體的,也就是每個功能(步驟)落實到代碼上是如何實現(xiàn)的。下面僅以擬合為例討論抽象與具體的實施過程。
擬合(或?qū)W習)的過程是這里面最難的,但實現(xiàn)也僅有兩步,也就是實現(xiàn)式1-1和式1-2。學生難于理解的地方在于矩陣(向量)相乘,雖然這些知識在數(shù)學中已經(jīng)學習過,但大部已經(jīng)遺忘,所以必須在這里重復講解,關(guān)于“必要的重復”在下節(jié)討論。擬合的過程;計算每個樣本xi的預測值?;更新權(quán)重。所以這里必定有一個循環(huán),以計算數(shù)據(jù)集中每個樣本的預測值?,具體實現(xiàn)如圖3所示。
圖3 感知機抽象+具體實現(xiàn)過程
根據(jù)心理學家測試,一個單詞經(jīng)過7次重復識記,就可形成永久記憶。所以重復是保證學生學習效果的法寶。下面以Python數(shù)組(列表)廣播為例進行說明。
擬合實現(xiàn)的過程中,self.w_[1;] +=update * xi這條語句,大部分學生都難以理解。所以,對于這條語句在授課時必須重復且詳細地講解它的執(zhí)行過程。廣播機制其實很簡單,就是將相同的運算分別作用于數(shù)組中的每一個元素,只要掌握了這一點,這條語句就非常容易理解了。整條語句的執(zhí)行過程如圖4所示。
圖4 語句self.w_[1:] +=update * xi廣播執(zhí)行流程
按圖4所示,self.w_的更新流程就很清楚了。self.w_[1]=0.2+0.01*0.1,self.w_[2]=0.4+0.01*0.3,依次類推,將self.w_中的每個系數(shù)都更新一遍,這就是Python數(shù)組的廣播機制。
本文從高職生的學習現(xiàn)狀出發(fā),針對現(xiàn)狀給出了相應的對策。以感知機為例對“宏觀與微觀相結(jié)合”“抽象與具體相結(jié)合”和“進行必要的重復”進行了詳細討論具體教學實施過程。高職院校機器學習教學是個探索的過程,因此高職院校的教師需根據(jù)實際情況不斷進行總結(jié)和反思,以提升機器學習教學效果。※