佑玲天涯
摘 要:本文將BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)應(yīng)用到題庫(kù)試題分值的確定中,以解決目前智能組卷研究中題庫(kù)試題分值確定的不合理性。在訓(xùn)練網(wǎng)絡(luò)時(shí),對(duì)標(biāo)準(zhǔn)BP算法作了相應(yīng)改進(jìn),以適應(yīng)該智能模型的建立。通過(guò)案例試驗(yàn),驗(yàn)證了確定試題分值的智能模型的精度是符合實(shí)際要求的,在一定程度上為智能化組卷奠定了基礎(chǔ)。 關(guān)鍵詞:BP算法 題庫(kù) 試題分值 引言 題庫(kù)是保證考試題目具有較高質(zhì)量、更好地達(dá)到教育測(cè)量目標(biāo)的重要手段。隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù),特別是人工智能技術(shù)在現(xiàn)代教育中的推廣及應(yīng)用,教育領(lǐng)域?qū)﹄娮訙y(cè)評(píng)有了很大的重視,更多地關(guān)注題庫(kù)建設(shè)及智能組卷的研發(fā)。 目前,市面上已出現(xiàn)了各種各樣的題庫(kù)系統(tǒng)。實(shí)際上題庫(kù)建設(shè)仍缺乏科學(xué)理論指導(dǎo),尤其是在試題參數(shù)確定上,主觀因素影響很大,使題庫(kù)系統(tǒng)不能很好地實(shí)現(xiàn)預(yù)期的目標(biāo)。例如,試題分值的確定一直沒(méi)有一個(gè)很好的解決方案。傳統(tǒng)的做法是采用難度賦分法和時(shí)間賦分法[1],而沒(méi)有考慮其它因素的影響,如知識(shí)點(diǎn)數(shù)、知識(shí)點(diǎn)的重要程度等??紤]到試題分值與影響試題分值的參數(shù)之間的高度非線性關(guān)系,本文利用BP神經(jīng)網(wǎng)絡(luò)所具備的模擬人的思維、非線性變換和自學(xué)等功能來(lái)構(gòu)建試題分值智能確定模型,以克服傳統(tǒng)做法中各種隨機(jī)性和主觀性對(duì)分值的影響。 1 基本原理和方法 利用已知樣本對(duì)BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使其獲得專家經(jīng)驗(yàn)和對(duì)確定試題分值的認(rèn)識(shí),當(dāng)對(duì)新的樣本進(jìn)行處理時(shí),該網(wǎng)絡(luò)模擬人的思維并再現(xiàn)專家知識(shí)經(jīng)驗(yàn),達(dá)到客觀地確定試題分值的目的,具體步驟是: ① 提取確定試題分值的參數(shù),量化處理為(0,1)內(nèi)的精確值作為網(wǎng)絡(luò)輸入。 ② 利用已有的專家知識(shí)庫(kù)(樣本庫(kù)),通過(guò)BP算法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)對(duì)網(wǎng)絡(luò)參數(shù)及算法參數(shù)的調(diào)整得到穩(wěn)定的網(wǎng)絡(luò)參數(shù)――分?jǐn)?shù)確定模型。為了能在實(shí)際應(yīng)用中保證可接受的計(jì)算精度,我們?cè)谟?xùn)練網(wǎng)絡(luò)時(shí),使它在更高的精度下收斂。 ③ 輸入需要確定分值的相關(guān)試題參數(shù),網(wǎng)絡(luò)根據(jù)自學(xué)獲得的專家知識(shí)經(jīng)驗(yàn)對(duì)輸入值進(jìn)行處理,然后輸出(0,1)的值作為最終結(jié)果(該試題的分值)。 2 分值確定的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 本文分析總結(jié)出影響題庫(kù)試題分值得7個(gè)參數(shù)(BP網(wǎng)絡(luò)的輸入向量),作為對(duì)該領(lǐng)域問(wèn)題的首次研究,為了獲得足夠多的有代表性的訓(xùn)練樣本,本文限制參數(shù)“題型”的取值為:1、2、3和4,分別代表單選題、多選題、判斷改錯(cuò)題和填空題。根據(jù)考試?yán)碚摗⒚}設(shè)計(jì)理論,屬于這幾類題型的每道試題所考察的知識(shí)點(diǎn)一般不超過(guò)3個(gè),而且最適合考查識(shí)記、理解和應(yīng)用三個(gè)認(rèn)知水平。所以本文亦限制參數(shù)“知識(shí)點(diǎn)數(shù)”?。?,3]之間的整數(shù),同時(shí)限制參數(shù)“認(rèn)知層次”的取值為:1、2和3,分別代表識(shí)記、理解和應(yīng)用。從而縮小了樣本空間。7個(gè)參數(shù)的取值見(jiàn)表1。 在神經(jīng)網(wǎng)絡(luò)的應(yīng)用中,網(wǎng)絡(luò)結(jié)構(gòu)的選擇很重要,好的網(wǎng)絡(luò)結(jié)構(gòu)可以減少網(wǎng)絡(luò)訓(xùn)練次數(shù),提高網(wǎng)絡(luò)學(xué)習(xí)精度。[2]隱含層數(shù)越多,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速度就越慢,根據(jù)Kosmogorov定理,在合理的結(jié)構(gòu)和恰當(dāng)?shù)臋?quán)值條件下,3層BP神經(jīng)網(wǎng)絡(luò)可以逼近任意的連續(xù)函數(shù),因此,我們選取了3層BP網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。 圖1 其中,輸入層節(jié)點(diǎn)數(shù)目n由影響試題分值參數(shù)個(gè)數(shù)確定,這里n=7,由于輸出結(jié)果為一個(gè)試題分值,故輸出節(jié)點(diǎn)數(shù)為m=1;在總結(jié)大量網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,得出隱含層神經(jīng)元數(shù)目的經(jīng)驗(yàn)公式為 由此本文初步確定隱含層的神經(jīng)元數(shù)目為s=5。在實(shí)驗(yàn)仿真時(shí),我們將動(dòng)態(tài)調(diào)整隱含層的神經(jīng)元數(shù)目,以獲得網(wǎng)絡(luò) 3 調(diào)整BP算法 動(dòng)態(tài)調(diào)整隱含層單元數(shù)目和學(xué)習(xí)步長(zhǎng) 如上所述,初步確定隱含層神經(jīng)元數(shù)目為5,然后,通過(guò)人機(jī)交互,增加或減少隱含層神經(jīng)元數(shù)目,分析比較全局誤差的震蕩程度、誤差遞減程度、誤差穩(wěn)定后的網(wǎng)絡(luò)精確程度及網(wǎng)絡(luò)的收斂性能,從而確定隱含層神經(jīng)元數(shù)目。本文訓(xùn)練網(wǎng)絡(luò)時(shí)既沒(méi)有采用固定步長(zhǎng),也沒(méi)有采用自適應(yīng)調(diào)整步長(zhǎng)的方法,而是采用人機(jī)交互動(dòng)態(tài)調(diào)整的方法,筆者認(rèn)為這樣雖然麻煩,但對(duì)步長(zhǎng)的調(diào)整是更智能的。 選擇模式對(duì)的方法及全局誤差的計(jì)算 本文將所有的樣本都存儲(chǔ)在數(shù)據(jù)庫(kù)中,并把2/3的樣本作為訓(xùn)練樣本,在選擇模式對(duì)時(shí),從訓(xùn)練樣本的第一條記錄開(kāi)始一直到最后一條,如此循環(huán)。經(jīng)過(guò)反復(fù)實(shí)驗(yàn),驗(yàn)證了這種方法比隨機(jī)選擇的方法更加有效,表現(xiàn)為網(wǎng)絡(luò)誤差遞減明顯,基本不存在震蕩。通過(guò)分析,筆者認(rèn)為,在隨機(jī)選擇方法中,由于隨機(jī)性,不能保證所有的代表性樣本都被選中,使得樣本不再代表整體,失去了樣本的意義,致使誤差遞減緩慢,震蕩明顯,訓(xùn)練不得收斂。采用下式計(jì)算全局誤差: 其中,fp是輸出層的實(shí)際輸出,y是期望輸出,M為訓(xùn)練樣本總數(shù),E是全局誤差,N為正整數(shù),該值的選擇要合理,否則會(huì)使網(wǎng)絡(luò)進(jìn)入局部極小值,或者誤差遞減緩慢,震蕩明顯,訓(xùn)練難于收斂。 4 題庫(kù)試題分值確定實(shí)例及分析 樣本的選取 樣本應(yīng)很好地代表整體,這就要求必須有足夠訓(xùn)練樣本,否則樣本只能代表整體中的某一部分,這樣即使網(wǎng)絡(luò)訓(xùn)練到了很高的精度,當(dāng)實(shí)際應(yīng)用時(shí)會(huì)發(fā)現(xiàn)網(wǎng)絡(luò)誤差有時(shí)變得很大,根本無(wú)法使用。根據(jù)這一原則及確定試題分值得參數(shù)個(gè)數(shù)和每一參數(shù)的取值,我們至少需要22500個(gè)訓(xùn)練樣本??紤]到獲取樣本的難度及分值確定所需要的實(shí)際精度,本文從我們正在研發(fā)的《計(jì)算機(jī)文化基礎(chǔ)》課程的智能題庫(kù)中提取了具有高度代表性800個(gè)訓(xùn)練樣本和400個(gè)試驗(yàn)樣本,由于題庫(kù)中的試題的難度、區(qū)分度等參數(shù)是經(jīng)過(guò)測(cè)試得到的,所以是比較可信的,答題時(shí)間及分值根據(jù)經(jīng)驗(yàn)人為估算而得。為了提高網(wǎng)絡(luò)精度,我們又組織了一個(gè)專門小組(三位相關(guān)專業(yè)的教授和7位信息技術(shù)教學(xué)論專業(yè)的碩士研究生)對(duì)1200個(gè)樣本的估計(jì)答題時(shí)間及分值進(jìn)行了比較嚴(yán)密的估算,估算值精確到。估算方法是十位小組成員分別對(duì)每個(gè)樣本的答題時(shí)間及分值估算,然后去掉一個(gè)最高分和一個(gè)最低分,把剩下的八個(gè)估算值計(jì)算加權(quán)平均值,所得的值即為最后的答題時(shí)間或分值。 樣本歸一化處理 為了使歸一化處理的結(jié)果盡可能均勻分布在[0,1]之間,本文采用了如下式所示的歸一化方法: 確定訓(xùn)練網(wǎng)絡(luò)的精度 在實(shí)際中,我們通常以的整數(shù)倍作為某一試題的分值,所以如果得到的BP網(wǎng)絡(luò)模型能精確到就可以了,然后根據(jù)類四舍五入的方法把它處理為的整數(shù)倍的一個(gè)值。當(dāng)結(jié)果的小數(shù)部分小于時(shí),則舍掉,當(dāng)介于[,],則處理為,大于等于,則向整數(shù)進(jìn)1。這是符合實(shí)際要求的。然而,經(jīng)訓(xùn)練達(dá)到某一精度的網(wǎng)絡(luò)在實(shí)際應(yīng)用時(shí),其誤差總是圍繞某固定值上下波動(dòng)。特別是當(dāng)樣本的代表性較差時(shí),更是如此。為此,我們?cè)谟?xùn)練樣本時(shí),將網(wǎng)絡(luò)的全局誤差設(shè)置得比實(shí)際要求的更小。本研究將其設(shè)為10-5。 網(wǎng)絡(luò)訓(xùn)練過(guò)程 本研究在網(wǎng)絡(luò)訓(xùn)練時(shí),隱含層單元數(shù)動(dòng)態(tài)調(diào)整,以得到更合適的隱含層單元數(shù)目。沒(méi)有采用動(dòng)量項(xiàng)(經(jīng)試驗(yàn),沒(méi)有動(dòng)量項(xiàng)效果更好),步長(zhǎng)動(dòng)態(tài)調(diào)整,將其初值設(shè)為1,然后根據(jù)誤差遞減情況以的幅度在[0,1]之間調(diào)整。循環(huán)選擇800個(gè)訓(xùn)練樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,每循環(huán)m次計(jì)算一次全局誤差,每循環(huán)n(n為m的整數(shù)倍)次觀察記錄一次誤差變化情況,通過(guò)分析比較決定步長(zhǎng)調(diào)整方向。訓(xùn)練網(wǎng)絡(luò)的主要程序代碼(c#)如下: button3_Click(object sender,EventArgs e) 本文為全文原貌 未安裝PDF瀏覽器用戶請(qǐng)先下載安裝 原版全文 {h_num= (()); //動(dòng)態(tài)指定隱含層單元數(shù) wj=new double[h_num];//輸出-隱含權(quán)值 wij=new double[7,h_num];//隱含-輸入權(quán)值 hvj=new double[h_num];//隱含層閾值 int i,j; netj=new double[h_num];//隱含層輸入向量 xi=new double[7];//輸入層輸入向量 comm2=(); hoj=new double[h_num];//隱含層輸出向量 ej=new double[h_num];//隱含層的一般誤差 //初始化權(quán)值、閾值、步長(zhǎng)及動(dòng)量系數(shù) a=(()); //初始化輸出節(jié)點(diǎn)閾值 double e1=,E1=e1+1,E2=0; int count=0,count1=0; for(i=0;i=yb_count+1) ybbh=1; ybbh=(1,yb_count+1); = "select * from gyhVIEW where 樣本編號(hào)="+ " ’" + ybbh + " ’" ; dr1 = (); if (()) {for (i = 0;i = 3*yb_count) { E1 = E2 /3*yb_count;count = 0;count1 += 1; if (count1 >= 1000) {if ((() + " a="+ () + "減小步長(zhǎng)?","提示信息", , ) == ) { a -= ;} if ((() + "增加步長(zhǎng)?","提示信息", , ) == ) { a += ;} count1 = 0;}}} 通過(guò)反復(fù)訓(xùn)練和比較分析,最后將網(wǎng)絡(luò)隱含層單元數(shù)目確定為6,每循環(huán)3次計(jì)算一次全局誤差,次每循環(huán)3000次觀察記錄一次誤差變化情況,學(xué)習(xí)步長(zhǎng)從1調(diào)整到,最后在時(shí)收斂。共訓(xùn)練了1128萬(wàn)次。模型穩(wěn)定后,輸入層與隱含層的連接權(quán)值如圖3所示(其中i表示輸入層單元序號(hào),wij表示輸入層單元i與隱含層單元j的連接權(quán)值),隱含層與輸出層的連接權(quán)值及隱含層閾值如圖4所示(其中j表示隱含層單元序號(hào)),輸出層閾值為。 觀察分析網(wǎng)絡(luò)模型的測(cè)試誤差,基本都小于,最小值為,最大值為,完全滿足題庫(kù)試題分值確定所要求的精度(),符合實(shí)際用需求。 結(jié)束語(yǔ) 本文將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到題庫(kù)試題分值的確定中,為題庫(kù)試題分值得確定提供了一種可行的方法。在應(yīng)用BP算法時(shí),動(dòng)態(tài)調(diào)整隱含層單元數(shù)目,動(dòng)態(tài)調(diào)整學(xué)習(xí)步長(zhǎng),采用循環(huán)選擇訓(xùn)練樣本的模式對(duì)選擇方法,經(jīng)過(guò)特定次數(shù)的循環(huán)訓(xùn)練后計(jì)算一次全局誤差。所有這些均源于本模型的準(zhǔn)確建構(gòu)。另外,如果訓(xùn)練樣本能夠很好地代表整體,用這種方法將能建立精度更高的確定試題分值的智能模型。 參考文獻(xiàn): [1]胡中鋒,李方.教育測(cè)量與評(píng)價(jià)[M].廣東高等教育出版社,. [2]Hadi, applications in concrete structures. Computers and Structures Volume:81,Issue:6,March,2003,. [3]姜華,趙潔.基于BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)行為評(píng)價(jià)模型及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,,(8):89-91. [4]戴永偉,雷志勇.BP網(wǎng)絡(luò)學(xué)習(xí)算法研究及其圖像識(shí)別應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,:68-70. [5]宋乃華,邢清華.一種新的基于粒群優(yōu)化的BP網(wǎng)絡(luò)學(xué)習(xí)算法[J].計(jì)算機(jī)工程,:181-183. 基金項(xiàng)目:全國(guó)教育科學(xué)“十一五”規(guī)劃教育考試學(xué)研究重點(diǎn)課題項(xiàng)目(2006JKS3017);山西省教育科學(xué)“十一五”規(guī)劃課題(GH-06106)。 注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文?!? 本文為全文原貌 未安裝PDF瀏覽器用戶請(qǐng)先下載安裝 原版全文
我們家懶格格
1.算法工程師要求很高的數(shù)學(xué)水平和邏輯思維。其實(shí)語(yǔ)言是次要的,語(yǔ)言只是表達(dá)的方式而已。2 你想成為算法工程師還需要一定的英文水準(zhǔn),因?yàn)榭粗形臅阃耆w會(huì)不到原滋味。3 不要太拘泥于教材。高數(shù),線性代數(shù),離散數(shù)學(xué),數(shù)據(jù)結(jié)構(gòu)
優(yōu)質(zhì)工程師考試問(wèn)答知識(shí)庫(kù)