亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多層感知器神經(jīng)網(wǎng)絡(luò)的學(xué)生校內(nèi)消費評估研究

        2018-08-01 07:13:08馬曉娜
        中國教育信息化 2018年14期
        關(guān)鍵詞:感知器貧困生神經(jīng)元

        武 斌 ,馬曉娜

        (1.安徽理工大學(xué) 現(xiàn)代教育技術(shù)中心,安徽 淮南 232001;2.安徽理工大學(xué) 測繪學(xué)院,安徽 淮南 232001)

        一、引言

        隨著我國教育事業(yè)的不斷發(fā)展,越來越多的公民實現(xiàn)了高等教育,招生人數(shù)的增加給學(xué)校管理與決策帶來了挑戰(zhàn)。如何快速、科學(xué)、可靠地了解學(xué)生的相關(guān)情況顯得尤為重要。學(xué)生的校內(nèi)消費數(shù)據(jù)中隱含了大量信息,通過對它的分析評估,可以獲取學(xué)生多個方面的信息,為后續(xù)的諸如貧困生認(rèn)定、學(xué)校資源配置優(yōu)化等提供參考。數(shù)據(jù)分析評估可以有多個方向,本文以貧困生認(rèn)定為例。

        貧困生的認(rèn)定指標(biāo)體系中有家庭、個人、學(xué)校、社會等幾個方面,其中學(xué)生校內(nèi)消費是家庭與個人方面的重要體現(xiàn)。因此,我們可以通過分析評估學(xué)生的校內(nèi)消費數(shù)據(jù)挖掘出隱藏的信息,為認(rèn)定工作提供數(shù)據(jù)支持。有部分高校嘗試大數(shù)據(jù)統(tǒng)計分析方法,如決策樹算法[2]、關(guān)聯(lián)規(guī)則算法[3]、層次分析算法[4]、數(shù)據(jù)挖掘算法[5]、聚類分析算法[6]等。這些算法雖然可以獲取信息,但是他們的底層核心算法還是基于傳統(tǒng)的單個評估指標(biāo)的排列組合與邏輯判斷。而這些單個評估指標(biāo)如何確定、準(zhǔn)確與否同樣是需要解決的問題。為此筆者提出了采用機(jī)器學(xué)習(xí)中的多層感知器神經(jīng)網(wǎng)絡(luò)算法,通過學(xué)習(xí)已給定學(xué)生的校內(nèi)消費數(shù)據(jù),建立多層感知器神經(jīng)網(wǎng)絡(luò)模型,最后用建立完成的模型去評估并輸出結(jié)果。

        二、神經(jīng)網(wǎng)絡(luò)

        神經(jīng)網(wǎng)絡(luò)是一種模擬人腦的神經(jīng)網(wǎng)絡(luò)系統(tǒng),以期能夠?qū)崿F(xiàn)類人工智能的機(jī)器學(xué)習(xí)技術(shù)。

        1.神經(jīng)元基本結(jié)構(gòu)

        神經(jīng)元模型是一個包含輸入、輸出與計算功能的模型。輸入可以類比為神經(jīng)元的樹突,而輸出可以類比為神經(jīng)元的軸突,計算則可以類比為細(xì)胞核。一個典型的神經(jīng)元模型如圖1所示。

        圖1 神經(jīng)元基本結(jié)構(gòu)

        圖 1中,SUM為求和,SGN為非線性函數(shù)g,I為輸入,w為權(quán)重,則神經(jīng)元的輸出為:

        當(dāng)大量的神經(jīng)元疊加、具有多個層次的時候,就構(gòu)成了神經(jīng)元網(wǎng)絡(luò)。

        2.多層感知器

        將前一個神經(jīng)元的輸出作為后一個神經(jīng)元的輸入,得到的輸出再作為后一個神經(jīng)元的輸入,不斷疊加,就構(gòu)成了多層感知器(Multilayer Perceptron),如圖2所示。

        圖2 多層感知器(Multi-layer Perceptron)示意圖

        多層感知器是一種前向的神經(jīng)網(wǎng)絡(luò),它的輸入是一組向量,輸出為另一組向量。多層感知器由輸入層(Input Layer)、 隱藏層 (Hidden Layer) 和輸出層(Output Layer)構(gòu)成。其中,隱藏層又可以包含多層。每層由多個節(jié)點構(gòu)成,每層又可以傳遞給下一層,直到輸出層。除去輸入節(jié)點,每個節(jié)點都是一個帶有非線性激活函數(shù)的神經(jīng)元(或稱處理單元)。它的輸出為:

        公式2中,wnj為節(jié)點權(quán)重,bjk為偏差。

        3.求解器

        由神經(jīng)網(wǎng)絡(luò)的輸出表達(dá)式公式2可以看出,求解權(quán)重和偏差是建立神經(jīng)網(wǎng)絡(luò)模型的關(guān)鍵。求解器即是神經(jīng)網(wǎng)絡(luò)模型在學(xué)習(xí)時通過算法求解出權(quán)重與偏差的值。這里使用Adam算法求解。

        Adam算法來源于自適應(yīng)矩估計 (Adaptive Moment Estimation),是梯度下降算法的優(yōu)化,根據(jù)損失函數(shù)對每個參數(shù)的梯度的一階矩估計和二階矩估計動態(tài)調(diào)整針對于每個參數(shù)的學(xué)習(xí)速率,使參數(shù)比較平穩(wěn)。算法如下:

        算法中 η 是學(xué)習(xí)率,gt是梯度函數(shù),mt、nt分別是對梯度的一階矩估計和二階矩估計,可以看作對期望E|gt|、,的估計;是對、mt、nt的校正,這樣可以近似認(rèn)為是期望的無偏估計。同時,學(xué)習(xí)率η也有了限制。

        三、Python編程實現(xiàn)

        1.Python簡介

        Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C(jī)程序設(shè)計語言,其語法簡潔清晰,具有豐富和強(qiáng)大的庫。由于其簡潔性、易讀性以及可擴(kuò)展性,現(xiàn)今用Python做科學(xué)計算的研究機(jī)構(gòu)日益增多,并且眾多開源的科學(xué)計算軟件包都提供了Python的調(diào)用接口,例如NumPy、SciPy和matplotlib都分別為Python提供了快速數(shù)組處理、數(shù)值運算以及繪圖功能。這里使用Python編程實現(xiàn)多層感知器神經(jīng)網(wǎng)絡(luò)模型,并用于評估。

        2.消費數(shù)據(jù)預(yù)處理

        學(xué)生的校內(nèi)消費數(shù)據(jù)主要來自于校園一卡通系統(tǒng)。這里采用校內(nèi)食堂、超市消費數(shù)據(jù)。食堂消費每天有早中晚三餐,每餐有消費次數(shù)與金額,學(xué)生每學(xué)年度在校時間九個月,這樣每位學(xué)生每學(xué)年的消費數(shù)據(jù)就有3×2×30×9=1620條目,作為輸入向量數(shù)據(jù)量過大。為此,采用以月份為單位,統(tǒng)計出每月早中晚消費次數(shù)與金額,這樣每位學(xué)生的年度數(shù)據(jù)只有72條目,便于輸入多層感知器神經(jīng)網(wǎng)絡(luò)模型。

        在統(tǒng)計學(xué)生消費數(shù)據(jù)時,會存在沒有早飯等數(shù)據(jù)缺失的情況,查詢數(shù)據(jù)庫會返回空值。我們需要將空值替換為0,才能輸入多層感知器神經(jīng)網(wǎng)絡(luò)使用。

        為了使多層感知器神經(jīng)網(wǎng)絡(luò)模型更好地適應(yīng)計算,輸入的數(shù)據(jù)必須進(jìn)行歸一化處理。歸一化處理在sklearn庫中有標(biāo)準(zhǔn)的方法,即sklearn.preprocessing.scale()方法。但該方法需要計算數(shù)據(jù)總量的均值,當(dāng)數(shù)據(jù)量較大,分批次輸入數(shù)據(jù)時,會存在標(biāo)準(zhǔn)不統(tǒng)一的問題,同時數(shù)據(jù)不服從高斯正態(tài)分布也會出現(xiàn)數(shù)據(jù)失真問題,為此,通過觀察輸入數(shù)據(jù),發(fā)現(xiàn)只需同時除以某固定值即可解決這個問題。這里取消費次數(shù)除100,消費金額除400。

        3.導(dǎo)出校內(nèi)消費數(shù)據(jù)

        由于需要統(tǒng)計的學(xué)生校內(nèi)消費數(shù)據(jù)較多,且直接查詢一卡通數(shù)據(jù)庫不僅耗時較大,而且占用資源。這里采用統(tǒng)計一次、數(shù)據(jù)存儲、多次使用的方式,將初步統(tǒng)計的數(shù)據(jù)存儲在另一套數(shù)據(jù)庫中,供多層感知器神經(jīng)網(wǎng)絡(luò)模型使用。

        新建一臺虛擬主機(jī),操作系統(tǒng)使用CentOS 7.1 x64版本,數(shù)據(jù)庫使用MySQL 5.7.18版本,建立用戶信息表(T_CUSTOMER)、月度消費信息表(T_BLSMONTH)、年度消費總和表(T_SUM),分別存儲學(xué)生基本信息、學(xué)生月度消費數(shù)據(jù)、年度消費總和等數(shù)據(jù)。

        我校一卡通數(shù)據(jù)庫使用Oracle數(shù)據(jù)庫,可以使用Python中的cx_Oracle庫連接,從而實現(xiàn)Python與Oracle數(shù)據(jù)庫的通信,以執(zhí)行SQL語句。新建的存儲數(shù)據(jù)庫使用pymysql庫來連接。這樣,將一卡通數(shù)據(jù)庫中的數(shù)據(jù)統(tǒng)計出來,并做預(yù)處理,最后存儲在MySQL數(shù)據(jù)庫中待使用。

        4.導(dǎo)出學(xué)習(xí)數(shù)據(jù)

        有了學(xué)生的校內(nèi)消費數(shù)據(jù),接下來就是分析使用。首先,需要導(dǎo)出多層感知器神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)的數(shù)據(jù)。這里采用先統(tǒng)計出年度消費總和,再降序排列,并結(jié)合學(xué)生管理部門人工核實,選取出適當(dāng)數(shù)量的具有代表性的學(xué)生,導(dǎo)出消費數(shù)據(jù)。

        為了提高模型的準(zhǔn)確度,還需要模型學(xué)習(xí)一些非代表性學(xué)生的消費數(shù)據(jù)。采用MySQL數(shù)據(jù)庫的avg()函數(shù)計算出所有學(xué)生消費的平均值,在此基礎(chǔ)上適當(dāng)添加偏移量bias,具體值可以根據(jù)每個學(xué)院的情況具體問題具體分析確定。

        5.多層感知器神經(jīng)網(wǎng)絡(luò)模型的創(chuàng)建、學(xué)習(xí)與持久化

        根據(jù)多層感知器神經(jīng)網(wǎng)絡(luò)的原理,使用代碼編程構(gòu)建一個多層感知器神經(jīng)網(wǎng)絡(luò)模型。使用Python第三方sklearn機(jī)器學(xué)習(xí)庫中的neural_network模塊導(dǎo)入MLPClassifier類,通過實例化的方式構(gòu)建多層感知器神經(jīng)網(wǎng)絡(luò)。MLPClassifier類中的主要方法如表1所示。

        表1 MLPClassifier類中主要方法

        通過調(diào)用MLPClassifier類中的方法,可以方便快速地構(gòu)建和使用多層感知器神經(jīng)網(wǎng)絡(luò)。Python構(gòu)建多層感知器神經(jīng)網(wǎng)絡(luò)核心功能代碼如下:

        輸入的原始數(shù)據(jù)inputx列表中包含了所有需要學(xué)習(xí)的學(xué)生數(shù)據(jù),其中每位學(xué)生是一個經(jīng)過預(yù)處理并歸一化后的72維向量;inputy則是學(xué)習(xí)時每位學(xué)生對應(yīng)的已知結(jié)果,這里取貧困生值為1,非貧困生值為0。選取2016年9月份至2017年6月份之間除去寒假2017年2月份共9個月份的校內(nèi)消費數(shù)據(jù)。其中某學(xué)生的月度消費數(shù)據(jù)如圖3所示。

        圖3 某位學(xué)生月度消費數(shù)據(jù)

        由于程序不可能一直處在運行狀態(tài),還需要將學(xué)習(xí)完成后的模型保存在磁盤上,供下次使用,這個過程即是模型的持久化。這里使用sklearn.externals庫中的joblib類的dump()方法實現(xiàn)。

        6.多層感知器神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)的參數(shù)調(diào)優(yōu)

        多層感知器神經(jīng)網(wǎng)絡(luò)MLPClassifier模型具有很多參數(shù)可以設(shè)置,主要參數(shù)如表2所示。

        表2 MLPClassifier模型主要參數(shù)

        針對表2中的MLPClassifier神經(jīng)網(wǎng)絡(luò)模型參數(shù),這里主要優(yōu)化隱藏層、激活函數(shù)和最大迭代次數(shù)參數(shù),即hidden_layer_sizes、activation、max_iter參數(shù)。

        隱藏層參數(shù)hidden_layer_sizes的值是一維數(shù)組,數(shù)組長度代表隱藏層個數(shù),每個值表示當(dāng)前層的神經(jīng)元節(jié)點數(shù)。取不同的隱藏層參數(shù),其余均為默認(rèn)值,使用另外一組測試數(shù)據(jù)實驗。

        實驗結(jié)果表明,當(dāng)隱藏層層數(shù)固定,每層神經(jīng)元數(shù)量呈梯度遞減趨勢時,對不同學(xué)生的區(qū)分度逐漸明顯;當(dāng)每層神經(jīng)元數(shù)目固定,隱藏層層數(shù)不斷增加時,對不同學(xué)生的區(qū)分度逐漸明顯,但是超過一定層數(shù)后,會出現(xiàn)過擬合,反而使區(qū)分度下降。這里結(jié)合本研究實例,取隱藏層參數(shù)hidden_layer_sizes=(36,24,12),此時,不同家庭條件學(xué)生有明顯的分層,且更加逼近該層次相對應(yīng)的評估值,能夠較好地區(qū)分出不同學(xué)生。

        激活函數(shù)參數(shù)activation的值為一個非線性函數(shù)名,代表神經(jīng)網(wǎng)絡(luò)模型使用的激活函數(shù)。這里通過實驗對比了 identity、logistic、tanh、relu 四種激活函數(shù)的學(xué)習(xí)結(jié)果。由實驗結(jié)果可見,只有l(wèi)ogistic激活函數(shù)學(xué)習(xí)效果較差,其它三個非線性激活函數(shù)均可以達(dá)到較好的學(xué)習(xí)效果,這里采用默認(rèn)值relu。

        求解器最大迭代次數(shù)max_iter參數(shù)設(shè)置了求解器運算的最大計算次數(shù)。它的值過小會造成神經(jīng)網(wǎng)絡(luò)無法收斂,過大則會出現(xiàn)過擬合問題且求解時間過長。不同值的學(xué)習(xí)結(jié)果如圖4。

        圖4 不同求解器最大迭代次數(shù)參數(shù)學(xué)習(xí)結(jié)果

        已知前18名為貧困生,中間15名為一般家庭條件學(xué)生,后7名為非貧困生。由圖4可見,隨著迭代次數(shù)的增加,多層感知器神經(jīng)網(wǎng)絡(luò)逐漸收斂,不同學(xué)生區(qū)分度明顯,但是當(dāng)?shù)螖?shù)過大時,出現(xiàn)過擬合,無法區(qū)分不同學(xué)生。此處,多層感知器神經(jīng)網(wǎng)絡(luò)在迭代200次左右即收斂,這里取max_iter參數(shù)為200。

        7.導(dǎo)出待評估學(xué)生的數(shù)據(jù)

        待評估的學(xué)生數(shù)據(jù)與用于學(xué)習(xí)的學(xué)生數(shù)據(jù)在數(shù)據(jù)預(yù)處理時進(jìn)行相同的操作,這樣,只需要根據(jù)學(xué)院提供的學(xué)生名單,重復(fù)上述步驟即可導(dǎo)出消費數(shù)據(jù)。

        8.實現(xiàn)評估

        首先,通過sklearn.externals庫中joblib類的load()方法導(dǎo)入學(xué)習(xí)完畢的多層感知器神經(jīng)網(wǎng)絡(luò)模型。然后,將待評估的學(xué)生消費數(shù)據(jù)矩陣變換為多層感知器神經(jīng)網(wǎng)絡(luò)輸入格式并輸入模型,再通過模型的計算,得到評估結(jié)果。該結(jié)果為一個0-1之間的置信值。隨機(jī)取校內(nèi)5個院系評估,并將評估結(jié)果反饋至相關(guān)院系,比對后得到結(jié)果如表3。

        表3 多層感知器神經(jīng)網(wǎng)絡(luò)模型評估結(jié)果

        四、結(jié)束語

        通過上述實驗方法,處理了學(xué)生的校內(nèi)消費數(shù)據(jù),建立多層感知器神經(jīng)網(wǎng)絡(luò)模型并學(xué)習(xí)已認(rèn)定貧困生的消費數(shù)據(jù),最后使用學(xué)習(xí)完畢的模型用于評估,得到了評估結(jié)果。在此過程中,全程使用計算機(jī)編程自動處理,平均處理每位學(xué)生時間約為10秒,相比人工分析幾周時間,極大地縮短了時間、減輕了人力投入;同時避免了選取特定評估指標(biāo)標(biāo)準(zhǔn)以及人為主觀因素對結(jié)果的影響,為學(xué)校決策者和職能部門提供了有力的數(shù)據(jù)支持。

        將神經(jīng)網(wǎng)絡(luò)模型評估的結(jié)果反饋至相關(guān)學(xué)院,對比可見,模型篩選出0.8以上置信值的學(xué)生占真實人數(shù)的比例在80%以上,具有較強(qiáng)的可信度與準(zhǔn)確度。將此結(jié)果再結(jié)合成績、勤工助學(xué)、獎學(xué)金等維度信息則可以更加準(zhǔn)確與全面地了解學(xué)生。

        我們還可以將此方法泛化在其他方面。比如將具有某一特性的學(xué)生信息輸入模型進(jìn)行訓(xùn)練,則可用此模型評估目標(biāo)在該特性方面的結(jié)果,具有較大的使用價值。

        猜你喜歡
        感知器貧困生神經(jīng)元
        《從光子到神經(jīng)元》書評
        自然雜志(2021年6期)2021-12-23 08:24:46
        火箭貯箱噴涂機(jī)器人直接示教運動感知器設(shè)計與分析
        感知器在礦井突水水源識別中的應(yīng)用
        AI超市
        尿濕感知器
        躍動的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
        基于二次型單神經(jīng)元PID的MPPT控制
        毫米波導(dǎo)引頭預(yù)定回路改進(jìn)單神經(jīng)元控制
        “貧困生班主任”李金林
        中國火炬(2014年9期)2014-07-25 10:23:07
        十年籌資千萬元 資助八千貧困生
        中國火炬(2012年5期)2012-07-25 10:44:08
        欧美人和黑人牲交网站上线| 丝袜美腿在线观看视频| 日本人视频国产一区二区三区| 人妻无码一区二区三区免费| 吃奶还摸下面动态图gif| 2020亚洲国产| 国产影院一区二区在线 | 国产午夜三级一区二区三| 在线观看国产三级av| 丰满女人又爽又紧又丰满| 亚洲福利天堂网福利在线观看| 久久这黄色精品免费久| 亚洲成av人片一区二区密柚| 亚洲乱码中文字幕综合| 久久福利青草精品资源| 蜜桃激情视频一区二区| 日日噜噜夜夜狠狠久久丁香五月 | 欧美成人精品第一区二区三区| 久久精品国产88久久综合| 91精品国产综合久久精品密臀| 国产七十六+老熟妇| 99久久久无码国产精品9| 国产青青草视频在线播放| 夜晚黄色福利国产精品| 欧美黑人性暴力猛交喷水| aaa毛片视频免费观看| 亚洲成生人免费av毛片| 亚洲欧洲日产国码av系列天堂 | 亚洲粉嫩高潮的18p| 天堂Av无码Av一区二区三区 | 亚洲视频观看一区二区| 中文有码无码人妻在线| 国产精品无码不卡一区二区三区| 国产av无码专区亚洲aⅴ| 加勒比婷婷色综合久久| 国产三区在线成人av| 久久久www成人免费无遮挡大片| 午夜亚洲国产精品福利| 在线成人影院国产av| 欧美黑人性暴力猛交喷水| 日本中文字幕不卡在线一区二区|