999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于BP算法確定題庫試題分值的研究

2007-12-31 00:00:00
考試周刊 2007年44期

摘 要:本文將BP(Back Propagation)神經網絡應用到題庫試題分值的確定中,以解決目前智能組卷研究中題庫試題分值確定的不合理性。在訓練網絡時,對標準BP算法作了相應改進,以適應該智能模型的建立。通過案例試驗,驗證了確定試題分值的智能模型的精度是符合實際要求的,在一定程度上為智能化組卷奠定了基礎。

關鍵詞:BP算法 題庫 試題分值

引言

題庫是保證考試題目具有較高質量、更好地達到教育測量目標的重要手段。隨著計算機及網絡技術,特別是人工智能技術在現代教育中的推廣及應用,教育領域對電子測評有了很大的重視,更多地關注題庫建設及智能組卷的研發。

目前,市面上已出現了各種各樣的題庫系統。實際上題庫建設仍缺乏科學理論指導,尤其是在試題參數確定上,主觀因素影響很大,使題庫系統不能很好地實現預期的目標。例如,試題分值的確定一直沒有一個很好的解決方案。傳統的做法是采用難度賦分法和時間賦分法[1],而沒有考慮其它因素的影響,如知識點數、知識點的重要程度等。考慮到試題分值與影響試題分值的參數之間的高度非線性關系,本文利用BP神經網絡所具備的模擬人的思維、非線性變換和自學等功能來構建試題分值智能確定模型,以克服傳統做法中各種隨機性和主觀性對分值的影響。

1 基本原理和方法

利用已知樣本對BP網絡進行訓練,使其獲得專家經驗和對確定試題分值的認識,當對新的樣本進行處理時,該網絡模擬人的思維并再現專家知識經驗,達到客觀地確定試題分值的目的,具體步驟是:

① 提取確定試題分值的參數,量化處理為(0,1)內的精確值作為網絡輸入。

② 利用已有的專家知識庫(樣本庫),通過BP算法對網絡進行訓練,通過對網絡參數及算法參數的調整得到穩定的網絡參數——分數確定模型。為了能在實際應用中保證可接受的計算精度,我們在訓練網絡時,使它在更高的精度下收斂。

③ 輸入需要確定分值的相關試題參數,網絡根據自學獲得的專家知識經驗對輸入值進行處理,然后輸出(0,1)的值作為最終結果(該試題的分值)。

2 分值確定的BP神經網絡結構

本文分析總結出影響題庫試題分值得7個參數(BP網絡的輸入向量),作為對該領域問題的首次研究,為了獲得足夠多的有代表性的訓練樣本,本文限制參數“題型”的取值為:1、2、3和4,分別代表單選題、多選題、判斷改錯題和填空題。根據考試理論、命題設計理論,屬于這幾類題型的每道試題所考察的知識點一般不超過3個,而且最適合考查識記、理解和應用三個認知水平。所以本文亦限制參數“知識點數”取[1,3]之間的整數,同時限制參數“認知層次”的取值為:1、2和3,分別代表識記、理解和應用。從而縮小了樣本空間。7個參數的取值見表1。

在神經網絡的應用中,網絡結構的選擇很重要,好的網絡結構可以減少網絡訓練次數,提高網絡學習精度。[2]隱含層數越多,神經網絡學習速度就越慢,根據Kosmogorov定理,在合理的結構和恰當的權值條件下,3層BP神經網絡可以逼近任意的連續函數,因此,我們選取了3層BP網絡結構,如圖1所示。

圖1

其中,輸入層節點數目n由影響試題分值參數個數確定,這里n=7,由于輸出結果為一個試題分值,故輸出節點數為m=1;在總結大量網絡結構的基礎上,得出隱含層神經元數目的經驗公式為

由此本文初步確定隱含層的神經元數目為s=5。在實驗仿真時,我們將動態調整隱含層的神經元數目,以獲得網絡

3 調整BP算法

3.1 動態調整隱含層單元數目和學習步長

