李昌群 楊 靜 程文娟 安 寧
(合肥工業(yè)大學(xué)計算機(jī)與信息學(xué)院 安徽 合肥 230009)
?
h-MMHC算法及其在主因素分析中的應(yīng)用
李昌群楊靜程文娟安寧
(合肥工業(yè)大學(xué)計算機(jī)與信息學(xué)院安徽 合肥 230009)
摘要由于MMHC算法是針對所有的屬性進(jìn)行的網(wǎng)絡(luò)結(jié)構(gòu)圖的構(gòu)建,時間相對較長且結(jié)構(gòu)圖較為復(fù)雜。針對該情況,提出了啟發(fā)式h-MMHC算法。它是MMHC算法的改進(jìn),從一個初始的屬性集合出發(fā),通過MMHC局部學(xué)習(xí)方法,借助啟發(fā)策略,逐步添加新的屬性,最終得到屬性之間相關(guān)關(guān)系的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)。該研究以教學(xué)效果評估為實(shí)例,對于MMHC和h-MMHC算法做了比較。采用李克特量表法設(shè)計的調(diào)查問卷收集數(shù)據(jù),使用兩種算法對調(diào)查數(shù)據(jù)進(jìn)行分析。相對于MMHC算法,由于減少了需要考慮的屬性集規(guī)模,因此h-MMHC可更有效地應(yīng)用于主因素分析中。
關(guān)鍵詞h-MMHC算法貝葉斯網(wǎng)絡(luò)主因素分析教學(xué)評估
0引言
特征提取問題是數(shù)據(jù)分析和挖掘的重要研究內(nèi)容。恰當(dāng)?shù)乃惴稍诒姸嗟奶卣鲗傩灾?,搜索到對于問題影響顯著的特征集合,從而更有效地開展對于數(shù)據(jù)的深入分析。其中一個重要的問題就是主因素分析,也即在確定目標(biāo)屬性后,找出影響目標(biāo)屬性的主要因素。例如仝美紅等人[1]利用主成分分析法以及熵值法來進(jìn)行高校教師的績效評價。主因素分析可以看作是特征提取的一種特殊形式,也即提取對于目標(biāo)屬性影響最大的一個或者若干個特征。
貝葉斯網(wǎng)絡(luò)又稱信度網(wǎng)絡(luò),自提出以來一直受到廣泛的重視。在社會科學(xué)的研究中是一種常用的手段,其中包括教育研究領(lǐng)域,利用貝葉斯網(wǎng)絡(luò)的模型來分析與教學(xué)質(zhì)量相關(guān)的因素。例如,Choo-YeeTing等人[2]使用貝葉斯網(wǎng)絡(luò)來構(gòu)建一個基于計算機(jī)科學(xué)探索學(xué)習(xí)環(huán)境概念變化的計算模型;EvaMillán等人[3]使用貝葉斯網(wǎng)絡(luò)來提高知識評估,使用通用貝葉斯學(xué)生模型的整合和評估,用于Aveiro大學(xué)的計算機(jī)測試中;EvaMillán等人[4]使用貝葉斯網(wǎng)絡(luò)來設(shè)計和完善學(xué)生模型。依據(jù)該系統(tǒng)可以根據(jù)這些信息為學(xué)生們提供個性化的服務(wù)。同樣的,國內(nèi)學(xué)者也在利用數(shù)據(jù)分析的技術(shù)對影響高等教育質(zhì)量的因素進(jìn)行探索。馬希榮等人[5]將數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則分析技術(shù)應(yīng)用到教學(xué)評價中,有效地挖掘教育研究中的數(shù)據(jù);何萬篷等人[6]將數(shù)學(xué)中的可拓方法與數(shù)據(jù)挖掘技術(shù)結(jié)合起來,挖掘影響教學(xué)質(zhì)量的關(guān)鍵因素,以及教學(xué)質(zhì)量與教師特征之間的關(guān)聯(lián)規(guī)則。所有這些研究都可以歸納為對于某個目標(biāo)的主因素分析。
對于屬性的選擇,研究者們在不斷探索,正如魏浩等人[7]提出了基于相關(guān)性來進(jìn)行屬性選擇。本文采用貝葉斯網(wǎng)絡(luò)的方法從數(shù)據(jù)中獲取屬性之間的潛在關(guān)聯(lián)。貝葉斯網(wǎng)絡(luò)模型是一種概率網(wǎng)絡(luò),它可以用一個簡潔明了的結(jié)構(gòu)圖來展示數(shù)據(jù)中蘊(yùn)含的關(guān)聯(lián)。結(jié)構(gòu)圖中的節(jié)點(diǎn)代表屬性變量(隨機(jī)變量),節(jié)點(diǎn)間的有向邊代表屬性之間的相互關(guān)聯(lián),用相關(guān)系數(shù)表達(dá)關(guān)聯(lián)強(qiáng)度。利用貝葉斯網(wǎng)絡(luò)模型作為教學(xué)效果的分析工具,可以有效地了解影響教學(xué)質(zhì)量優(yōu)劣的因素。特別是影響教學(xué)效果的主要因素。
MMHC算法是當(dāng)前常用的構(gòu)建貝葉斯網(wǎng)絡(luò)的方法,但是對于主因素分析這樣的問題,由于MMHC方法對于所有屬性都是不加區(qū)別進(jìn)行計算,存在計算量大,數(shù)據(jù)之間相互干擾問題。針對在主因素分析這樣的特定應(yīng)用,本文提出一種改進(jìn),即啟發(fā)式MMHC算法,簡稱h-MMHC算法。該方法通過初始的部分屬性集出發(fā),逐步刪除對于目標(biāo)屬性影響不大的屬性,添加新的屬性來迭代式逼近實(shí)際的貝葉斯網(wǎng)絡(luò)。由于是逐步添加屬性,而不是一次性對于所有屬性進(jìn)行計算,因此在主因素分析的應(yīng)用中,h-MMHC算法具有計算量小,計算過程清晰的優(yōu)點(diǎn)。通過對于一門課程教學(xué)效果的評估案例,探討了h-MMHC算法構(gòu)建貝葉斯網(wǎng)絡(luò)的實(shí)際效果,以及在主因素分析中的應(yīng)用。
1貝葉斯網(wǎng)絡(luò)模型
一個貝葉斯網(wǎng)絡(luò)是一個有向無環(huán)圖,由代表屬性的節(jié)點(diǎn)及連接這些節(jié)點(diǎn)的有向邊構(gòu)成。貝葉斯網(wǎng)絡(luò)的學(xué)習(xí)過程實(shí)質(zhì)上是在結(jié)構(gòu)空間中尋找與樣例數(shù)據(jù)集聯(lián)合概率分布最一致的網(wǎng)絡(luò)結(jié)構(gòu)。通常采用基于評分和約束滿足的學(xué)習(xí)方法進(jìn)行結(jié)構(gòu)的學(xué)習(xí)。
定義1[8]貝葉斯網(wǎng)絡(luò)BN是一個二元組B=
一般地,令S是實(shí)例的集合,V是實(shí)例屬性的集合,貝葉斯網(wǎng)絡(luò)刻畫了各屬性之間的相關(guān)程度。確定貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)主要是確定各屬性之間的條件概率分布,由此可以得到關(guān)于各屬性之間相互依賴程度的信息。本文中假定相關(guān)關(guān)系都是指線性相關(guān)。線性相關(guān)是一般相關(guān)關(guān)系的近似,在實(shí)際確定貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu)時,經(jīng)??紤]線性相關(guān)。并且,本文假定屬性是相互獨(dú)立的。
定義2[9]設(shè)V={X1,X2,…,Xn}是變量集合,若相關(guān)系數(shù)ρ(Xi,Xj)=0,則稱Xi與Xj(線性)獨(dú)立,記為Ind(Xi,Xj)。若Xi和Xj獨(dú)立,則有p(Xi|Xj)=p(Xi),即變量Xj的任何變化對變量Xi的概率分布不產(chǎn)生影響。
在貝葉斯網(wǎng)絡(luò)中,經(jīng)??紤]一個節(jié)點(diǎn)關(guān)于其他一組節(jié)點(diǎn)的獨(dú)立性。即下所述貝葉斯網(wǎng)絡(luò)中的條件獨(dú)立性。
定義3[10]貝葉斯網(wǎng)絡(luò)中的條件獨(dú)立性令Q(X)是一個節(jié)點(diǎn)X的所有父節(jié)點(diǎn)和子節(jié)點(diǎn)的集合,也就是說,Q(X)是X的馬爾可夫覆蓋,那么對于其他任何不在Q(X)中的節(jié)點(diǎn)Y,Y與X關(guān)于Q(X)是條件獨(dú)立的,即ρ(X,Y|Q(X))=0,記作IndQ(X)(X,Y)。
在實(shí)際應(yīng)用中,通常設(shè)置一個閾值δ,當(dāng)相關(guān)系數(shù)ρ(X,Y|Q(X))<δ時,就認(rèn)為它們是獨(dú)立的,這個閾值稱為關(guān)聯(lián)閾值。
2啟發(fā)式MMHC算法
從大量的數(shù)據(jù)中學(xué)習(xí)出一個網(wǎng)絡(luò),是機(jī)器學(xué)習(xí)領(lǐng)域的一個重要內(nèi)容。對于一個樣例,有多個屬性去描述它。在現(xiàn)實(shí)世界中,實(shí)例的屬性之間往往是存在一定關(guān)聯(lián)的。對屬性之間的關(guān)聯(lián)性可以用不同的方法去描述。
MMHC算法又稱為最大最小爬山算法,它基于約束的思想,結(jié)合了局部學(xué)習(xí)以及搜索評分技術(shù)的原則和有效方法。對于小樣本的數(shù)據(jù)集,該算法也能夠表現(xiàn)出很好的性能[11]。
利用MMHC算法從訓(xùn)練數(shù)據(jù)集中學(xué)習(xí)貝葉斯網(wǎng)絡(luò)主要經(jīng)過兩個階段:階段一,找出各個節(jié)點(diǎn)的直接父節(jié)點(diǎn)。該階段利用MMPC算法學(xué)習(xí)得到每個節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)集合,學(xué)習(xí)過程中,利用條件獨(dú)立性測試,如果變量X、Y關(guān)于變量集Z條件獨(dú)立,即Ind(X,Y|Z)成立,則可以說明X和Y之間沒有直接的聯(lián)系,相反則說明存在直接的父子節(jié)點(diǎn)聯(lián)系。在整個階段一,利用該方法對各個節(jié)點(diǎn)做一次計算,最終得到所有變量的候選父子節(jié)點(diǎn)。階段二,確定節(jié)點(diǎn)聯(lián)系,即邊的定向階段。在該階段中利用爬山算法去確定各個邊,依次計算各個節(jié)點(diǎn)與候選父子節(jié)點(diǎn)的相關(guān)系數(shù),從中選擇出相關(guān)系數(shù)最大的節(jié)點(diǎn)對,添加邊,即完成了所謂的定向。按照此方法不斷的執(zhí)行,最終定向出圖中所有的邊。
MMHC算法描述:
該算法主要分為約束階段和搜索階段。
輸入:數(shù)據(jù)集D
//約束階段
為每個變量X∈V計算其候選父節(jié)點(diǎn)和子節(jié)點(diǎn)集,計算PCx=MMPC(X,D)。
//搜索階段
在受限的空間里通過執(zhí)行貪婪的爬山搜索,包括添加邊,刪除邊,逆置邊等操作,找到具有最優(yōu)評分的網(wǎng)絡(luò)G, 只有當(dāng)y∈PCx時才執(zhí)行添加邊Y→X操作。
輸出:關(guān)聯(lián)貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)圖G
MMHC可以被看做是SC(稀疏候選)算法[12,13]的一個特殊實(shí)例,也可以被歸為使用兩種方法的概念和技術(shù)的混合方式。對于SC算法,其要求用戶估計參數(shù)K來進(jìn)行約束限制,而MMHC算法有效地解決了SC算法中的不足,最突出的就是它無需用戶估計參數(shù)K,從而使得該算法在計算量上大大減少。有關(guān)MMHC算法更多的細(xì)節(jié)可參看文獻(xiàn)[11]。
MMHC算法假設(shè)貝葉斯網(wǎng)絡(luò)是忠實(shí)的,即概率分布滿足Markov條件。只有在極少數(shù)情況下,這個假設(shè)才可能不適合(細(xì)節(jié)參見文獻(xiàn)[14])。
MMHC算法實(shí)際上是通過搜索-評分兩個步驟確定出一個節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)。從而形成數(shù)據(jù)之間概率關(guān)聯(lián)關(guān)系的貝葉斯網(wǎng)絡(luò)。如果相對于節(jié)點(diǎn)A,A的父節(jié)點(diǎn)Pa(A),節(jié)點(diǎn)B關(guān)于Pa(A)與A是條件獨(dú)立的,則B與A之間沒有邊,也即B與A之間沒有直接關(guān)聯(lián)。在這樣的前提下,關(guān)于屬性集V=(v1,v2,…,vn)的聯(lián)合分布概率:
P(v1,v2,…,vn)=∏P(vi|Pa(vi))
由此公式,可以容易計算出對于目標(biāo)屬性的主要影響因素,即主因素。
MMHC算法已經(jīng)是目前比較流行的方法,并且寫進(jìn)了Matlab,成為標(biāo)準(zhǔn)算法之一。但是MMHC算法有一個缺點(diǎn),即所用來確定貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)的屬性集合是所有屬性,這就造成計算量大的問題。在主因素分析中不盡合理,因?yàn)橹饕蛩胤治霾⒉灰笏械膶傩灾g的關(guān)聯(lián),而是只需要找出與目標(biāo)屬性具有最大關(guān)聯(lián)的屬性。本文結(jié)合主因素分析這種特定的應(yīng)用場合,提出了一種從局部屬性集合出發(fā),逐步增加新屬性的學(xué)習(xí)方法,進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的調(diào)整,最終得到主因素。用這樣的方法可以提高計算效率。相對于原來的MMHC算法,本文提出的方法屬于逐步逼近的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)。其基本思想是,在樣例屬性集合中,首先取出一部分屬性,根據(jù)MMHC算法,建立有關(guān)這部分屬性的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu),也就是建立這些屬性的關(guān)聯(lián)關(guān)系。然后將其中與目標(biāo)屬性關(guān)聯(lián)度不大的屬性屏蔽,增添新的屬性,繼續(xù)應(yīng)用MMHC算法,構(gòu)建新的貝葉斯網(wǎng)絡(luò)。由于每次處理的屬性數(shù)量較少,因此比起傳統(tǒng)的MMHC算法,它的復(fù)雜度要低,并且容易揭示與目標(biāo)屬性最相關(guān)的影響因素。這種方法用于主因素分析中具有明顯的優(yōu)點(diǎn)。由于這種算法使用了對于屬性學(xué)習(xí)的啟發(fā)策略,因此稱為啟發(fā)式MMHC算法,記作h-MMHC算法。
定義4設(shè)S是貝葉斯網(wǎng)絡(luò)學(xué)習(xí)任務(wù)L的實(shí)例集合,V是實(shí)例中屬性的集合,d是某個特定的目標(biāo)屬性,與d的關(guān)聯(lián)值超過某個閾值δ的屬性稱為影響d的主因素。
注意在此定義中,主因素可以不止一個。關(guān)聯(lián)閾值δ根據(jù)問題的需要選取。
由于貝葉斯網(wǎng)絡(luò)可以直接給出各屬性之間的關(guān)聯(lián)程度,因此貝葉斯學(xué)習(xí)和貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)經(jīng)常成為主因素分析算法采用的技術(shù)。本文提出的h-MMHC算法是一種改進(jìn)的方法。
h-MMHC算法具體的流程如下:
(1) 令V為所有屬性的集合;d為目標(biāo)屬性;關(guān)聯(lián)閾值δ。
(2) 隨機(jī)的選取部分屬性集T?V,d∈T,利用MMHC算法構(gòu)造關(guān)于T的貝葉斯網(wǎng)絡(luò)B,即B=MMHC(T)。
(3) 對于所有z∈B,并且z?Pa(d),若ρ(z,d)<δ,則刪去z。
(4) 令刪去的屬性集為Z;添加屬性集M,T=(T-Z)∪M,執(zhí)行步驟2、步驟3。
(5) 直到所有的屬性都完成,得到最終的結(jié)構(gòu)圖。
h-MMHC算法采用啟發(fā)式的步驟,分階段的添加屬性,而且每次迭代計算時,只需要對含有M中的屬性變量進(jìn)行新的搜索和評分,實(shí)際運(yùn)行表明,這種方法在很大程度上減少了計算量。這是h-MMHC算法區(qū)別于MMHC的獨(dú)特之處。
該算法的正確性依賴于下面的一個定理。
定理1令S為屬性的集合,d是目標(biāo)屬性,Z和M是兩個屬性子集合,對于任意屬性X和Y,如果關(guān)于Z,X?pa(d),那么關(guān)于Z∪M,同樣有X?pa(d)。
證明:根據(jù)MMHC算法,X?pa(d),意味著IndZ(X,d),其中Z?pa(d),即X和d關(guān)于Z是條件獨(dú)立的。這時如果增加新的屬性子集M,則由MMHC的最大最小原則,只要有d的父節(jié)點(diǎn)子集Z使得IndZ(X,d),則X也不會添加到新結(jié)構(gòu)中目標(biāo)屬性d的父節(jié)點(diǎn)。
定理1說明,當(dāng)屏蔽一些屬性,在增加一些屬性重新計算關(guān)聯(lián)性的時候,不會把原來非目標(biāo)屬性的父節(jié)點(diǎn)變成父節(jié)點(diǎn)。但是,對于已是父節(jié)點(diǎn)的屬性,可能會由于新的屬性加入而變成不是父節(jié)點(diǎn),此時,會有新的父節(jié)點(diǎn)替代原來的父節(jié)點(diǎn)。因此h-MMHC算法在逐步添加屬性將會逐步得到目標(biāo)屬性附近的正確結(jié)構(gòu)。
定理2給定學(xué)習(xí)樣例集S,對于任意初始的包含目標(biāo)屬性d的屬性集合,h-MMHC算法都能正確收斂到d的附近的結(jié)構(gòu)。
針對定理2,作兩點(diǎn)說明。第一,h-MMHC的正確性依賴于學(xué)習(xí)樣例集,不同的學(xué)習(xí)樣例集可能給出不同的貝葉斯結(jié)構(gòu)。第二,所謂目標(biāo)屬性附近的結(jié)構(gòu),是指距離目標(biāo)屬性最近的那些節(jié)點(diǎn),至少包含所有的父節(jié)點(diǎn)(子節(jié)點(diǎn)不必考慮,因?yàn)椴粚儆谥饕蛩貑栴}的內(nèi)容)。具體的界定需要根據(jù)問題確定,因?yàn)樵趯?shí)際中,存在一些節(jié)點(diǎn),他們對于目標(biāo)屬性最終有較高的關(guān)聯(lián)值,但卻不是父節(jié)點(diǎn)。這是h-MMHC算法的一個缺陷。這一缺陷可以通過對于主因素再做主因素分析來彌補(bǔ),也就是通過二次的主因素分析來得到這些屬性,這樣的屬性可以稱為次主因素。當(dāng)然,這種情況是較少發(fā)生的,除非該屬性對于某個主因素有較高的單向相關(guān)性,一般而言,這樣的屬性設(shè)計是較少碰到的。
關(guān)于每次需要添加的屬性,既可以根據(jù)事先制定的添加策略自動添加,也可以根據(jù)專家先驗(yàn)知識和樣例分布特征選擇性添加,因此h-MMHC的屬性添加具有靈活性,可以根據(jù)問題的需要而裁量考慮。
3應(yīng)用案例—課程評估
近期我們把主因素分析用于教學(xué)效果的評估。該工作在《網(wǎng)絡(luò)、群體與市場》課程中進(jìn)行,這是面向本科大二學(xué)生,整個教學(xué)過程包括32個學(xué)時,為選修課程;一個年級總共180人,除了講授以外還會留一些開放性的題目,以及相應(yīng)的資源網(wǎng)站,便于學(xué)生們課后學(xué)習(xí);整個教學(xué)分為四個階段,在每個階段通過問卷了解教學(xué)效果,基本方法就是貝葉斯網(wǎng)絡(luò)的主因素分析方法,以確定影響教學(xué)效果的主要因素。并且根據(jù)分析的結(jié)果,剔除對于教學(xué)效果影響不大的因素,重新設(shè)計新的問卷,引入新的因素,在課程的下一階段使用新的問卷進(jìn)行了解,結(jié)合前次的分析結(jié)果,綜合給出教學(xué)效果的評價。為了確保問卷題目的準(zhǔn)確性,采用不記名式的作答;對收集回來的數(shù)據(jù)運(yùn)用統(tǒng)計學(xué)的方法以及貝葉斯理論中的h-MMHC算法進(jìn)行分析。
針對教學(xué)階段的自然劃分,采用分階段式的設(shè)計問卷。這樣每個階段的題目數(shù)不用太多,一方面不會讓學(xué)生們產(chǎn)生負(fù)擔(dān),從而可以更認(rèn)真的作答;另一方面通過幾個階段的設(shè)計,題目的數(shù)量也達(dá)到了我們預(yù)期的數(shù)量,如此便不會影響考察的效果。具體的問卷設(shè)計如表1所示。
表1 各階段的問卷設(shè)計
正如表1中所顯示的,各期的問卷題目數(shù)量不變,為了與課程進(jìn)度保持一致,問卷的題目內(nèi)容是動態(tài)變化的,通過當(dāng)前階段的分析剔除不相關(guān)的題目,下一階段在相應(yīng)問卷位置加入新的題目。由于我們要考察的目標(biāo)節(jié)點(diǎn)是6,也就是學(xué)生們對該課堂教學(xué)的總體評價。
在此案列中,整體的問卷題目是事先設(shè)定好的,分四階段給學(xué)生進(jìn)行問卷調(diào)查,問卷調(diào)查的題目有部分是重合的。根據(jù)上一階段的分析結(jié)果來確定下一階段的添加屬性(問卷題目)。因此,在本案例中,屬性添加參考了專家先驗(yàn)知識。事實(shí)上,也可以事先將全部屬性制作成屬性列表(問卷題目列表),根據(jù)某種策略進(jìn)行屬性的自動選取,例如事先規(guī)定的屬性選取順序或者是根據(jù)各階段應(yīng)該選取屬性的數(shù)量。根據(jù)定理2,不同的屬性添加策略對于主因素的篩選沒有影響。
4實(shí)驗(yàn)結(jié)果以及分析
4.1數(shù)據(jù)集
本門課共180個學(xué)生選修,由于每次上課不是每個學(xué)生都會到場,而我們的問卷只是針對到場的學(xué)生進(jìn)行考察。因此,一共32課時,收集回來的數(shù)據(jù)一共是1713條數(shù)據(jù)。問卷的設(shè)計中考慮到數(shù)據(jù)的離散化與連續(xù)的問題,采用李克特量表法進(jìn)行問卷設(shè)計。李克特量表是一種心理反應(yīng)量表,常在問卷中使用,而且是目前調(diào)查研究中使用最廣泛的量表(http://baike.baidu.com/view/1574087.htm?fr=aladdin)。當(dāng)受測者回答此類問卷的項(xiàng)目時,他們具體的指出自己對該項(xiàng)陳述的認(rèn)同程度。由此收集回來的數(shù)據(jù)皆為離散化的數(shù)據(jù),由于MMHC算法是一個專門用于離散數(shù)據(jù)的貝葉斯網(wǎng)絡(luò)學(xué)習(xí)算法,因此,離散化過程是必須的。
香娭毑給人的印象是一個能干婆,可她見了喜姑,妹妹長妹妹短的叫得十分親熱,從不在她面前逞能的。沒事的時候,喜姑也喜歡到香娭毑家里來串門。無論白天晚上,刮風(fēng)下雨,只要喜姑一到,香娭毑就把寶剛爹支走,去去,到外面去,我們姊妹打講,你到屋里湊什么熱鬧。
4.2各階段結(jié)構(gòu)圖分析
對于調(diào)查問卷收集回來的數(shù)據(jù),本文采用h-MMHC算法進(jìn)行測試。此次的實(shí)驗(yàn)是在一臺CPU是Inter(R) 2.94GHz,內(nèi)存為4GB,操作系統(tǒng)為windows7的電腦上進(jìn)行的。部分代碼采用的是Causal-ExplorerMatlab_R14工具包。該研究中的各個階段屬性個數(shù)較少,故通過人為分析即可(例如,利用專家先驗(yàn)知識)。當(dāng)屬性個數(shù)較多時,可以在MMHC的構(gòu)圖階段根據(jù)事先設(shè)定好的屬性添加策略,逐步進(jìn)行屬性篩選,從而達(dá)到自動解析的目標(biāo)。
如圖1所示的是第一階段收集回來的數(shù)據(jù)得到的網(wǎng)絡(luò)結(jié)構(gòu)圖。對節(jié)點(diǎn)6(總體評價)有直接影響的節(jié)點(diǎn)分別是節(jié)點(diǎn)2(授課人講解生動度)和節(jié)點(diǎn)4(學(xué)生對該堂課的興趣度)。通過表2可以知道節(jié)點(diǎn)2和節(jié)點(diǎn)6之間的相關(guān)性達(dá)到0.513,節(jié)點(diǎn)4和節(jié)點(diǎn)6之間的相關(guān)性甚至達(dá)到了0.576。目標(biāo)是尋找的對課堂總體效果(即節(jié)點(diǎn)6)有直接影響的節(jié)點(diǎn),所以在第一階段的后期,刪去對節(jié)點(diǎn)6只存在間接影響的1、3、5節(jié)點(diǎn)。
圖1第一階段中
表2第一階段中的相關(guān)系數(shù)
節(jié)點(diǎn)對相關(guān)系數(shù)(1,5)0.541(2,4)0.472(2,6)0.513(3,2)0.412(4,5)0.61(4,6)0.576(6,1)0.552
MMHC算法下的結(jié)構(gòu)圖根據(jù)結(jié)構(gòu)圖可以得到的結(jié)論為:授課者對于授課內(nèi)容講解得越生動學(xué)生們就越感興趣,從而對于該堂課的總體評價也就會增加。另外,學(xué)生們對該堂內(nèi)容的興趣度指數(shù)也會影響他們對于該堂課的總體評價。
通過結(jié)構(gòu)圖的表示以及條件相關(guān)系數(shù)的計算可以看到:節(jié)點(diǎn)1(課堂內(nèi)容是否充實(shí),信息是否充分),節(jié)點(diǎn)3(授課人與大家的互動做的如何)以及節(jié)點(diǎn)5(課堂內(nèi)容是否實(shí)用)對于課堂的整體效果作用不大。有研究指出教學(xué)內(nèi)容、教學(xué)方法會對教學(xué)效果產(chǎn)生影響的[15],這些結(jié)論似乎與此有所相關(guān),應(yīng)該是本門課程的實(shí)際情況,與學(xué)生和教師的具體狀態(tài)有關(guān),作為一門課程的效果調(diào)研,畢竟是第一手資料。在該研究中出現(xiàn)的現(xiàn)象可以解釋為:授課者所講授的內(nèi)容在學(xué)生們看來并沒有很充分以及很實(shí)用。圖2顯示的是第二階段問卷收集到的數(shù)據(jù),表3是第二階段中的相關(guān)系數(shù)。
圖2第二階段中
表3第二階段中的相關(guān)系數(shù)
節(jié)點(diǎn)對相關(guān)系數(shù)(2,5)0.452(2,6)0.582(3,2)0.464(5,1)0.48(5,4)0.557(5,6)0.578(6,1)0.528
MMHC算法下的結(jié)構(gòu)圖在第一階段中找到了與節(jié)點(diǎn)6關(guān)系緊密的節(jié)點(diǎn),分別是節(jié)點(diǎn)2和節(jié)點(diǎn)4,因此在第二階段替換掉題目1、3和5。從替換掉間接影響的節(jié)點(diǎn)后得到的第二階段的圖中可以看到,節(jié)點(diǎn)2還是對節(jié)點(diǎn)6有影響而節(jié)點(diǎn)4此時卻并非是節(jié)點(diǎn)6的直接影響因素。變換的節(jié)點(diǎn)5此時卻成為影響總體效果的次直接影響因素。通過表3可以發(fā)現(xiàn)節(jié)點(diǎn)2和節(jié)點(diǎn)6之間的相關(guān)性是0.582,節(jié)點(diǎn)5和節(jié)點(diǎn)6之間的相關(guān)性是0.578。為了考察驗(yàn)證結(jié)點(diǎn)4與節(jié)點(diǎn)6之間的關(guān)聯(lián)性,在第三階段的問卷中仍然保留節(jié)點(diǎn)4。所以在第三階段只替換掉節(jié)點(diǎn)1和節(jié)點(diǎn)3。
在第二階段,根據(jù)h-MMHC算法可以知道,新增加了1、3、5節(jié)點(diǎn),新增加了三個節(jié)點(diǎn)后,通過條件相關(guān)性可以發(fā)現(xiàn)節(jié)點(diǎn)4和節(jié)點(diǎn)6之間的相關(guān)性為0。節(jié)點(diǎn)4在該階段忽然與6沒有聯(lián)系,也許是該階段中學(xué)生們對于老師們所教授的內(nèi)容興趣度不高,從而不存在直接影響?;谶@樣的考慮,在第三階段中仍然保留節(jié)點(diǎn)4,以進(jìn)行驗(yàn)證。
根據(jù)結(jié)構(gòu)圖可以得到的結(jié)論為:授課者對于授課內(nèi)容講解得越生動,那么學(xué)生們對于該堂課的總體評價也就會越高。同樣的,當(dāng)授課者善于激發(fā)學(xué)生思考,帶動學(xué)生們的思考積極性,那么該堂課的總體評價也是會很好的。
此外,新增加的節(jié)點(diǎn),分別是節(jié)點(diǎn)1(課程安排時間是否合理)、節(jié)點(diǎn)3(授課人課前準(zhǔn)備)對于節(jié)點(diǎn)6 沒有影響,說明學(xué)生們對于課程上課時間不是很滿意,產(chǎn)生的原因與當(dāng)時授課者將上課時間安排在周末可能是分不開的。基于上課的內(nèi)容比較分散,學(xué)生們對于授課者課前的準(zhǔn)備沒有很認(rèn)可,所以在該階段表現(xiàn)出這樣的結(jié)果。
圖3顯示的是第三階段問卷收集到的數(shù)據(jù),通過前兩個階段的分析,我們依次找到了對總體課堂效果有直接影響的節(jié)點(diǎn),分別是第一階段的節(jié)點(diǎn)2、4和第二階段的節(jié)點(diǎn)2、5。在前兩階段中,節(jié)點(diǎn)2始終是節(jié)點(diǎn)6的父節(jié)點(diǎn),而節(jié)點(diǎn)4和節(jié)點(diǎn)6的關(guān)系發(fā)生了變化。為了驗(yàn)證節(jié)點(diǎn)4和節(jié)點(diǎn)6之間的關(guān)系,我們還是保留第二階段的題目4,只更換了題目1、3。這樣便得到了第三階段的問卷。從該圖中可以看到節(jié)點(diǎn)2和節(jié)點(diǎn)5都對總體評價產(chǎn)生影響,而節(jié)點(diǎn)4卻成為了節(jié)點(diǎn)6的子節(jié)點(diǎn)。通過表4可以看到,節(jié)點(diǎn)2和節(jié)點(diǎn)6之間的相關(guān)系數(shù)是0.593,節(jié)點(diǎn)5和節(jié)點(diǎn)6之間的是0.584。
圖3第三階段中MMHC算法圖
表4第三階段中的相關(guān)系數(shù)
節(jié)點(diǎn)對相關(guān)系數(shù)(2,3)0.541(2,5)0.472(2,6)0.513(4,1)0.412(5,4)0.61(5,6)0.576(6,1)0.552(6,3)0.489(6,4)0.58
通過結(jié)構(gòu)圖可以得到的結(jié)論為:授課者對課堂內(nèi)容講解的越生動,那么學(xué)生們對于課堂效果的總體評價就越高。同樣的,授課者如果善于激發(fā)學(xué)生們的思考,那么學(xué)生們同樣會對該堂課的效果評價高。此外,當(dāng)授課者善于激發(fā)學(xué)生思考的時候,學(xué)生們也就會對該堂課的內(nèi)容越感興趣。
被替換的節(jié)點(diǎn)1(課下是否愿意花時間去思考課堂上留下的問題)與節(jié)點(diǎn)3(該堂課是否達(dá)到期望)在該圖中顯示為受節(jié)點(diǎn)6的影響,說明在課堂效果評價好的情況下學(xué)生們會感興趣,然后課下會愿意花時間去思考課堂上留下的問題,最終可以達(dá)到學(xué)生們的期望。但這兩個節(jié)點(diǎn)不是影響6的直接因素。
圖4是第四階段收集到的數(shù)據(jù)得到的結(jié)構(gòu)圖。很明顯可以看到該圖與圖3是沒有變化的,那么這就說明在上一階段得到的結(jié)論是成立的。也就是說盡管變動了1、3兩個屬性,節(jié)點(diǎn)2 和節(jié)點(diǎn)5對于課堂效果的總體評價仍是最有影響的屬性。通過表5可以看到,節(jié)點(diǎn)2和節(jié)點(diǎn)6之間的相關(guān)性系數(shù)是0.58,而節(jié)點(diǎn)5和節(jié)點(diǎn)6的相關(guān)性系數(shù)是0.590。
圖4第四階段中MMHC算法圖
表5第四階段中的相關(guān)系數(shù)
節(jié)點(diǎn)對相關(guān)系數(shù)(2,3)0.492(2,5)0.495(2,6)0.58(4,1)0.494(5,4)0.547(5,6)0.59(6,1)0.542(6,3)0.5(6,4)0.567
綜合上述的結(jié)果可以說明:授課者對課堂內(nèi)容講解的生動度以及授課者善于激發(fā)學(xué)生們思考這兩個因素節(jié)點(diǎn)通過使用h-MMHC算法被發(fā)現(xiàn)為是影響教學(xué)效果的主要因素。
第四階段中新增的節(jié)點(diǎn)1(授課內(nèi)容與實(shí)際的結(jié)合緊密度)與節(jié)點(diǎn)3(授課人的PPT制作效果)在該圖中顯示為節(jié)點(diǎn)6的子節(jié)點(diǎn),說明這兩個節(jié)點(diǎn)反而受節(jié)點(diǎn)6的影響。
基于上述對節(jié)點(diǎn)4的處理方式,也正驗(yàn)證了定理1的有效性。因此h-MMHC算法在逐步添加屬性的過程中將會逐步得到目標(biāo)屬性附近的正確結(jié)構(gòu)。
4.3MMHC的結(jié)構(gòu)圖
相比于h-MMHC的分階段添加屬性節(jié)點(diǎn),MMHC則一次性將所有屬性節(jié)點(diǎn)添加進(jìn)來。在該研究中,一共有13個屬性,對應(yīng)的結(jié)構(gòu)圖中有13個節(jié)點(diǎn)。結(jié)構(gòu)如圖5所示,相關(guān)性系數(shù)見表6。
圖5MMHC結(jié)構(gòu)圖
表6MMHC的相關(guān)性系數(shù)
(2,6)0.58(4,6)0.43(6,9)0.55(6,7)0.48(6,12)0.31
通過圖5可以看到節(jié)點(diǎn)2和節(jié)點(diǎn)4對節(jié)點(diǎn)6是有影響的。該結(jié)論與h-MMHC的結(jié)論基本上是一致的。
限于篇幅的原因,在此只選取部分與節(jié)點(diǎn)6有關(guān)的節(jié)點(diǎn)對的相關(guān)系數(shù)。通過該表可以驗(yàn)證h-MMHC的正確性,即分階段的添加屬性節(jié)點(diǎn)進(jìn)而獲取主要影響因素是合理的。
4.4h-MMHC與MMHC的對比
從表7中可以看出h-MMHC算法和MMHC算法的區(qū)別之處。圖中的運(yùn)行時間是50次運(yùn)行后計算得出的平均時間。很顯然使用h-MMHC算法的整體運(yùn)行時間少于MMHC算法的時間,時間相對來說提升了80%。就結(jié)構(gòu)圖的復(fù)雜度來說,h-MMHC算法相對于MMHC結(jié)構(gòu)圖較為清晰。
表7 h-MMHC和MMHC的對比
5結(jié)語
本文通過對于MMHC方法的改進(jìn),提出了h-MMHC方法,在主因素分析過程中可以更加有效地確定影響目標(biāo)屬性的主要因素。這種啟發(fā)的策略來源于實(shí)際問題,并且通過逐步添加屬性來實(shí)現(xiàn)對于主因素的確定和比較。在本文的應(yīng)用案例中,將問卷中的13個屬性,分階段添加進(jìn)來,每個階段都會刪去影響不占優(yōu)的屬性,在下一階段添加新的屬性,由于上一階段已經(jīng)刪去了與目標(biāo)屬性沒有直接關(guān)系的屬性。通過實(shí)驗(yàn)可以驗(yàn)證h-MMHC算法相對MMHC算法來說具有運(yùn)行時間少以及結(jié)構(gòu)圖簡單的優(yōu)點(diǎn)。
在社會科學(xué)研究中,這種啟發(fā)式的主因素分析方法提供了更加靈活的數(shù)據(jù)處理方式。由于啟發(fā)策略可以根據(jù)具體問題來合理選取,因此在很多場合中這種方法看起來會更加有效。同時也避免了MMHC方法對于所有屬性一次性處理帶來的計算資源上的耗費(fèi)。本文通過教學(xué)評估的一個實(shí)際例子,比較了MMHC和h-MMHC兩種方法的計算效果,其得到的結(jié)論是一致的,但是在耗費(fèi)計算資源方面有明顯差別,h-MMHC方法能夠更快地完成計算。當(dāng)然也需要指出的是,在這個案例中,有些結(jié)論和相關(guān)關(guān)系是與該案例的特殊情況有關(guān),并不具有一般性。我們關(guān)心的是h-MMHC算法在這個案例中的應(yīng)用。
參考文獻(xiàn)
[1] 仝美紅,段富.基于主成分分析和熵值法的高校教師績效評價[J].計算機(jī)應(yīng)用與軟件,2014,31(1):62-64,169.
[2]TingChooyee,YokchengSam,CheeonnWong.ModelofconceptualchangeforINQPRO:ABayesianNetworkapproach[C].Computers&Education,2013,65:77-91.
[3]MillánE,Descal?oL,CastilloG,etal.UsingBayesiannetworkstoimproveknowledgeassessment[J].Computers&Education,2013,60(1):436-447.
[4]MillánE,LobodaT,Pérez-de-la-CruzJL.Bayesiannetworksforstudentmodelengineering[J].Computers&Education,2010,55(4):1663-1683.
[5] 馬希榮,孫華志.數(shù)據(jù)挖掘技術(shù)在教學(xué)評價中的應(yīng)用[J].計算機(jī)工程與應(yīng)用,2003,39(19):51-54.
[6] 方耀楣,何萬篷.可拓數(shù)據(jù)挖掘在高校教學(xué)質(zhì)量評價中的應(yīng)用[J].數(shù)學(xué)的實(shí)踐與認(rèn)識,2009(4):82-87.
[7] 魏浩,丁要軍.一種基于相關(guān)的屬性選擇改進(jìn)算法[J].計算機(jī)應(yīng)用與軟件,2014,31(8):280,284.
[8] 何德琳,程勇,趙瑞蓮.基于MMHC算法的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)算法研究[J].北京工商大學(xué)學(xué)報:自然科學(xué)版,2008,26(3):43-48.
[9] 楊靜,曹家儉.連續(xù)貝葉斯網(wǎng)絡(luò)模型在斷面調(diào)查數(shù)據(jù)的應(yīng)用[J].計算機(jī)工程與應(yīng)用,2014,50(19):192-198.
[10]RussellStuart,PeterNorvig.人工智能—一種現(xiàn)代方法[M].清華大學(xué)出版社,2002.
[11]TsamardinosI,BrownLE,AliferisCF.Themax-minhill-climbingBayesiannetworkstructurelearningalgorithm[J].Machinelearning,2006,65(1):31-78.
[12]FriedmanN,LinialM,NachmanI,etal.UsingBayesiannetworkstoanalyzeexpressiondata[J].Journalofcomputationalbiology,2000,7(3-4):601-620.
[13]FriedmanN,NachmanI,PeérD.LearningBayesiannetworkstructurefrommassivedatasets:the?sparsecandidate?algorithm[C]//ProceedingsoftheFifteenthconferenceonUncertaintyinartificialintelligence.MorganKaufmannPublishersInc,1999:206-215.
[14]MeekC.StrongcompletenessandfaithfulnessinBayesiannetworks[C]//ProceedingsoftheEleventhconferenceonUncertaintyinartificialintelligence.MorganKaufmannPublishersInc,1995:411-418.
[15] 徐秋云.影響課堂教學(xué)效果的主要因素分析[J].科技信息(學(xué)術(shù)研究),2007(30):197.
H-MMHC ALGORITHM AND ITS APPLICATION IN PRINCIPAL FACTORS ANALYSIS
Li ChangqunYang JingCheng WenjuanAn Ning
(School of Computer and Information,Hefei University of Technology,Hefei 230009, Anhui,China)
AbstractSince MMHC algorithm is a construction of network structure diagram for all properties, its operation time is relatively long and its chart is somewhat complicated. In view of this, we propose the heuristic h-MMHC algorithm, which is an improvement of MMHC. Starting from an initial attribute set, the h-MMHC algorithm utilises MMHC local learning method and heuristic principle to add new attributes incrementally, and eventually obtains the Bayesian network structure of correlation relationship among attributes. Using teaching effect evaluation as a concrete example, in the paper we compare MMHC and h-MMHC algorithms: using the questionnaire designed by Likert scale method to collect data and employing these two algorithms to analyse the surveyed data. Relative to MMHC algorithm, due to the decrease in the size of attribute set to be considered, h-MMHC can be better applied to principal factors analyses.
Keywordsh-MMHC algorithmBayesian networkPrincipal factor analysisTeaching evaluation
收稿日期:2015-01-08。國家自然科學(xué)基金項(xiàng)目(61305064,5127 4078);安徽省重大委托教研項(xiàng)目(2012jyzd15w);大學(xué)計算機(jī)課程改革項(xiàng)目(教高司函,<2012>188號)。李昌群,碩士生,主研領(lǐng)域:貝葉斯理論應(yīng)用。楊靜,副教授。程文娟,副教授。安寧,教授。
中圖分類號TP3-05
文獻(xiàn)標(biāo)識碼A
DOI:10.3969/j.issn.1000-386x.2016.06.058