專利名稱:一種基于磁場(chǎng)實(shí)現(xiàn)模擬場(chǎng)計(jì)算機(jī)數(shù)據(jù)分類方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)分類方法,特別涉及一種基于磁場(chǎng)實(shí)現(xiàn)模擬場(chǎng)計(jì)算機(jī)數(shù)據(jù)分類方法。
背景技術(shù):
模式識(shí)別是人類的一項(xiàng)基本智能,在日常生活中,人們經(jīng)常用“模式識(shí)別,,來代替人類部分腦力勞動(dòng)。模式識(shí)別是指對(duì)表征事物或現(xiàn)象的各種形式的信息進(jìn)行處理和分析, 以對(duì)事物或現(xiàn)象進(jìn)行描述、辨認(rèn)、分類和解釋的過程。在模式識(shí)別的過程中通常要對(duì)大量的數(shù)據(jù)進(jìn)行分類,數(shù)據(jù)分類的速度和準(zhǔn)確性直接影響模式識(shí)別的效率和精確度。目前,通常采用基于硅材料的微處理器為基礎(chǔ)的數(shù)字計(jì)算機(jī),對(duì)模式識(shí)別過程中獲取的大量數(shù)據(jù)進(jìn)行分類。但是,摩爾定律以及微電子技術(shù)理論上的光傳輸速度極限,量子力學(xué)的測(cè)不準(zhǔn)原理和熱力學(xué)第二定律等帶來的瓶頸,使得數(shù)字計(jì)算機(jī)在進(jìn)行數(shù)據(jù)分類的過程速度慢、效率低。同時(shí)數(shù)字計(jì)算機(jī)在面對(duì)模式識(shí)別中產(chǎn)生的二維以及二維以上的數(shù)據(jù),其只能對(duì)數(shù)據(jù)的每一維進(jìn)行串行處理,其分類效率低。
發(fā)明內(nèi)容
本發(fā)明的目的是提出了一種基于磁場(chǎng)實(shí)現(xiàn)模擬場(chǎng)計(jì)算機(jī)的數(shù)據(jù)分類方法,該方法能夠同時(shí)對(duì)多維數(shù)據(jù)中的各維進(jìn)行并行處理,且采用基于磁場(chǎng)實(shí)現(xiàn)的模擬場(chǎng)計(jì)算機(jī),非線性分類能力強(qiáng),可以實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)進(jìn)行高速準(zhǔn)確地分類。本發(fā)明的目的主要通過下述技術(shù)方案實(shí)現(xiàn)的一種基于磁場(chǎng)實(shí)現(xiàn)模擬場(chǎng)計(jì)算機(jī)的數(shù)據(jù)分類方法,用于對(duì)模式識(shí)別過程中獲取的 Ψ個(gè)&維數(shù)據(jù)QJk1]進(jìn)行分類,其中,i = 1,21 1^屯,且從[1^]中包含A種類型的數(shù)據(jù);具體步驟為步驟一、在導(dǎo)磁介質(zhì)薄膜上選取M1XM2個(gè)點(diǎn)垂直設(shè)置探針;從所設(shè)置的探針中選取k2個(gè)探針作為構(gòu)建磁場(chǎng)輸入點(diǎn),選取Ic1個(gè)探針作為數(shù)據(jù)輸入點(diǎn),選取一個(gè)探針作為數(shù)據(jù)輸出點(diǎn);其中,構(gòu)建磁場(chǎng)輸入點(diǎn)、數(shù)據(jù)輸入點(diǎn)以及數(shù)據(jù)輸出點(diǎn)為互不相同的點(diǎn);步驟二、隨機(jī)生成Ii2個(gè)用于構(gòu)建磁場(chǎng)的k2維構(gòu)建數(shù)據(jù)Oj [k2],j = 1,2L Ln2,每個(gè)構(gòu)建數(shù)據(jù)能夠構(gòu)建一個(gè)模擬場(chǎng)計(jì)算機(jī);從QJk1]的每一類型數(shù)據(jù)中分別選取Ii1個(gè)數(shù)據(jù)作為輸入數(shù)據(jù);構(gòu)建數(shù)據(jù)的每維值決定向構(gòu)建磁場(chǎng)輸入點(diǎn)輸入電流的密度,輸入數(shù)據(jù)中的每維值決定向數(shù)據(jù)輸入點(diǎn)輸入電流的密度,從數(shù)據(jù)輸出點(diǎn)獲取磁場(chǎng)強(qiáng)度值或磁感應(yīng)強(qiáng)度值作為輸出值;步驟三、對(duì)構(gòu)建數(shù)據(jù)進(jìn)行驗(yàn)證,其具體驗(yàn)證過程為針對(duì)每一構(gòu)建數(shù)據(jù),設(shè)定每一類型輸入數(shù)據(jù)對(duì)應(yīng)的輸出范圍;將根據(jù)各輸入數(shù)據(jù)獲取的電流輸入到數(shù)據(jù)輸入點(diǎn)上,從數(shù)據(jù)輸出點(diǎn)上得到一組輸出值;利用各組輸出值和輸出范圍計(jì)算各構(gòu)建數(shù)據(jù)對(duì)應(yīng)的誤差,根據(jù)所述誤差選取最優(yōu)構(gòu)建數(shù)據(jù)建立模擬場(chǎng)計(jì)算機(jī)對(duì)Qi [kj進(jìn)行分類。本發(fā)明所述驗(yàn)證的過程為
步驟201、設(shè)定每一類型輸入數(shù)據(jù)對(duì)應(yīng)的輸出范圍步驟202、從Oj [k2]中選取一未遍歷的構(gòu)建數(shù)據(jù)作為電流的密度值選取k2個(gè)電流, 并將所述k2個(gè)電流輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上,并將獲取的構(gòu)建數(shù)據(jù)標(biāo)記為已遍歷的構(gòu)建數(shù)據(jù);步驟203、針對(duì)每一個(gè)輸入數(shù)據(jù),利用其作為電流的密度值獲取Ic1個(gè)電流,并將所述&個(gè)電流輸入到Ic1個(gè)數(shù)據(jù)輸入點(diǎn)上;步驟204、判斷利用本循環(huán)選取的構(gòu)建數(shù)據(jù)建立的模擬場(chǎng)計(jì)算機(jī),針對(duì)每一輸入數(shù)據(jù)所對(duì)應(yīng)的輸出值和輸出范圍計(jì)算構(gòu)建數(shù)據(jù)對(duì)應(yīng)的誤差,判斷所述誤差是否滿足預(yù)設(shè)條件,若是,則將本循環(huán)中構(gòu)建數(shù)據(jù)作為最優(yōu)構(gòu)建數(shù)據(jù)建立模擬場(chǎng)計(jì)算機(jī)對(duì)QJk1]進(jìn)行分類, 否則,返回步驟202。本發(fā)明所述步驟二和步驟三的具體過程為步驟301、設(shè)置最大迭代次數(shù)為Maxiter,并設(shè)定A種類型數(shù)據(jù)中每一種類型所對(duì)應(yīng)的輸出范圍,同時(shí)令迭代次數(shù)iter = 0 ;步驟302、利用粒子群算法隨機(jī)生成Ii2個(gè)用于構(gòu)建磁場(chǎng)的構(gòu)建數(shù)據(jù)A [k2],j = 1, 2L Ln2,每個(gè)構(gòu)建數(shù)據(jù)的維數(shù)為k2,n2個(gè)構(gòu)建數(shù)據(jù)兩兩互不相同,且每個(gè)構(gòu)建數(shù)據(jù)對(duì)應(yīng)一個(gè)誤差量Bp令B」=0 ;從QJk1]的每一類型數(shù)據(jù)中分別選取Ii1個(gè)數(shù)據(jù)作為輸入數(shù)據(jù);步驟303、從Ii2個(gè)OJk2]中選取一未被遍歷的k2維構(gòu)建數(shù)據(jù),記為OJk2],將 OJk2]中k2維數(shù)據(jù)的各維值作為電流的密度值,將k2個(gè)電流分別輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上,此時(shí)將所述OJk2]標(biāo)記為已經(jīng)遍歷的構(gòu)建數(shù)據(jù);步驟304、從AXn1個(gè)輸入數(shù)據(jù)中選取一未被遍歷的Ic1維輸入數(shù)據(jù),記為Qli [kj, 將Qu [kj中Ic1維數(shù)據(jù)的各維值作為電流的密度值,將Ic1個(gè)電流分別輸入到Ic1個(gè)數(shù)據(jù)輸入點(diǎn)上,此時(shí)將所述Q1Jk1]標(biāo)記為已經(jīng)遍歷的輸入數(shù)據(jù);同時(shí)存儲(chǔ)數(shù)據(jù)輸出點(diǎn)上獲取磁場(chǎng)強(qiáng)度值或磁感應(yīng)強(qiáng)度值作為輸出值;步驟305、判斷上述AXn1A輸入數(shù)據(jù)是否都為已經(jīng)遍歷的輸入數(shù)據(jù),若是,進(jìn)入步驟306,否則,返回步驟304 ;步驟306、判斷上述Ii2個(gè)構(gòu)建數(shù)據(jù)是否都為已經(jīng)遍歷的構(gòu)建數(shù)據(jù),若是,則進(jìn)入步驟307,否則,返回步驟303 ;步驟307、獲取本次循環(huán)中Ii2個(gè)構(gòu)建數(shù)據(jù)所對(duì)應(yīng)的Ii2組輸出值,其中每組有AXn1 個(gè)輸出值,以組為單位判斷每一個(gè)輸出值是否在其對(duì)應(yīng)輸入數(shù)據(jù)類型所確定的輸出范圍內(nèi),若是,則h不變,否則令B」等于B」加上差值Δ,其中所述差值Δ為輸出值所對(duì)應(yīng)的輸出范圍中和輸出值最接近的值與輸出值之差的平方;步驟308、選取誤差量Bj中最小的一個(gè),記為Bmin,并判斷Bmin是否小于預(yù)設(shè)的ξ, 若是則進(jìn)入步驟310 ;否則,進(jìn)入步驟309 ;步驟309、判斷迭代次數(shù)iter是否小于最大迭代次數(shù)Maxiter,如果是,令迭代次數(shù)iter加1,根據(jù)B」利用粒子群算法對(duì)Ii2個(gè)構(gòu)建數(shù)據(jù)C^_[k2]進(jìn)行更新,進(jìn)入步驟303,如果不是,則進(jìn)入步驟310 ;步驟310、將此時(shí)Bmin所對(duì)應(yīng)的構(gòu)建數(shù)據(jù)作為最優(yōu)構(gòu)建數(shù)據(jù),利用最優(yōu)構(gòu)建數(shù)據(jù)作為電流的密度值選取k2個(gè)電流,將k2個(gè)電流輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上,依次將Qi [kj 從&個(gè)數(shù)據(jù)輸入點(diǎn)上輸入,并根據(jù)輸出值所處的范圍對(duì)輸入的數(shù)據(jù)進(jìn)行分類。
有益效果 本發(fā)明基于磁場(chǎng)利用多組模式識(shí)別的數(shù)據(jù)對(duì)多個(gè)構(gòu)建數(shù)據(jù)進(jìn)行訓(xùn)練,獲取一個(gè)最優(yōu)構(gòu)建數(shù)據(jù),利用該最優(yōu)構(gòu)建數(shù)據(jù)實(shí)現(xiàn)的模擬場(chǎng)計(jì)算機(jī)可以準(zhǔn)確地對(duì)數(shù)據(jù)進(jìn)行分類。其次,當(dāng)處理多維數(shù)據(jù)時(shí),通過選取模擬場(chǎng)計(jì)算機(jī)上數(shù)據(jù)輸入點(diǎn)的個(gè)數(shù),并在各點(diǎn)上輸入各維數(shù)值所對(duì)應(yīng)的電流,可實(shí)現(xiàn)對(duì)多維數(shù)據(jù)的各維進(jìn)行同時(shí)處理。再次,本發(fā)明基于磁場(chǎng)實(shí)現(xiàn)的模擬場(chǎng)計(jì)算機(jī),數(shù)據(jù)輸入點(diǎn)和數(shù)據(jù)輸出點(diǎn)的非線性效果好,因此可以實(shí)現(xiàn)對(duì)較為復(fù)雜數(shù)據(jù)進(jìn)行處理;同時(shí)形成磁場(chǎng)的速度快,采用本發(fā)明數(shù)據(jù)處理速度快。
圖1為本發(fā)明模擬場(chǎng)計(jì)算機(jī)的示意圖。圖2為本發(fā)明磁場(chǎng)計(jì)算模型示意圖。圖3為本發(fā)明一個(gè)實(shí)施例對(duì)構(gòu)建數(shù)據(jù)進(jìn)行驗(yàn)證的的流程圖。圖4為本發(fā)明另二個(gè)實(shí)施例對(duì)數(shù)據(jù)進(jìn)行分類方法的流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。本發(fā)明基于磁場(chǎng)實(shí)現(xiàn)模擬場(chǎng)計(jì)算機(jī)數(shù)據(jù)分類方法,用于對(duì)模式識(shí)別過程中獲取的 Wfk1維數(shù)據(jù)QJk1]進(jìn)行分類,其中,i = 1,21 1^屯,且仏[1^]中包含A種類型的數(shù)據(jù)。步驟一、在導(dǎo)磁介質(zhì)薄膜上選取M1XM2個(gè)點(diǎn)垂直設(shè)置探針;如圖1所示,較佳地選取虬=M2,且每相鄰兩點(diǎn)之間的距離相等,M1XM2個(gè)點(diǎn)構(gòu)成了一個(gè)矩形陣列。從所述設(shè)置的探針中選取k2個(gè)探針作為構(gòu)建磁場(chǎng)輸入點(diǎn),選取Ic1個(gè)探針作為數(shù)據(jù)輸入點(diǎn),選取一個(gè)探針作為數(shù)據(jù)輸出點(diǎn);其中,構(gòu)建磁場(chǎng)輸入點(diǎn)、數(shù)據(jù)輸入點(diǎn)以及數(shù)據(jù)輸出點(diǎn)為互不相同的點(diǎn)。由于探針設(shè)置在導(dǎo)磁介質(zhì)薄膜上,因此當(dāng)某一探針或某多個(gè)探針上有電流輸入時(shí),則在導(dǎo)磁介質(zhì)薄膜上形成磁場(chǎng),其它探針上具有磁場(chǎng)強(qiáng)度或磁感應(yīng)強(qiáng)度的輸出。本發(fā)明選取k2個(gè)探針作為構(gòu)建磁場(chǎng)輸入點(diǎn),當(dāng)需要進(jìn)行分類的數(shù)據(jù)是由多種類型的多維數(shù)據(jù)組成時(shí),則k2選取較大,當(dāng)需要進(jìn)行分類的數(shù)據(jù)是一組較為簡單的數(shù)據(jù),即包含的數(shù)據(jù)類型和維數(shù)都較少時(shí),則1^2選取較小即可。例如本實(shí)施例中設(shè)ki等于4,A等于5, 即模式識(shí)別過程中獲得的數(shù)據(jù)為包括5種類型的4維數(shù)據(jù),則將k2選為4。由于Qi[kj為 Ic1維數(shù)據(jù),分別代表了事物的Ic1個(gè)特征,因此選取Ic1個(gè)探針作為數(shù)據(jù)輸入點(diǎn),分別將各維數(shù)據(jù)作為電流的密度值,從數(shù)據(jù)輸入點(diǎn)上輸入各電流的密度值所對(duì)應(yīng)的電流。例如,設(shè)本實(shí)施例中數(shù)據(jù)輸出點(diǎn)上輸出數(shù)據(jù)為磁場(chǎng)強(qiáng)度;當(dāng)構(gòu)建磁場(chǎng)輸入點(diǎn)上的輸入電流確定時(shí),此時(shí)數(shù)據(jù)輸入點(diǎn)上輸入的電流會(huì)影響數(shù)據(jù)輸出點(diǎn)上輸出的磁場(chǎng)強(qiáng)度,使得數(shù)據(jù)輸入點(diǎn)上輸入的電流與數(shù)據(jù)輸出點(diǎn)上輸出的磁場(chǎng)強(qiáng)度之間存在一個(gè)非線性關(guān)系,進(jìn)而可以根據(jù)數(shù)據(jù)輸出點(diǎn)上的輸出判斷輸入數(shù)據(jù)所對(duì)應(yīng)的類型。上述非線性關(guān)系的證明如下假設(shè)電流I是一根穿過導(dǎo)磁介質(zhì)薄膜的無線長直導(dǎo)線,電流的方向?yàn)榇怪庇趯?dǎo)磁介質(zhì)薄膜向外(定義為正向)。如圖2所示,圖中的圓代表磁力線。取磁場(chǎng)強(qiáng)度的幅度H為輸出量,H=I/(2π ρ ),方向是磁力線的切線方向,ρ是輸入點(diǎn)與輸出點(diǎn)之間的距離。
如圖2(a)所示,此時(shí)導(dǎo)磁介質(zhì) 薄膜上有一個(gè)電流輸入,則輸出點(diǎn)的磁場(chǎng)強(qiáng)度 Hsum = ^Hx2+Hy2 ,其中Hx = -Hsina ,Hy = Hcos a,H為輸入電流在輸出點(diǎn)上產(chǎn)生的磁場(chǎng)強(qiáng)度,α是輸入點(diǎn)和輸出點(diǎn)連線與Χ軸的夾角。如圖2(b)所示,此時(shí)導(dǎo)磁介質(zhì)薄膜上有兩個(gè)電流輸入,則輸出點(diǎn)的磁場(chǎng)強(qiáng)度 Hsum = ^Hx2 +Hy2Hx = -H1Sin a rH2sin a 2, Hy = H1Cos a !+H2Cos a 2, H1
入電流在輸出點(diǎn)上產(chǎn)生的磁場(chǎng)強(qiáng)度,H2為第二輸入電流在輸出點(diǎn)上產(chǎn)生的磁場(chǎng)強(qiáng)度,a !是第一個(gè)電流輸入點(diǎn)和輸出點(diǎn)連線與χ軸的夾角,a 2是第二個(gè)電流輸入點(diǎn)和輸出點(diǎn)連線與χ 軸的夾角。假設(shè)薄膜有m個(gè)電流輸入點(diǎn)(正向Vi = 0,負(fù)向Vi = 1),1個(gè)輸出點(diǎn),則輸出點(diǎn)的磁場(chǎng)強(qiáng)度為Hsum = ^WJ = ^IlIj_
νP1Pj其中,Cii表示第i個(gè)電流輸入點(diǎn)和輸出點(diǎn)連線與χ軸之間的夾角,^表示第j個(gè)電流輸入點(diǎn)和輸出點(diǎn)連線與Χ軸之間的夾角;P i表示第i個(gè)電流輸入點(diǎn)與輸出點(diǎn)之間的距離,^第j個(gè)電流輸入點(diǎn)與輸出點(diǎn)之間的距離。由此可以看出,輸出點(diǎn)的磁場(chǎng)強(qiáng)度和輸入點(diǎn)的電流之間存在著非線性的關(guān)系。步驟二、隨機(jī)生成Ii2個(gè)用于構(gòu)建磁場(chǎng)的k2維構(gòu)建數(shù)據(jù)Oj [k2],j = 1,2L Ln2,每個(gè)構(gòu)建數(shù)據(jù)能夠構(gòu)建一個(gè)模擬場(chǎng)計(jì)算機(jī);從QJk1]的每一類型數(shù)據(jù)中分別選取Ii1個(gè)數(shù)據(jù)作為輸入數(shù)據(jù);構(gòu)建數(shù)據(jù)的元素值決定向構(gòu)建磁場(chǎng)輸入點(diǎn)輸入電流的密度,輸入數(shù)據(jù)中的元素值決定向數(shù)據(jù)輸入點(diǎn)輸入電流的密度,從數(shù)據(jù)輸出點(diǎn)獲取磁場(chǎng)強(qiáng)度值或磁感應(yīng)強(qiáng)度值作為輸出值。步驟三、對(duì)構(gòu)建數(shù)據(jù)進(jìn)行驗(yàn)證,其具體驗(yàn)證過程為針對(duì)每一構(gòu)建數(shù)據(jù),將各輸入數(shù)據(jù)獲取的電流輸入到數(shù)據(jù)輸入點(diǎn)上,從數(shù)據(jù)輸出點(diǎn)上得到一組輸出值;利用各組輸出值和輸出范圍計(jì)算構(gòu)建數(shù)據(jù)對(duì)應(yīng)的誤差,根據(jù)所述誤差選取最優(yōu)構(gòu)建數(shù)據(jù)建立模擬場(chǎng)計(jì)算機(jī),對(duì)QJk1]進(jìn)行分類。在一個(gè)實(shí)施例中,如圖3所示,對(duì)構(gòu)建數(shù)據(jù)進(jìn)行驗(yàn)證的具體過程為步驟201、設(shè)定每一類型輸入數(shù)據(jù)對(duì)應(yīng)的輸出范圍;步驟202、從Oj [k2]中選取一構(gòu)建數(shù)據(jù)作為電流的密度值選取k2個(gè)電流,并將所述 k2個(gè)電流輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上;步驟203、針對(duì)每一個(gè)輸入數(shù)據(jù),利用其作為電流的密度值獲取Ic1個(gè)電流,并將所述&個(gè)電流輸入到Ic1個(gè)數(shù)據(jù)輸入點(diǎn)上;步驟204、判斷利用本循環(huán)選取的構(gòu)建數(shù)據(jù)建立的模擬場(chǎng)計(jì)算機(jī),針對(duì)每一輸入數(shù)據(jù)所對(duì)應(yīng)的輸出值和輸出范圍計(jì)算構(gòu)建數(shù)據(jù)對(duì)應(yīng)的誤差,判斷所述誤差是夠滿足預(yù)設(shè)條件,若是,則將本循環(huán)中構(gòu)建數(shù)據(jù)作為最優(yōu)構(gòu)建數(shù)據(jù)建立模擬場(chǎng)計(jì)算機(jī),對(duì)QJk1]進(jìn)行分類,否則,返回步驟202。在另一個(gè)實(shí)施例中,如圖4所示,本發(fā)明可以采用如下方式建立對(duì)數(shù)據(jù)進(jìn)行分類具體過程為步驟Al、在導(dǎo)磁介質(zhì)薄膜上選取M1XM2個(gè)點(diǎn)垂直設(shè)置探針;從所設(shè)置的探針中選取k2個(gè)探針作為構(gòu)建磁場(chǎng)輸入點(diǎn),選取Ic1個(gè)探針作為數(shù)據(jù)輸入點(diǎn),選取一個(gè)探針作為數(shù)據(jù)輸出點(diǎn);其中,構(gòu)建磁場(chǎng)輸入點(diǎn)、數(shù)據(jù)輸入點(diǎn)以及數(shù)據(jù)輸出點(diǎn)為互不相同的點(diǎn)。 步驟A2、設(shè)置最大迭代次數(shù)為Maxiter,并設(shè)定A種類型數(shù)據(jù)中每一種類型所對(duì)應(yīng)的輸出范圍[fa,fa+1],其中,a = 1,2L 5。例如第一種數(shù)據(jù)類型對(duì)應(yīng)的輸出范圍為[f1;f2], 第二種數(shù)據(jù)類型對(duì)應(yīng)的輸出范圍為[f2,f3],第三種類型數(shù)據(jù)類型對(duì)應(yīng)的輸出范圍為[f3, f4]等,同時(shí)令迭代次數(shù)iter = 0。步驟A3、利用粒子群算法隨機(jī)生成 個(gè)用于構(gòu)建磁場(chǎng)的構(gòu)建數(shù)據(jù),Oj [k2],j = 1, 2L Ln2,其中每個(gè)構(gòu)建數(shù)據(jù)的維數(shù)為k2維,n2個(gè)構(gòu)建數(shù)據(jù)兩兩互不相同,且每個(gè)構(gòu)建數(shù)據(jù)對(duì)應(yīng)一個(gè)誤差量Bp令h = 0。本步驟中所使用的粒子群算法為近來發(fā)展的一個(gè)較為成熟的技術(shù),它是從隨機(jī)解出發(fā),通過迭代尋找最優(yōu)解,本發(fā)明中優(yōu)化變量對(duì)應(yīng)著構(gòu)建磁場(chǎng)的構(gòu)建數(shù)據(jù)。粒子群算法粒子值更新公式ν (t+1) = w*v (t) +C1^rl* (pb (t) _x (t)) +c2*r2* (pg (t) _x (t))χ (t+1) = χ (t)+ν (t+1)這里的t就是指迭代的次數(shù)。ν是指粒子的速度,χ是指粒子的位置。PSO算法參數(shù)選擇
拓?fù)浣Y(jié)構(gòu)W
編碼實(shí)數(shù)
種群大小η2
粒子維數(shù)k2
搜索空間[-1000,1000]
慣性參數(shù)%0.9
加速度因子q, C22C1, C2是加速系數(shù)(或稱學(xué)習(xí)因子),分別調(diào)節(jié)向全局最好粒子和個(gè)體最好粒子方向飛行的最大步長,若太小,則粒子可能遠(yuǎn)離目標(biāo)區(qū)域,若太大則會(huì)導(dǎo)致突然向目標(biāo)區(qū)域飛去,或飛過目標(biāo)區(qū)。合適的C1, C2可以加快收斂且不易陷入局部最優(yōu)。當(dāng)(^ (32時(shí),粒子的工作效率最高,通常取C1 = C2 = 2。用慣性權(quán)重w來控制前面的速度對(duì)當(dāng)前速度的影響,較大的w可以加強(qiáng)PSO的全局搜索能力,而較小的W能加強(qiáng)局部搜索能力。實(shí)際結(jié)果表明,W在
之間有更快的收斂速度。迭代次數(shù)為了得到一個(gè)好的解,所需要的迭代次數(shù)也依賴于具體問題。太少的迭代可能使得算法早熟,而太多的迭代次數(shù)會(huì)增加計(jì)算的負(fù)擔(dān)。
種群大小大數(shù)量的種群可以在每一次迭代中都能搜索空間中更大的區(qū)域,同時(shí)也將增大算法的計(jì)算量,以及降低并行隨機(jī)搜索的性能。研究經(jīng)驗(yàn)表明,10-30個(gè)粒子為最佳。但仍依賴于具體要解決的問題,在該問題的求解中,實(shí)驗(yàn)結(jié)果表明,取15個(gè)粒子效果最
佳搜索空間(鄰域大小)鄰域越小,交流越少,收斂較慢,不過它的收斂更能可靠的找到最優(yōu)解,同時(shí)不容易陷入局部極值。步驟A4、利用未被遍歷的構(gòu)建數(shù)據(jù) [k2]作為電流的密度值選取k2個(gè)電流,將所述k2個(gè)電流輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上,此時(shí)將On [k2]標(biāo)記為已經(jīng)遍歷的構(gòu)建數(shù)據(jù), η e {1,2L L n2}。由于無法確定每個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上所需輸入電流的大小,才能對(duì)輸入數(shù)據(jù)進(jìn)行準(zhǔn)確的分類,因此利用粒子群算法隨機(jī)生成的H2個(gè)構(gòu)建數(shù)據(jù),并對(duì)模式識(shí)別過程獲取的Ψ 個(gè)包含A種類型的Ic1維數(shù)據(jù),針對(duì)每一類型分別選取Ii1個(gè)已知類型的數(shù)據(jù),得到AXn1數(shù)據(jù)作為輸入數(shù)據(jù)來對(duì)構(gòu)建數(shù)據(jù)進(jìn)行訓(xùn)練(學(xué)習(xí)),以便獲得一個(gè)最優(yōu)的構(gòu)建數(shù)據(jù),具體過程如下。步驟A5、利用未被遍歷的輸入數(shù)據(jù)Q1Jk1]作為電流的密度值選取&個(gè)電流,將所述&個(gè)電流輸入到Ic1個(gè)數(shù)據(jù)輸入點(diǎn)上,此時(shí)將Qli [kj標(biāo)記為已經(jīng)遍歷的輸入數(shù)據(jù), μ e {1,2,3L LAXnJ ;同時(shí)存儲(chǔ)數(shù)據(jù)輸出點(diǎn)上獲取的輸出值。步驟A6、判斷上述AXn1A輸入數(shù)據(jù)是否都為已經(jīng)遍歷的輸入數(shù)據(jù),若是,說明針對(duì)于每一個(gè)輸入數(shù)據(jù)都已經(jīng)獲得一個(gè)輸出值,則進(jìn)入步驟A7,否則,返回步驟A5。步驟A7、判斷上述Ii2個(gè)構(gòu)建數(shù)據(jù)是否都為已經(jīng)遍歷的構(gòu)建數(shù)據(jù),若是,則進(jìn)入步驟 A8,否則返回步驟A4。因?yàn)樾枰獙?duì)Ii2個(gè)用于構(gòu)建磁場(chǎng)的構(gòu)建數(shù)據(jù)進(jìn)行判斷,以便選取最優(yōu)構(gòu)建數(shù)據(jù),因此需要針對(duì)每一個(gè)構(gòu)建數(shù)據(jù),利用所選取的AXn1個(gè)輸入數(shù)據(jù)進(jìn)行訓(xùn)練。步驟A8、獲取本次循環(huán)中H2個(gè)構(gòu)建數(shù)據(jù)所對(duì)應(yīng)的n2組輸出值,其中,每組有A X Ii1 個(gè)輸出值,以組為單位判斷每一個(gè)輸出值是否在其對(duì)應(yīng)輸入數(shù)據(jù)類型所確定的輸出范圍內(nèi),若是,則令h不變,否則令B」等于B」加上差值Δ,其中所述差值Δ為輸出值所對(duì)應(yīng)的輸出范圍中與輸出值最接近的值與輸出值之差的平方。下面列舉一詳細(xì)的例子進(jìn)行說明設(shè)模式識(shí)別過程中獲得5種類型數(shù)據(jù),每種輸入數(shù)據(jù)對(duì)應(yīng)的輸出范圍為,第一種輸入數(shù)據(jù)的輸出范圍為
,第二種輸入數(shù)據(jù)的輸出范圍為[20,40],第三種輸入數(shù)據(jù)的輸出范圍為[40,60],第四種輸入數(shù)據(jù)的輸出范圍為[60,80],第五種輸入數(shù)據(jù)的輸出范圍為[80,100]。針對(duì)每種類型數(shù)據(jù)選取20個(gè)作為輸入數(shù)據(jù),則總共包含100個(gè)輸入數(shù)據(jù), 對(duì)上述100個(gè)輸入數(shù)據(jù)所對(duì)應(yīng)的輸出值進(jìn)行判斷。若對(duì)于第一組構(gòu)建數(shù)據(jù),輸入數(shù)據(jù)中的第一個(gè)為第一種類型時(shí),其輸出值為25.3則其不再W,20]范圍之內(nèi),于是令B1等于B1加上I 25. 3-20 I,繼續(xù)對(duì)輸入數(shù)據(jù)中的第二個(gè)進(jìn)行判斷,依次類推。步驟A9、選取步驟A8獲得的誤差量Bj中最小的一個(gè),記為Bmin,并判斷Bmin是否小于預(yù)設(shè)的ξ,若是則進(jìn)入步驟AlO ;否則,進(jìn)入步驟All。步驟A10、判斷迭代次數(shù)iter是否小于最大迭代次數(shù)Maxiter,如果是,令迭代次數(shù)iter加1,根據(jù)B」利用粒子群算法對(duì)Ii2個(gè)構(gòu)建數(shù)據(jù)(^.[k2]進(jìn)行更新,進(jìn)入步驟A3,如果不是,則進(jìn)入步驟All。 其中,ξ為根據(jù)需要設(shè)定的閾值;因?yàn)楫?dāng)最小重疊量之和小于ξ后,則說明此時(shí)根據(jù)Bmin對(duì)應(yīng)的構(gòu)建數(shù)據(jù)所構(gòu)建的磁場(chǎng)可以實(shí)現(xiàn)對(duì)輸入數(shù)據(jù)較為準(zhǔn)確的分類,否則進(jìn)入步驟A3繼續(xù)尋找最優(yōu)的構(gòu)建數(shù)據(jù)。本發(fā)明中所用的粒子群算法中的pg為本次循環(huán)相鄰兩個(gè)構(gòu)建數(shù)據(jù)中較優(yōu)的一個(gè),即相鄰兩個(gè)構(gòu)建數(shù)據(jù)中對(duì)應(yīng)B」較小的一個(gè),pb為上次循環(huán)第j個(gè)構(gòu)建數(shù)據(jù)與這次循環(huán)第j個(gè)構(gòu)建數(shù)據(jù)中較優(yōu)的一個(gè),即兩構(gòu)建數(shù)據(jù)中對(duì)應(yīng)B」較小的一個(gè)。步驟All、將此時(shí)Bmin所對(duì)應(yīng)的構(gòu)建數(shù)據(jù)作為最優(yōu)構(gòu)建數(shù)據(jù),利用最優(yōu)構(gòu)建數(shù)據(jù)作為電流的密度值選取k2個(gè)電流,將所述k2個(gè)電流輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上,依次將 QiLkJ從&個(gè)數(shù)據(jù)輸入點(diǎn)上輸入,并根據(jù)輸出值所處的范圍對(duì)輸入的數(shù)據(jù)進(jìn)行分類。綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于磁場(chǎng)實(shí)現(xiàn)模擬場(chǎng)計(jì)算機(jī)數(shù)據(jù)分類方法,用于對(duì)模式識(shí)別過程中獲取的Ψ 個(gè)&維數(shù)據(jù)Qi[kJ進(jìn)行分類,其中,i = 1,21 Ψ, ^QiLk1]中包含A種類型的數(shù)據(jù);其特征在于,具體步驟為步驟一、在導(dǎo)磁介質(zhì)薄膜上選取M1XM2個(gè)點(diǎn)垂直設(shè)置探針;從所設(shè)置的探針中選取k2 個(gè)探針作為構(gòu)建磁場(chǎng)輸入點(diǎn),選取&個(gè)探針作為數(shù)據(jù)輸入點(diǎn),選取一個(gè)探針作為數(shù)據(jù)輸出點(diǎn);其中,構(gòu)建磁場(chǎng)輸入點(diǎn)、數(shù)據(jù)輸入點(diǎn)以及數(shù)據(jù)輸出點(diǎn)為互不相同的點(diǎn);步驟二、隨機(jī)生成n2個(gè)用于構(gòu)建磁場(chǎng)的k2維構(gòu)建數(shù)據(jù)A[k2],j = 1,2L Ln2,每個(gè)構(gòu)建數(shù)據(jù)能夠構(gòu)建一個(gè)模擬場(chǎng)計(jì)算機(jī);從QJk1]的每一類型數(shù)據(jù)中分別選取Ii1個(gè)數(shù)據(jù)作為輸入數(shù)據(jù);構(gòu)建數(shù)據(jù)的每維值決定向構(gòu)建磁場(chǎng)輸入點(diǎn)輸入電流的密度,輸入數(shù)據(jù)中的每維值決定向數(shù)據(jù)輸入點(diǎn)輸入電流的密度,從數(shù)據(jù)輸出點(diǎn)獲取磁場(chǎng)強(qiáng)度值或磁感應(yīng)強(qiáng)度值作為輸出值; 步驟三、對(duì)構(gòu)建數(shù)據(jù)進(jìn)行驗(yàn)證,其具體驗(yàn)證過程為針對(duì)每一構(gòu)建數(shù)據(jù),設(shè)定每一類型輸入數(shù)據(jù)對(duì)應(yīng)的輸出范圍;將根據(jù)各輸入數(shù)據(jù)獲取的電流輸入到數(shù)據(jù)輸入點(diǎn)上,從數(shù)據(jù)輸出點(diǎn)上得到一組輸出值;利用各組輸出值和輸出范圍計(jì)算各構(gòu)建數(shù)據(jù)對(duì)應(yīng)的誤差,根據(jù)所述誤差選取最優(yōu)構(gòu)建數(shù)據(jù)建立模擬場(chǎng)計(jì)算機(jī)對(duì)Qi[kj進(jìn)行分類。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)分類方法,其特征在于,所述驗(yàn)證的過程為步驟201、設(shè)定每一類型輸入數(shù)據(jù)對(duì)應(yīng)的輸出范圍;步驟202、從A[k2]中選取一未遍歷的構(gòu)建數(shù)據(jù)作為電流的密度值選取1^2個(gè)電流,并將所述k2個(gè)電流輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上,并將獲取的構(gòu)建數(shù)據(jù)標(biāo)記為已遍歷的構(gòu)建數(shù)據(jù);步驟203、針對(duì)每一個(gè)輸入數(shù)據(jù),利用其作為電流的密度值獲取Ic1個(gè)電流,并將所述Ic1 個(gè)電流輸入到h個(gè)數(shù)據(jù)輸入點(diǎn)上;步驟204、判斷利用本循環(huán)選取的構(gòu)建數(shù)據(jù)建立的模擬場(chǎng)計(jì)算機(jī),針對(duì)每一輸入數(shù)據(jù)所對(duì)應(yīng)的輸出值和輸出范圍計(jì)算構(gòu)建數(shù)據(jù)對(duì)應(yīng)的誤差,判斷所述誤差是否滿足預(yù)設(shè)條件,若是,則將本循環(huán)中構(gòu)建數(shù)據(jù)作為最優(yōu)構(gòu)建數(shù)據(jù)建立模擬場(chǎng)計(jì)算機(jī)對(duì)QJk1]進(jìn)行分類,否則, 返回步驟202。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)分類方法,其特征在于,所述步驟二和步驟三的具體過程為步驟301、設(shè)置最大迭代次數(shù)為Maxiter,并設(shè)定A種類型數(shù)據(jù)中每一種類型所對(duì)應(yīng)的輸出范圍,同時(shí)令迭代次數(shù)iter = 0 ;步驟302、利用粒子群算法隨機(jī)生成Ii2個(gè)用于構(gòu)建磁場(chǎng)的構(gòu)建數(shù)據(jù)(^.[k2],j = 1,2L Ln2,每個(gè)構(gòu)建數(shù)據(jù)的維數(shù)為k2,Ii2個(gè)構(gòu)建數(shù)據(jù)兩兩互不相同,且每個(gè)構(gòu)建數(shù)據(jù)對(duì)應(yīng)一個(gè)誤差量Bp令B」=0 ;從QJk1]的每一類型數(shù)據(jù)中分別選取Ii1個(gè)數(shù)據(jù)作為輸入數(shù)據(jù);步驟303、從n2個(gè)OjEk2]中選取一未被遍歷的k2維構(gòu)建數(shù)據(jù),記為On [k2],將OJk2] 中k2維數(shù)據(jù)的各維值作為電流的密度值,將k2個(gè)電流分別輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上, 此時(shí)將所述OJk2]標(biāo)記為已經(jīng)遍歷的構(gòu)建數(shù)據(jù);步驟304、從AXn1個(gè)輸入數(shù)據(jù)中選取一未被遍歷的Ic1維輸入數(shù)據(jù),記為Qli [kj,將 Qu [kj中Ic1維數(shù)據(jù)的各維值作為電流的密度值,將Ic1個(gè)電流分別輸入到Ic1個(gè)數(shù)據(jù)輸入點(diǎn)上,此時(shí)將所述 [1^]標(biāo)記為已經(jīng)遍歷的輸入數(shù)據(jù);同時(shí)存儲(chǔ)數(shù)據(jù)輸出點(diǎn)上獲取磁場(chǎng)強(qiáng)度值或磁感應(yīng)強(qiáng)度值 作為輸出值;步驟305、判斷上述AXn1個(gè)輸入數(shù)據(jù)是否都為已經(jīng)遍歷的輸入數(shù)據(jù),若是,進(jìn)入步驟 306,否則,返回步驟304 ;步驟306、判斷上述Ii2個(gè)構(gòu)建數(shù)據(jù)是否都為已經(jīng)遍歷的構(gòu)建數(shù)據(jù),若是,則進(jìn)入步驟 307,否則,返回步驟303 ;步驟307、獲取本次循環(huán)中Ii2個(gè)構(gòu)建數(shù)據(jù)所對(duì)應(yīng)的Ii2組輸出值,其中每組有AXn1個(gè)輸出值,以組為單位判斷每一個(gè)輸出值是否在其對(duì)應(yīng)輸入數(shù)據(jù)類型所確定的輸出范圍內(nèi),若是,則h不變,否則令B」等于B」加上差值Δ,其中所述差值Δ為輸出值所對(duì)應(yīng)的輸出范圍中和輸出值最接近的值與輸出值之差的平方;步驟308、選取誤差量&中最小的一個(gè),記為Bmin,并判斷Bmin是否小于預(yù)設(shè)的ξ,若是則進(jìn)入步驟310 ;否則,進(jìn)入步驟309 ;步驟309、判斷迭代次數(shù)iter是否小于最大迭代次數(shù)Maxiter,如果是,令迭代次數(shù) iter加1,根據(jù)B」利用粒子群算法對(duì)Ii2個(gè)構(gòu)建數(shù)據(jù)Oj [k2]進(jìn)行更新,進(jìn)入步驟303,如果不是,則進(jìn)入步驟310 ;步驟310、將此時(shí)Bmin所對(duì)應(yīng)的構(gòu)建數(shù)據(jù)作為最優(yōu)構(gòu)建數(shù)據(jù),利用最優(yōu)構(gòu)建數(shù)據(jù)作為電流的密度值選取k2個(gè)電流,將k2個(gè)電流輸入到k2個(gè)構(gòu)建磁場(chǎng)輸入點(diǎn)上,依次將Qi [kj從Ic1 個(gè)數(shù)據(jù)輸入點(diǎn)上輸入,并根據(jù)輸出值所處的范圍對(duì)輸入的數(shù)據(jù)進(jìn)行分類。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)分類方法,其特征在于,所述M1 = M2,且每相鄰兩點(diǎn)之間的距離相等,M1XM2個(gè)點(diǎn)構(gòu)成了一個(gè)矩形陣列。
全文摘要
本發(fā)明公開了一種基于磁場(chǎng)實(shí)現(xiàn)模擬場(chǎng)計(jì)算機(jī)的數(shù)據(jù)分類方法,在導(dǎo)磁介質(zhì)薄膜上選取M1×M2個(gè)點(diǎn)垂直設(shè)置探針;從所設(shè)置的探針中選取k2個(gè)探針作為構(gòu)建磁場(chǎng)輸入點(diǎn),選取k1個(gè)探針作為數(shù)據(jù)輸入點(diǎn),選取一個(gè)探針作為數(shù)據(jù)輸出點(diǎn);隨機(jī)生成n2個(gè)用于構(gòu)建磁場(chǎng)的k2維構(gòu)建數(shù)據(jù)Oj[k2],j=1,2L Ln2,每個(gè)構(gòu)建數(shù)據(jù)能夠構(gòu)建一個(gè)模擬場(chǎng)計(jì)算機(jī);從Qi[k1]的每一類型數(shù)據(jù)中分別選取n1個(gè)數(shù)據(jù)作為輸入數(shù)據(jù);構(gòu)建數(shù)據(jù)的每維值決定向構(gòu)建磁場(chǎng)輸入點(diǎn)輸入電流的密度,輸入數(shù)據(jù)中的每維值決定向數(shù)據(jù)輸入點(diǎn)輸入電流的密度,從數(shù)據(jù)輸出點(diǎn)獲取磁場(chǎng)強(qiáng)度值或磁感應(yīng)強(qiáng)度值作為輸出值;對(duì)構(gòu)建數(shù)據(jù)進(jìn)行驗(yàn)證,選取最優(yōu)構(gòu)建數(shù)據(jù)獲取模擬場(chǎng)計(jì)算機(jī)實(shí)現(xiàn)數(shù)據(jù)分類。采用本發(fā)明對(duì)數(shù)據(jù)分類速度快且準(zhǔn)確率高。
文檔編號(hào)G06K9/62GK102222233SQ20111017442
公開日2011年10月19日 申請(qǐng)日期2011年6月24日 優(yōu)先權(quán)日2011年6月24日
發(fā)明者張哲 , 張銳, 李位星, 李振旭, 潘峰, 隆婷, 高巖, 高琪 申請(qǐng)人:北京理工大學(xué)