一種基于svm技術(shù)的離散前向神經(jīng)網(wǎng)絡(luò)分類器的優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于人工智能中的機(jī)器學(xué)習(xí)領(lǐng)域,具體涉及一種基于SVM技術(shù)的離散前向 神經(jīng)網(wǎng)絡(luò)分類器的優(yōu)化方法。
【背景技術(shù)】
[0002] 離散前向神經(jīng)網(wǎng)絡(luò)(BFNN)是一種最早提出也是最廣泛應(yīng)用的離散前向人工神經(jīng) 網(wǎng)絡(luò)模型,采用的是有監(jiān)督學(xué)習(xí)機(jī)制。雖然說離散問題可視為連續(xù)問題的特例,可用BP學(xué)習(xí) 算法之類的來解決問題,但是BFNN還是存在一些明顯的優(yōu)勢(shì):一方面,它更適合處理一些本 質(zhì)為離散且連續(xù)技術(shù)不適用的問題,如信號(hào)處理、邏輯運(yùn)算、模式分類等;另一方面,更有利 于利用VLSI技術(shù)進(jìn)行其硬件實(shí)現(xiàn)。
[0003] 然而,到目前為止,離散前向神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法還不夠完善。主流的學(xué)習(xí)算法研究 大致可以分為兩塊:一個(gè)是自適應(yīng)學(xué)習(xí)算法,另一個(gè)是幾何構(gòu)造算法。前者通常由感知機(jī)學(xué) 習(xí)規(guī)則擴(kuò)展而來,后者是基于輸入模式的幾何分布特性,通過構(gòu)造分類超平面系來獲得網(wǎng) 絡(luò)參數(shù)。但無論是自適應(yīng)學(xué)習(xí)算法還是幾何構(gòu)造算法,在學(xué)習(xí)效果很學(xué)習(xí)效率方面都很難 應(yīng)用到工程當(dāng)中去。目前,比較有效的學(xué)習(xí)算法當(dāng)屬基于敏感性的自適應(yīng)學(xué)習(xí)算法 (SBALR),該算法是針對(duì)BFNN提出來的權(quán)參數(shù)自適應(yīng)學(xué)習(xí)算法。該算法設(shè)計(jì)主要遵循三條基 本學(xué)習(xí)原則:"最小擾動(dòng)原則"、"有利原則"以及"任務(wù)分?jǐn)傇瓌t",在次基礎(chǔ)上設(shè)計(jì)了三條學(xué) 習(xí)規(guī)則,其中最為重要的學(xué)習(xí)規(guī)則是權(quán)參數(shù)自適應(yīng)調(diào)節(jié)規(guī)則,具體可參照鐘水明教授在 IEEE上發(fā)表的基于敏感性的二值前向神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)算法。
[0004] 支持向量機(jī)(SVM)是在統(tǒng)計(jì)學(xué)習(xí)基礎(chǔ)上發(fā)展起來的新一代學(xué)習(xí)算法,該算法在理 論基礎(chǔ)上有較強(qiáng)的優(yōu)勢(shì),它能夠保證找到的極值解就是全局最優(yōu)解而并非是局部最小值, 這就保證了 SVM算法對(duì)未知樣本有較好的泛化能力,正因?yàn)檫@些優(yōu)勢(shì),SVM在文本分類、圖像 分類、生物信息學(xué)等眾多領(lǐng)域獲得較好的應(yīng)用。
[0005] SVM在解決線性可分問題的時(shí)候能夠確立一個(gè)最有超平面,來提升分類器的泛化 性能。但是在實(shí)際應(yīng)用中,大部分問題都是線性不可分的。在面對(duì)非線性可分問題時(shí),SVM的 性能很大程度上還是依賴于核函數(shù)的選擇,并沒有一個(gè)通用的方案,從而使得SVM在工程應(yīng) 用中受到阻礙。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明針對(duì)離散前向神經(jīng)網(wǎng)絡(luò)(BFNN)具有明顯的結(jié)構(gòu)優(yōu)勢(shì),但現(xiàn)有學(xué)習(xí)算法還難 以獲得令人滿意的泛化性能這一現(xiàn)實(shí)問題,借助SVM解決線性可分問題的技術(shù)優(yōu)勢(shì),用SVM 技術(shù)來優(yōu)化訓(xùn)練后的BFNN,能夠極大地改善分類器的泛化性能,從而進(jìn)一步促進(jìn)BFNN在模 式識(shí)別以及電子通信領(lǐng)域更加廣泛的應(yīng)用。
[0007] 技術(shù)方案:在現(xiàn)有的BFNN神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)泛化能力還不理想的情況下,訓(xùn)練樣本數(shù) 據(jù),分解神經(jīng)元數(shù)集,再重新組織更完善更契合的映射關(guān)系,通過SVM技術(shù)找到更優(yōu)的權(quán)參 數(shù),并且能夠通過SVM技術(shù)改善BFNN神經(jīng)網(wǎng)絡(luò)泛化性能,從而獲得更優(yōu)的學(xué)習(xí)性能。
[0008] 本發(fā)明為實(shí)現(xiàn)上述發(fā)明目的采用如下技術(shù)方案:
[0009] 步驟1),對(duì)給定樣本集S進(jìn)行訓(xùn)練,建立映射關(guān)系,確立一個(gè)BFNN分類器。具體可描 述為先隨機(jī)初始化一個(gè)離散前向神經(jīng)網(wǎng)絡(luò),根據(jù)基于敏感性的自適應(yīng)學(xué)習(xí)算法(SBALR)訓(xùn) 練給定樣本S從而得到一個(gè)BFNN分類器;
[0010] 步驟2),讀取已獲得的BFNN分類器的網(wǎng)絡(luò)信息,包括網(wǎng)絡(luò)所含層數(shù)L,每層所含神 經(jīng)元個(gè)數(shù)n1,其中,表示1網(wǎng)絡(luò)的層數(shù)序號(hào),選擇一個(gè)樣本t(一般從給定樣本集S的第一個(gè)開 始);
[0011] 步驟3),判斷樣本序號(hào)是否在給定樣本集S中,如果在,則讀取樣本Xi,否則,則跳 出步驟3);
[0012] 步驟4),對(duì)已訓(xùn)練好的BFNN分類器的網(wǎng)絡(luò)層數(shù)進(jìn)行編號(hào),并定位網(wǎng)絡(luò)的層號(hào)1(一 般從網(wǎng)絡(luò)第1層);
[0013] 步驟5),判斷網(wǎng)絡(luò)層號(hào)是否屬于該網(wǎng)絡(luò)所含層數(shù),如果是,則對(duì)于定位到的第1層, 對(duì)該層的神經(jīng)元進(jìn)行編號(hào),并且具體定位到第1層的第j個(gè)神經(jīng)元(j一般從該層第1個(gè)神經(jīng) 元開始),否則,則網(wǎng)絡(luò)中所有神經(jīng)元在該樣本XiT均已計(jì)算完畢,此時(shí),需要下一個(gè)樣本的 讀入,跳到步驟4);
[0014] 步驟6),判斷一個(gè)神經(jīng)元的編號(hào)j是否屬于原網(wǎng)絡(luò)該層的神經(jīng)元個(gè)數(shù);如果是,則 計(jì)算出該神經(jīng)元在樣本輸入下對(duì)應(yīng)的輸出,形成$ = 的新的集合;否則,則說明該 層神經(jīng)元對(duì)應(yīng)的輸入輸出集均已計(jì)算完畢,則進(jìn)入下一層神經(jīng)元進(jìn)行同樣的計(jì)算;
[0015] 步驟7),從網(wǎng)絡(luò)的第一個(gè)神經(jīng)元開始,去讀取相應(yīng)的樣本訓(xùn)練集;
[0016] 步驟8),用SVM技術(shù)對(duì)每一個(gè)神經(jīng)元的相應(yīng)的樣本訓(xùn)練集進(jìn)行訓(xùn)練, 得出新的神經(jīng)元參數(shù),代替原本的神經(jīng)元參數(shù);
[0017] 步驟9),重復(fù)步驟8)和9),直至所有的神經(jīng)元參數(shù)都得到優(yōu)化;
[0018] 步驟10),進(jìn)過上面的步驟,重新形成的網(wǎng)絡(luò)就是經(jīng)過優(yōu)化后的離散前向神經(jīng)網(wǎng)絡(luò) 分類器。
[0019] 有益效果
[0020] 本發(fā)明將學(xué)界和業(yè)界已經(jīng)大量使用并被證實(shí)可行且高效準(zhǔn)確的SVM算法應(yīng)用在對(duì) 離散前向神經(jīng)網(wǎng)絡(luò)(BFNN)泛化性能的優(yōu)化中,既具有理論基礎(chǔ)的支持也能得到實(shí)踐經(jīng)驗(yàn)的 支持。用SVM的分類超平面作為神經(jīng)網(wǎng)絡(luò)的權(quán)值,能夠極大地改善網(wǎng)絡(luò)泛化性能,從而進(jìn)一 步促進(jìn)BFNN在模式識(shí)別以及電子通信領(lǐng)域更加廣泛的應(yīng)用。
【附圖說明】
[0021] 圖1為離散前向神經(jīng)網(wǎng)絡(luò)示意圖;
[0022]圖2為訓(xùn)練給定樣本得出BFNN流程圖;
[0023]圖3為統(tǒng)計(jì)BFNN中每一個(gè)神經(jīng)元新的輸入輸出集流程圖;
[0024]圖4為用SVM技術(shù)訓(xùn)練新的樣本集流程圖。
【具體實(shí)施方式】
[0025]下面結(jié)合附圖對(duì)技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述,步驟如下:
[0026]步驟10,對(duì)給定樣本集S進(jìn)行訓(xùn)練,建立映射關(guān)系,確立一個(gè)BFNN分類器。圖2可具 體表述為:
[0027] 步驟101,隨機(jī)初始化一個(gè)離散前向神經(jīng)網(wǎng)絡(luò),如圖1;
[0028] 步驟 102,讀入給定樣本S,S= {Xi | 1 < i < N};
[0029] 步驟103,基于敏感性的自適應(yīng)學(xué)習(xí)算法(SBALR)訓(xùn)練樣本S,得出一個(gè)BFNN分類 器。
[0030] 步驟20,對(duì)于已訓(xùn)練好的BFNN分類器,為BFNN中每一個(gè)神經(jīng)元建立輸入輸出集,形 成新的訓(xùn)練集。圖3可具體表述為:
[0031] 步驟201,讀取已獲得的BFNN分類器的網(wǎng)絡(luò)信息,包括網(wǎng)絡(luò)所含層數(shù)L,每層所含 神經(jīng)元個(gè)數(shù)η1,其中,表示1網(wǎng)絡(luò)的層數(shù)序號(hào);
[0032]步驟202,選擇一個(gè)樣本Xi(-般從給定樣本集S的第一個(gè)開始);
[0033]步驟203,判斷樣本序號(hào)是否在給定樣本集S中,如果在,則進(jìn)行步驟204,否則,則 跳出步驟20;
[0034] 步驟204,讀取樣本Xi;
[0035]步驟205,對(duì)已訓(xùn)練好的BFNN分類器的網(wǎng)絡(luò)層數(shù)進(jìn)行編號(hào);
[0036]步驟206,定位網(wǎng)絡(luò)的層號(hào)1( 一般從網(wǎng)絡(luò)第1層);
[0037] 步驟207,判斷網(wǎng)絡(luò)層號(hào)是否不大于網(wǎng)絡(luò)所含層數(shù)L,如果不大于,則進(jìn)行步驟208, 否則,則網(wǎng)絡(luò)中所有神經(jīng)元在該樣本乂:下均已計(jì)算完畢,此時(shí),需要下一個(gè)樣本的讀入,即 步驟202中i = i+l,跳到步驟203;
[0038]步驟208,對(duì)于定位到的第1層,對(duì)該層的神經(jīng)元進(jìn)行編號(hào);
[0039]步驟209,具體定位到第1層的第j個(gè)神經(jīng)元(j 一般從該層第1個(gè)神經(jīng)元開始);
[0040] 步驟210,判斷一個(gè)神經(jīng)元的編號(hào)j是否不大于原網(wǎng)絡(luò)該層的神經(jīng)元個(gè)數(shù);如果是, 則計(jì)算出該神經(jīng)元在樣本輸入下對(duì)應(yīng)的輸出,形的新的集合;否則,則說明 該層神經(jīng)元對(duì)應(yīng)的輸入輸出集均已計(jì)算完畢,則進(jìn)入下一層神經(jīng)元的計(jì)算,即步驟206中的 層號(hào)1 = 1+1,進(jìn)入步驟207;
[0041] 步驟211,對(duì)于下一個(gè)神經(jīng)元,即步驟210中的神經(jīng)元編號(hào)j = j + l,同樣進(jìn)入步驟 210〇
[0042] 步驟30,基于每個(gè)神經(jīng)元的新的樣本集$ ,用SVM技術(shù)來訓(xùn)練樣本,產(chǎn) 生一組新的參數(shù)代替原有神經(jīng)元的參數(shù)。圖4可具體描述為:
[0043]步驟301,讀取已有的網(wǎng)絡(luò)信息;
[0044] 步驟302,從網(wǎng)絡(luò)的第一個(gè)神經(jīng)元開始,去讀取相應(yīng)的樣本訓(xùn)練集S; 乂山
[0045] 步驟303,用SVM技術(shù)對(duì)每一個(gè)神經(jīng)元的相應(yīng)的樣本訓(xùn)練集進(jìn)行訓(xùn) 練,得出新的神經(jīng)元參數(shù),代替原本的神經(jīng)元參數(shù);
[0046] 步驟304,重復(fù)步驟302和303,直至所有的神經(jīng)元參數(shù)都得到優(yōu)化;
[0047]步驟40,進(jìn)過上面的步驟,重新形成的網(wǎng)絡(luò)就是經(jīng)過優(yōu)化后的離散前向神經(jīng)網(wǎng)絡(luò) 分類器。
【主權(quán)項(xiàng)】
1. 一種基于SVM技術(shù)的離散前向神經(jīng)網(wǎng)絡(luò)分類器的優(yōu)化方法,包括以下步驟: 步驟1 ),對(duì)給定樣本集S進(jìn)行訓(xùn)練,建立映射關(guān)系,確立一個(gè)BFNN分類器,具體可描述為 先隨機(jī)初始化一個(gè)離散前向神經(jīng)網(wǎng)絡(luò),根據(jù)基于敏感性的自適應(yīng)學(xué)習(xí)算法(SBALR)訓(xùn)練給 定樣本S從而得到一個(gè)BFNN分類器; 步驟2),讀取已獲得的BFNN分類器的網(wǎng)絡(luò)信息,包括網(wǎng)絡(luò)所含層數(shù)L,每層所含神經(jīng)元 個(gè)數(shù)η1,其中,表示1網(wǎng)絡(luò)的層數(shù)序號(hào),選擇一個(gè)樣本Xi; 步驟3),判斷樣本序號(hào)是否在給定樣本集S中,如果在,則讀取樣本t,否則,則跳出步驟 3); 步驟4),對(duì)已訓(xùn)練好的BFNN分類器的網(wǎng)絡(luò)層數(shù)進(jìn)行編號(hào),并定位網(wǎng)絡(luò)的層號(hào)1; 步驟5),判斷網(wǎng)絡(luò)層號(hào)是否屬于該網(wǎng)絡(luò)所含層數(shù),如果是,則對(duì)于定位到的第1層,對(duì)該 層的神經(jīng)元進(jìn)行編號(hào),并且具體定位到第1層的第j個(gè)神經(jīng)元,否則,則網(wǎng)絡(luò)中所有神經(jīng)元在 該樣本Xrf均已計(jì)算完畢,此時(shí),需要下一個(gè)樣本的讀入,跳到步驟4); 步驟6),判斷一個(gè)神經(jīng)元的編號(hào)j是否屬于原網(wǎng)絡(luò)該層的神經(jīng)元個(gè)數(shù);如果是,則計(jì)算 出該神經(jīng)元在樣本輸入下對(duì)應(yīng)的輸出,形成$=?,.的新的集合;否則,則說明該層 神經(jīng)元對(duì)應(yīng)的輸入輸出集均已計(jì)算完畢,則進(jìn)入下一層神經(jīng)元進(jìn)行同樣的計(jì)算; 步驟7),從網(wǎng)絡(luò)的第一個(gè)神經(jīng)元開始,去讀取相應(yīng)的樣本訓(xùn)練集 步驟8),用SVM技術(shù)對(duì)每一個(gè)神經(jīng)元的相應(yīng)的樣本訓(xùn)練集勾進(jìn)行訓(xùn)練,得出 新的神經(jīng)元參數(shù),代替原本的神經(jīng)元參數(shù); 步驟9 ),重復(fù)步驟8)和9 ),直至所有的神經(jīng)元參數(shù)都得到優(yōu)化; 步驟10),進(jìn)過上面的步驟,重新形成的網(wǎng)絡(luò)就是經(jīng)過優(yōu)化后的離散前向神經(jīng)網(wǎng)絡(luò)分類 器。
【專利摘要】本發(fā)明公開了一種基于SVM技術(shù)的離散前向神經(jīng)網(wǎng)絡(luò)分類器的優(yōu)化方法。離散前向神經(jīng)網(wǎng)絡(luò)(BFNN)具有明顯的結(jié)構(gòu)優(yōu)勢(shì),但現(xiàn)有學(xué)習(xí)算法還不太成熟,難以獲得令人滿意的泛化性能;而SVM技術(shù)優(yōu)勢(shì)在于解決線性可分問題,能確立一個(gè)最優(yōu)超平面,來提升分類器的泛化性能;因此,借助于SVM技術(shù)來優(yōu)化訓(xùn)練后的BFNN,在現(xiàn)有的BFNN神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)泛化能力還不理想的情況下,提出的一種基于SVM技術(shù)的離散前向神經(jīng)網(wǎng)絡(luò)分類器的優(yōu)化算法。該算法將訓(xùn)練樣本數(shù)據(jù)分解神經(jīng)元數(shù)集,再重新組織更完善更契合的映射關(guān)系,通過SVM技術(shù)找到更優(yōu)的權(quán)參數(shù),改善BFNN神經(jīng)網(wǎng)絡(luò)泛化性能,從而獲得更優(yōu)的學(xué)習(xí)性能,促進(jìn)BFNN在模式識(shí)別以及電子通信領(lǐng)域更加廣泛的應(yīng)用。
【IPC分類】G06N3/08, G06K9/62
【公開號(hào)】CN105678328
【申請(qǐng)?zhí)枴緾N201610005936
【發(fā)明人】鐘水明, 楊萍, 彭路, 羅波, 孫昊, 陸曉翔, 顧菁卿
【申請(qǐng)人】南京信息工程大學(xué)
【公開日】2016年6月15日
【申請(qǐng)日】2016年1月4日