如上所述,初步確定隱含層神經元數目為5,然后,通過人機交互,增加或減少隱含層神經元數目,分析比較全局誤差的震蕩程度、誤差遞減程度、誤差穩定后的網絡精確程度及網絡的收斂性能,從而確定隱含層神經元數目。本文訓練網絡時既沒有采用固定步長,也沒有采用自適應調整步長的方法,而是采用人機交互動態調整的方法,筆者認為這樣雖然麻煩,但對步長的調整是更智能的。

3.2 選擇模式對的方法及全局誤差的計算

本文將所有的樣本都存儲在數據庫中,并把2/3的樣本作為訓練樣本,在選擇模式對時,從訓練樣本的第一條記錄開始一直到最后一條,如此循環。經過反復實驗,驗證了這種方法比隨機選擇的方法更加有效,表現為網絡誤差遞減明顯,基本不存在震蕩。通過分析,筆者認為,在隨機選擇方法中,由于隨機性,不能保證所有的代表性樣本都被選中,使得樣本不再代表整體,失去了樣本的意義,致使誤差遞減緩慢,震蕩明顯,訓練不得收斂。采用下式計算全局誤差:

其中,fp是輸出層的實際輸出,y是期望輸出,M為訓練樣本總數,E是全局誤差,N為正整數,該值的選擇要合理,否則會使網絡進入局部極小值,或者誤差遞減緩慢,震蕩明顯,訓練難于收斂。

4 題庫試題分值確定實例及分析

4.1 樣本的選取

樣本應很好地代表整體,這就要求必須有足夠訓練樣本,否則樣本只能代表整體中的某一部分,這樣即使網絡訓練到了很高的精度,當實際應用時會發現網絡誤差有時變得很大,根本無法使用。根據這一原則及確定試題分值得參數個數和每一參數的取值,我們至少需要22500個訓練樣本。考慮到獲取樣本的難度及分值確定所需要的實際精度,本文從我們正在研發的《計算機文化基礎》課程的智能題庫中提取了具有高度代表性800個訓練樣本和400個試驗樣本,由于題庫中的試題的難度、區分度等參數是經過測試得到的,所以是比較可信的,答題時間及分值根據經驗人為估算而得。為了提高網絡精度,我們又組織了一個專門小組(三位相關專業的教授和7位信息技術教學論專業的碩士研究生)對1200個樣本的估計答題時間及分值進行了比較嚴密的估算,估算值精確到0.1。估算方法是十位小組成員分別對每個樣本的答題時間及分值估算,然后去掉一個最高分和一個最低分,把剩下的八個估算值計算加權平均值,所得的值即為最后的答題時間或分值。

4.2 樣本歸一化處理

為了使歸一化處理的結果盡可能均勻分布在[0,1]之間,本文采用了如下式所示的歸一化方法:

4.3 確定訓練網絡的精度

在實際中,我們通常以0.5的整數倍作為某一試題的分值,所以如果得到的BP網絡模型能精確到0.1就可以了,然后根據類四舍五入的方法把它處理為0.5的整數倍的一個值。當結果的小數部分小于0.25時,則舍掉,當介于[0.25,0.75],則處理為0.5,大于等于0.75,則向整數進1。這是符合實際要求的。然而,經訓練達到某一精度的網絡在實際應用時,其誤差總是圍繞某固定值上下波動。特別是當樣本的代表性較差時,更是如此。為此,我們在訓練樣本時,將網絡的全局誤差設置得比實際要求的更小。本研究將其設為10-5。

4.4 網絡訓練過程

