杜振鑫
(安徽財(cái)經(jīng)大學(xué)管理科學(xué)與工程學(xué)院,安徽 蚌埠 233030)
隨著各行各業(yè)技術(shù)的發(fā)展,這個(gè)時(shí)代的數(shù)據(jù)量已經(jīng)發(fā)生跨越式的增長(zhǎng)[1,2]。大數(shù)據(jù)技術(shù)的出現(xiàn)很好地解決了大量數(shù)據(jù)的計(jì)算問(wèn)題,數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)也成為一門非常重要的課程。但是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)教學(xué)存在抽象、難于理解的問(wèn)題。傳統(tǒng)教材大多采用算法加例題的講授模式,雖然表述嚴(yán)謹(jǐn),卻不利于教學(xué)。覃鳳萍[1]提出問(wèn)題引導(dǎo)+案例教學(xué)法,高建瓴[3]提出問(wèn)題驅(qū)動(dòng)教學(xué)模式,這些方法都是通過(guò)案例進(jìn)行教學(xué),能夠有效降低學(xué)生的學(xué)習(xí)難度。但是這些方法也存在一定缺點(diǎn):(1)學(xué)生從一個(gè)抽象的案例或者項(xiàng)目類比另一個(gè)抽象的算法,仍有不小的難度;(2)這些方法往往需要一定軟硬件條件或者明顯降低講課精度,只能偶爾為之,多數(shù)情況下仍然采用傳統(tǒng)的講授式教學(xué)。(3)案例式教學(xué)、項(xiàng)目教學(xué),沒(méi)有從本質(zhì)上將算法原理剖開(kāi)給學(xué)生,學(xué)生只是熟練地模仿項(xiàng)目或案例,王積社等認(rèn)為這種靜態(tài)的實(shí)體觀存在缺陷[6],因?yàn)槭聦?shí)上世界萬(wàn)物是不斷變化的,是動(dòng)態(tài)的,知識(shí)就是其生成過(guò)程,所以教學(xué)就必須模擬、展現(xiàn)知識(shí)的生成過(guò)程,學(xué)習(xí)就必須感受、理解知識(shí)的生成過(guò)程,這樣才能做到知其然而又知其所以然。李文閣[7]等認(rèn)為,“生成:現(xiàn)代哲學(xué)的最強(qiáng)音”,“生成性思維是現(xiàn)代哲學(xué)的基本精神和思維方式”。
基于過(guò)程生成式理念與啟發(fā)式方法,本文首次提出在數(shù)據(jù)挖掘教學(xué)中,讓學(xué)生從最熟悉的生活經(jīng)驗(yàn)出發(fā),引導(dǎo)學(xué)生將粗糙的生活經(jīng)驗(yàn)經(jīng)過(guò)抽絲剝繭、去粗取精,最后得到嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)表述,相當(dāng)于親自推導(dǎo)出相關(guān)的數(shù)據(jù)挖掘算法,既有效降低了學(xué)習(xí)難度,又加深了理解和記憶,在保證學(xué)科知識(shí)教學(xué)正確性與科學(xué)性的基礎(chǔ)上,助力學(xué)生學(xué)科素養(yǎng)與學(xué)科能力的生成,而核心素養(yǎng)已然成為推動(dòng)當(dāng)代教育課程改革與促進(jìn)教學(xué)模式轉(zhuǎn)型的頂層理念。近年來(lái),過(guò)程生成理念得到了較多的關(guān)注[5,9]。采用過(guò)程生成式啟發(fā)教學(xué)法,學(xué)習(xí)過(guò)程即知識(shí)建構(gòu)的過(guò)程,能夠促進(jìn)高階思維的形成[5]。
數(shù)據(jù)挖掘課程需要用到線性代數(shù)、概率統(tǒng)計(jì)、機(jī)器學(xué)習(xí)等先修課。教學(xué)中主要存在問(wèn)題是:
(1)該課程具有知識(shí)點(diǎn)多和教學(xué)點(diǎn)分散的特點(diǎn),理論學(xué)習(xí)難度較大。
(2)實(shí)踐教學(xué)可操作性不強(qiáng)、主要以抽象的理論教學(xué)為主,學(xué)生難以將新知識(shí)與老知識(shí)進(jìn)行遷移對(duì)照,容易遺忘、理解也不夠深刻。很多學(xué)校將數(shù)據(jù)挖掘歸類為實(shí)踐課程,但是在實(shí)際操作中,需要花費(fèi)大量實(shí)踐學(xué)習(xí)相關(guān)軟件的使用,造成實(shí)踐的效果大打折扣,學(xué)生對(duì)完成一套完整的數(shù)據(jù)挖掘流程是比較困難的。
趙衛(wèi)東等[1-3]提出基于“問(wèn)題引導(dǎo)+案例”、項(xiàng)目驅(qū)動(dòng)等教學(xué)模式。例如覃鳳萍[1]將關(guān)聯(lián)規(guī)則用電影推薦作為例子導(dǎo)入。但在教學(xué)中發(fā)現(xiàn),這種方法雖然有效,學(xué)生仍然感覺(jué)抽象、難以理解??枴げㄆ諣栒J(rèn)為:“一個(gè)人要分享人類緩慢取得的知識(shí),我所知道的唯一方法,就是循著知識(shí)創(chuàng)造者的腳印再走一遍”。王積社認(rèn)為[6]:“過(guò)程→生成”教學(xué)是由師生共同參與的知識(shí)生成過(guò)程,該過(guò)程始于某種背景,在思想、情操的層層支配下,激起對(duì)學(xué)習(xí)目標(biāo)的步步追求,誘導(dǎo)已有知識(shí)、技能、方法的循循攝入,形成流變與合生?!斑^(guò)程→生成”教學(xué)的基本原則,應(yīng)該遵循:(1)動(dòng)態(tài)性原則:學(xué)生主動(dòng)的動(dòng)手動(dòng)腦參與推導(dǎo)知識(shí)的生成過(guò)程。(2)攝入性原則:攝入是過(guò)程哲學(xué)的核心范疇,是揭示事物間相互關(guān)聯(lián)的思維方法。例如本文的例題中,將學(xué)生的生活經(jīng)驗(yàn)與數(shù)據(jù)挖掘算法之間的聯(lián)系揭示出來(lái),就是遵循了攝入性原則。(3)生成性原則:類似于搭積木,避免把知識(shí)直接搬給學(xué)生,而是引導(dǎo)學(xué)生逐步搭建出知識(shí)?;谶^(guò)程生成式理念,讓學(xué)生從自己粗糙的生活經(jīng)驗(yàn)出發(fā),在教師引導(dǎo)下逐步求精地推導(dǎo)出數(shù)據(jù)挖掘算法,讓學(xué)生理解算法的來(lái)龍去脈,能夠降低學(xué)習(xí)難度,提高學(xué)習(xí)效率,可以分成三個(gè)主要步驟:(1)提出一種學(xué)生熟悉的生活原型,可以比較好地吻合相應(yīng)的數(shù)據(jù)挖掘算法;(2)將粗糙的生活經(jīng)驗(yàn)提煉,用嚴(yán)密的數(shù)學(xué)語(yǔ)言進(jìn)行描述,推導(dǎo)出相應(yīng)的數(shù)據(jù)挖掘算法;(3)將學(xué)生根據(jù)生活經(jīng)驗(yàn)推導(dǎo)的數(shù)據(jù)挖掘算法與教材的數(shù)據(jù)挖掘算法進(jìn)行對(duì)比,揭示兩種算法之間的聯(lián)系。下面將以數(shù)據(jù)挖掘中經(jīng)典的貝葉斯算法作為例子來(lái)說(shuō)明過(guò)程生成理念引導(dǎo)的啟發(fā)式教學(xué)方法的應(yīng)用。傳統(tǒng)的貝葉斯分類的教學(xué)大多只關(guān)注后驗(yàn)概率公式的計(jì)算過(guò)程,學(xué)生普遍反映這部分的教學(xué)內(nèi)容抽象枯燥,理論與實(shí)際相脫離。如果僅僅按照公式講解,學(xué)生比較難以理解。我們從基本的生活經(jīng)驗(yàn)出發(fā),采用過(guò)程生成式啟發(fā)方法教學(xué),引導(dǎo)學(xué)生自己推導(dǎo)出貝葉斯算法。
例:已知某電腦店銷售數(shù)據(jù)如表1所示,現(xiàn)在有一個(gè)新顧客X={“年齡='≤30',收入='中',學(xué)生='是',信譽(yù)='中'},試判斷X是否應(yīng)該購(gòu)買計(jì)算機(jī)?
表1 某電腦店銷售數(shù)據(jù)
分析:(1)提出生活原型:運(yùn)用生活經(jīng)驗(yàn)類比法,我們根據(jù)X的年齡=‘≤30’,收入=‘中’,學(xué)生=‘是’,信譽(yù)=‘中’,首先憑生活經(jīng)驗(yàn)判斷,這個(gè)人是否應(yīng)該購(gòu)買計(jì)算機(jī)?經(jīng)過(guò)對(duì)學(xué)生提問(wèn),發(fā)現(xiàn)90%以上的學(xué)生都能憑直覺(jué)得出正確答案:顧客X應(yīng)該購(gòu)買計(jì)算機(jī)。教師進(jìn)一步啟發(fā)學(xué)生思考,為什么會(huì)得到這個(gè)結(jié)果?如果沒(méi)有生活經(jīng)驗(yàn),你會(huì)得出這樣的結(jié)論嗎?如果是沒(méi)有生活經(jīng)驗(yàn)的幼兒園的學(xué)生,能得出這樣的結(jié)論嗎?學(xué)生經(jīng)過(guò)思索,回答:是因?yàn)閄是學(xué)生,而且收入是‘中’,而計(jì)算機(jī)并不貴,中等收入足夠購(gòu)買計(jì)算機(jī)了,所以根據(jù)生活經(jīng)驗(yàn)判斷,X多數(shù)會(huì)購(gòu)買計(jì)算機(jī)。教師進(jìn)一步啟發(fā)學(xué)生,要用數(shù)據(jù)說(shuō)話才更加可信。學(xué)生仔細(xì)觀察上面的表格,終于找出規(guī)律:提供的銷售記錄共有14個(gè)顧客,其中9個(gè)人購(gòu)買了計(jì)算機(jī);再仔細(xì)觀察這9個(gè)人,購(gòu)買計(jì)算機(jī)的人中,有6個(gè)是學(xué)生,概率是6/9=0.67,這說(shuō)明,多數(shù)學(xué)生都買了計(jì)算機(jī),而X恰好是學(xué)生,因此購(gòu)買計(jì)算機(jī)的概率比較大。
(2)將生活經(jīng)驗(yàn)提煉:教師進(jìn)一步引導(dǎo),用數(shù)學(xué)公式表述上面的經(jīng)驗(yàn),P(學(xué)生='是'|購(gòu)買計(jì)算機(jī)='是')=6/9=0.67;同理,我們可以得出不買計(jì)算機(jī)的概率是P(學(xué)生='是'|購(gòu)買計(jì)算機(jī)='否')=1/5=0.2。上面只分析了X的一個(gè)屬性“學(xué)生”,我們同理分析X的其他屬性,得出:P(年齡='≤30'|購(gòu)買計(jì)算機(jī)='是')=2/9=0.22;P(年齡='≤30'|購(gòu)買計(jì)算機(jī)='否')=3/5=0.6;P(信譽(yù)='中'|購(gòu)買計(jì)算機(jī)='是')=6/9=0.67;P(信譽(yù)='中'|購(gòu)買計(jì)算機(jī)='否')=2/5=0.4;P(收入='中'|購(gòu)買計(jì)算機(jī)='是')=4/9=0.44;P(收入='中'|購(gòu)買計(jì)算機(jī)='否')=2/5=0.4。
假設(shè)條件獨(dú)立性,使用以上概率得到:P(X|購(gòu)買計(jì)算機(jī)='是')=P(年齡='≤30'|購(gòu)買計(jì)算機(jī)='是')×P(收入='中'|購(gòu)買計(jì)算機(jī)='是')×P(學(xué)生='是'|購(gòu)買計(jì)算機(jī)='是')×P(信譽(yù)='中'|購(gòu)買計(jì)算機(jī)='是')=0.22×0.44×0.67×0.67=0.04;P(X|購(gòu)買計(jì)算機(jī)='否')=P(年齡='≤30'|購(gòu)買計(jì)算機(jī)='否')×P(收入='中'|購(gòu)買計(jì)算機(jī)='否')×P(學(xué)生='是'|購(gòu)買計(jì)算機(jī)='否')×P(信譽(yù)='中'|購(gòu)買計(jì)算機(jī)='否')=0.6×0.4×0.2×0.4=0.02。
到此,我們得出解題需要的兩個(gè)關(guān)鍵數(shù)字:P(X|購(gòu)買計(jì)算機(jī)='是')=0.04,P(X|購(gòu)買計(jì)算機(jī)='否')=0.02。
進(jìn)一步,根據(jù)概率統(tǒng)計(jì)的知識(shí),考慮“購(gòu)買計(jì)算機(jī)='是'”的類:P(X|購(gòu)買計(jì)算機(jī)='是')×P(購(gòu)買計(jì)算機(jī)='是')=0.04×0.64=0.03;考慮“購(gòu)買計(jì)算機(jī)='否'”的類:P(X|購(gòu)買計(jì)算機(jī)='否')×P(購(gòu)買計(jì)算機(jī)='否')=0.02×0.36=0.01。因此,對(duì)于樣本X預(yù)測(cè)為“購(gòu)買計(jì)算機(jī)='是'”。
在上面的教學(xué)過(guò)程中,我們首先讓學(xué)生完全不管貝葉斯算法的原理,僅僅引導(dǎo)學(xué)生用生活經(jīng)驗(yàn)自己推導(dǎo),逐步去粗取精,然后用數(shù)學(xué)語(yǔ)言加以嚴(yán)謹(jǐn)描述,最終自己推導(dǎo)出貝葉斯分類算法。經(jīng)過(guò)對(duì)比,學(xué)生發(fā)現(xiàn)自己推導(dǎo)的貝葉斯算法與教材中的貝葉斯算法的原理一模一樣,從來(lái)很快就牢牢理解了貝葉斯算法的思想,并形成了深刻印象。多數(shù)學(xué)生感覺(jué)這種類比法有明顯的效果,克服了案例法或者項(xiàng)目法過(guò)于抽象、降低講課速度的缺點(diǎn),知識(shí)已經(jīng)內(nèi)化為思維的一部分,更加容易理解和接受。
在其他很多數(shù)據(jù)挖掘算法中,都可以運(yùn)用生活經(jīng)驗(yàn)類比法。例如K近鄰分類,讓學(xué)生回答:假設(shè)對(duì)某個(gè)人一無(wú)所知,但是知道他的K個(gè)朋友學(xué)習(xí)都很好,請(qǐng)問(wèn)此人學(xué)習(xí)是否也很好?學(xué)生很容易自己推導(dǎo)出K近鄰算法,得出此人學(xué)習(xí)很好的結(jié)論。再如:集成學(xué)習(xí)可以用生活中的投票的經(jīng)驗(yàn)進(jìn)行類比等等。復(fù)雜的算法,往往都是由簡(jiǎn)單的問(wèn)題加以延伸而成,因此多數(shù)能夠找到問(wèn)題的原型,用過(guò)程生成式教學(xué)方法加以推導(dǎo),就可以得到相應(yīng)的算法。
數(shù)據(jù)挖掘的學(xué)習(xí)難度較高,以往的案例驅(qū)動(dòng)、項(xiàng)目驅(qū)動(dòng)教學(xué)法仍然存在過(guò)于抽象的缺點(diǎn);而大量的主動(dòng)學(xué)習(xí)、合作學(xué)習(xí)、研究性學(xué)習(xí)雖然有其優(yōu)點(diǎn),在實(shí)際課堂講授中往往受到軟硬件條件限制或者講課速度過(guò)慢,導(dǎo)致講授法仍然占據(jù)課堂主流。本文首次提出在數(shù)據(jù)挖掘中引入過(guò)程生成式啟發(fā)教學(xué)方法,克服了上述缺點(diǎn),引導(dǎo)學(xué)生從熟悉的生活經(jīng)驗(yàn)出發(fā)推導(dǎo)出相應(yīng)的算法,讓學(xué)生知其然更知其所以然,使得學(xué)生很容易將熟悉的知識(shí)遷移到對(duì)數(shù)據(jù)挖掘算法的理解中去,具有較高的課堂應(yīng)用價(jià)值。