本研究在網絡訓練時,隱含層單元數動態調整,以得到更合適的隱含層單元數目。沒有采用動量項(經試驗,沒有動量項效果更好),步長動態調整,將其初值設為1,然后根據誤差遞減情況以0.05的幅度在[0,1]之間調整。循環選擇800個訓練樣本對網絡進行訓練,每循環m次計算一次全局誤差,每循環n(n為m的整數倍)次觀察記錄一次誤差變化情況,通過分析比較決定步長調整方向。訓練網絡的主要程序代碼(c#)如下:

button3_Click(object sender,EventArgs e)

{h_num= int.Parse(textBox1.Text.ToString());

//動態指定隱含層單元數

wj=new double[h_num];//輸出-隱含權值

wij=new double[7,h_num];//隱含-輸入權值

hvj=new double[h_num];//隱含層閾值

int i,j;

netj=new double[h_num];//隱含層輸入向量

xi=new double[7];//輸入層輸入向量

comm2=conn1.CreateCommand();

hoj=new double[h_num];//隱含層輸出向量

ej=new double[h_num];//隱含層的一般誤差

//初始化權值、閾值、步長及動量系數

a=double.Parse(textBox2.Text.ToString());

//初始化輸出節點閾值

double e1=0.00001,E1=e1+1,E2=0;

int count=0,count1=0;

for(i=0;i<7;i++)

{for(j=0;j

{hvj[j]=rand.Next(-100,100)*0.01;

wj[j]=rand.Next(-100,100)*0.01;

wij[i,j]=rand.Next(-100,100)*0.01;

}

}

//計算隱含層輸

comm1.CommandText = \" select count(*) from gyhVIEW\" ;

yb_count = (int)comm1.ExecuteScalar();

yb_count = yb_count * 2 / 3;ybbh = 0;

while(e1

{if(count<=0){E2=0;}

ybbh+=1;

if(ybbh>=yb_count+1) ybbh=1;

ybbh=rand.Next(1,yb_count+1);

comm2.CommandText = \"select * from gyhVIEW

where 樣本編號=\"+ \" ’\" + ybbh + \" ’\" ;

dr1 = comm2.ExecuteReader();

if (dr1.Read())

{for (i = 0;i < 7;i++)

xi[i] = double.Parse(dr1[i + 1].ToString());

yt= double.Parse(dr1[\" y\" ].ToString());}

dr1.Close();

//計算隱含層輸入和輸出

for(j= 0;j < h_num;j++)

{netj[j] = 0;

for(i = 0;i < 7;i++)

netj[j]+= wij[i,j] * xi[i];

netj[j] -= hvj[j];}

for (j = 0;j < h_num;j++)

hoj[j]=1/(1+ Math.Exp(-netj[j]));

//計算輸出層的輸入和輸出

net=0;

for(j=0;j

net+=wj[j]*hoj[j];net-=ov;

yp=1/(1+Math.Exp(-net));

//計算輸出層和隱含層的一般誤差

d=(yt - yp) * yp * (1 - yp);

for (j = 0;j < h_num;j++)

ej[j] = wj[j] * d * hoj[j]*(1 - hoj[j]);

//修正wj和ov

for (j = 0;j < h_num;j++)

wj[j]= wj[j]+p * d * hoj[j];

ov = ov+n * d;

//修正wji和hovj

for (j = 0;j < h_num;j++)

{ for (i = 0;i < 7;i++)

wij[i,j]=wij[i,j] + a * ej[j] * xi[i];

hoj[j]=hoj[j] +ej[j] * u;}

E2 += Math.Pow((yt - yp),2);count += 1;

if (count >= 3*yb_count)

{ E1 = E2 /3*yb_count;count = 0;count1 += 1;

if (count1 >= 1000)

{if (MessageBox.Show(E1.ToString() + \" a=\"+ a.ToString() + \"減小步長?\",\"提示信息\",

MessageBoxButtons.OKCancel,

MessageBoxIcon.Question) == DialogResult.OK)

{ a -= 0.05;}

if (MessageBox.Show(E1.ToString() + \"增加步長?\",\"提示信息\",

MessageBoxButtons.OKCancel,

MessageBoxIcon.Question) == DialogResult.OK)

{ a += 0.05;} count1 = 0;}}}

通過反復訓練和比較分析,最后將網絡隱含層單元數目確定為6,每循環3次計算一次全局誤差,次每循環3000次觀察記錄一次誤差變化情況,學習步長從1調整到0.65,最后在0.65時收斂。共訓練了1128萬次。模型穩定后,輸入層與隱含層的連接權值如圖3所示(其中i表示輸入層單元序號,wij表示輸入層單元i與隱含層單元j的連接權值),隱含層與輸出層的連接權值及隱含層閾值如圖4所示(其中j表示隱含層單元序號),輸出層閾值為-33.05475。

觀察分析網絡模型的測試誤差,基本都小于0.005,最小值為0.0001399517,最大值為0.01044011,完全滿足題庫試題分值確定所要求的精度(0.1),符合實際用需求。

結束語

本文將BP神經網絡應用到題庫試題分值的確定中,為題庫試題分值得確定提供了一種可行的方法。在應用BP算法時,動態調整隱含層單元數目,動態調整學習步長,采用循環選擇訓練樣本的模式對選擇方法,經過特定次數的循環訓練后計算一次全局誤差。所有這些均源于本模型的準確建構。另外,如果訓練樣本能夠很好地代表整體,用這種方法將能建立精度更高的確定試題分值的智能模型。

參考文獻:

[1]胡中鋒,李方.教育測量與評價[M].廣東高等教育出版社,2003.7.

[2]Hadi,MuhammadN.S.Neuralnetworks applications in concrete structures. Computers and Structures Volume:81,Issue:6,March,2003,pp.373-381.

[3]姜華,趙潔.基于BP神經網絡的學習行為評價模型及實現[J].計算機應用與軟件,2005.22,(8):89-91.

[4]戴永偉,雷志勇.BP網絡學習算法研究及其圖像識別應用[J].計算機與現代化,2006.11:68-70.

[5]宋乃華,邢清華.一種新的基于粒群優化的BP網絡學習算法[J].計算機工程,2006.14:181-183.

基金項目:全國教育科學“十一五”規劃教育考試學研究重點課題項目(2006JKS3017);山西省教育科學“十一五”規劃課題(GH-06106)。

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”

主站蜘蛛池模板: 成人伊人色一区二区三区| 四虎成人精品| 欧美一区二区三区不卡免费| 成年人福利视频| 亚欧成人无码AV在线播放| 91在线无码精品秘九色APP| 国产成人精品18| 国产精品免费电影| 国产精品无码久久久久AV| 久久国产黑丝袜视频| 免费看美女自慰的网站| 国产综合网站| 午夜日本永久乱码免费播放片| 欧美人与性动交a欧美精品| 久久精品亚洲中文字幕乱码| 99热这里只有精品国产99| 欧美区国产区| 亚洲精品欧美日韩在线| 亚洲综合第一区| 亚洲性日韩精品一区二区| 亚洲一区精品视频在线| 亚洲成a人在线播放www| 国产精品性| 毛片a级毛片免费观看免下载| 新SSS无码手机在线观看| 国产成人精品一区二区不卡| 夜夜操国产| 尤物亚洲最大AV无码网站| 亚洲侵犯无码网址在线观看| 久久国产亚洲偷自| 久久伊人色| 欧美成人h精品网站| 99久视频| 丁香婷婷综合激情| 日韩国产一区二区三区无码| 免费不卡在线观看av| 日韩无码视频专区| 丁香亚洲综合五月天婷婷| 国产精品久久久久久久伊一| www.99精品视频在线播放| 国产一区二区三区在线精品专区| 亚洲中文在线看视频一区| 特级欧美视频aaaaaa| 国产乱子伦无码精品小说| 九九热精品免费视频| 亚洲熟女中文字幕男人总站| 亚洲二三区| 国产精品人莉莉成在线播放| 亚洲国产亚综合在线区| 狠狠v日韩v欧美v| 91精品国产自产91精品资源| 91视频日本| 一级毛片免费高清视频| 狠狠色噜噜狠狠狠狠色综合久| 国产又黄又硬又粗| 香蕉久人久人青草青草| 国产乱子伦手机在线| 日韩欧美国产综合| 男人天堂亚洲天堂| 国产精品视频猛进猛出| 在线国产欧美| 国产精品专区第1页| 国产精女同一区二区三区久| 亚洲国产看片基地久久1024| 国产爽妇精品| 国产欧美在线观看一区| 午夜精品国产自在| 人妻一本久道久久综合久久鬼色| 亚洲无线视频| 91青青视频| 精品無碼一區在線觀看 | 亚洲成人福利网站| 2022国产无码在线| 欧美国产日韩在线观看| 色婷婷国产精品视频| 中文字幕啪啪| 伊人91视频| 久视频免费精品6| 精品1区2区3区| 日韩国产无码一区| 特级毛片免费视频| 色综合久久综合网|