国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的K近鄰計算的實現(xiàn)

2013-04-29 18:49:05趙睿
電腦知識與技術(shù) 2013年7期
關(guān)鍵詞:數(shù)據(jù)挖掘

趙睿

摘要:K近鄰算法(KNN)是基于統(tǒng)計學(xué)的分類的方法,是數(shù)據(jù)挖掘分類的算法中比較常用的一種。該算法有更直觀且無需先驗統(tǒng)計知識等特點,已經(jīng)成為數(shù)據(jù)挖掘技術(shù)重要的理論和實際應(yīng)用研究方法之一。K近鄰計算需要快速處理數(shù)據(jù),因此用硬件來實現(xiàn)加速。

關(guān)鍵詞:數(shù)據(jù)挖掘;K近鄰;FPGA

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)07-1572-03

FPGA(現(xiàn)場可編程邏輯器件)產(chǎn)品的應(yīng)用領(lǐng)域已經(jīng)從原來的通信擴展工業(yè)控制、電子等廣泛的領(lǐng)域。所以用FPGA(現(xiàn)場可編程邏輯器件)來實現(xiàn)K近鄰計算更符合市場需求,但是KNN算法仍然存在一定的缺陷,今后研究的重點仍然應(yīng)該放在速度與準(zhǔn)確度的提高上面。

1 K近鄰硬件結(jié)構(gòu)

本次設(shè)計采用的是VHDL語言編寫設(shè)計,仿真實驗時首先要進行程序分析,確認(rèn)程序沒有語法和邏輯錯誤之后再逐步實現(xiàn)其功能。試驗時先用兩張圖片分別生成兩個.mif和.coe文件,利用生成的兩個.mif文件創(chuàng)建兩個IP核備用。然后添加各個子模塊,運行程序進行K近鄰分類計算,調(diào)用IP核和由圖像生成的ROM文件進行數(shù)據(jù)分析處理,最后得出仿真試驗的結(jié)果。仿真測試如圖1所示。

其中,K近鄰計算程序值主要的調(diào)用程序,K近鄰測試程序中各種主要的參數(shù)基本都在K近鄰計算程序計算得出。

2 IP核的生成

IP核(Intellectual Property core)具有特定功能的電路模塊。IP核有時也稱為宏功能塊、虛擬元件。按提供方式分類:

1)硬核(hard core)具有特定功能的硬件電路。在FPGA中是已經(jīng)用硬件實現(xiàn)并可以直接應(yīng)用的功能模塊。

2)固核(firm core)是硬核與軟核的折中,他是將軟核固化為硬核并加入的IP庫中的產(chǎn)品。

3)軟核(soft core)是一段具有特定電路功能的硬件描述語言程序,該程序與集成電路工藝無關(guān),可以移植到不同的半導(dǎo)體工藝中去生產(chǎn)集成電路芯片。

綜上所述,將硬核和固核作為硬IP核,而軟核作為軟IP核。

4)硬IP核與軟IP核的關(guān)系。硬IP核的缺點是對加工工藝依賴性大,優(yōu)點是節(jié)省設(shè)計時間;軟IP核的缺點是需要花費大量的時間進行功能和時序的驗證,有點是它的設(shè)計不依賴加工工藝。所以,當(dāng)新加工工藝出現(xiàn)時,芯片設(shè)計主要是軟IP核設(shè)計,當(dāng)其經(jīng)過功能和時序的測試后就將其固化為硬IP核并加入到IP庫中,隨著芯片設(shè)計的不斷改進,最后可能85%的芯片面積都由硬IP核占據(jù)。直到出現(xiàn)下一個循環(huán)。

分類:①嵌入式IP核,可編程IP核如CPU。

②通用IP核,如存儲器、通用接口電路。

常見的IP核有CUP核、DSP核、存儲器模塊、復(fù)雜接口模塊、完成復(fù)雜計算功能的模塊、外設(shè)接口(PCI)、通用串行總線(USB)。

IP核的價值:IP核重用(reuse)可以縮短設(shè)計周期、提高設(shè)計效率。

3 FIFO文件的使用

FIFO(first input first output,先進先出堆棧)是一種數(shù)據(jù)緩沖器,優(yōu)點沒有外部讀寫地址線,這樣使用起來非常方便;缺點是只能順序讀寫數(shù)據(jù)。通常FIFO的使用情況有兩種,一是FIFO用于不同時鐘域之間的數(shù)據(jù)傳輸;二是FIFO用于不同位寬的數(shù)據(jù)傳輸.根據(jù)FIFO的時鐘域,可以將FIFO分為同步FIFO和異步FIFO.異步FIFO的讀寫時鐘采用各自獨立的不同時鐘,廣泛應(yīng)用與網(wǎng)絡(luò)接口、圖像處理等方面;同步FIFO的讀寫時鐘相同。

FIFO的功能。

FIFO存儲器是系統(tǒng)的緩沖環(huán)節(jié),如果沒有FIFO存儲器,整個系統(tǒng)就不可能正常工作.FIFO存儲器的主要功能如下:

1)對連續(xù)數(shù)據(jù)流進行緩存,防止進機和存儲操作時丟失數(shù)據(jù)。

2)數(shù)據(jù)集中起來進機和存儲,可避免頻繁的總線操作,減輕CPU的負(fù)擔(dān)。

3)允許系統(tǒng)進行DMA操作,提高數(shù)據(jù)的傳輸速度。

異步FIFO的結(jié)構(gòu)如圖2所示。

工作原理:

由于空標(biāo)志和滿標(biāo)志控制了FIFO的操作,因此標(biāo)志錯誤會引起操作的錯誤。標(biāo)志的產(chǎn)生是通過對讀寫地址的比較產(chǎn)生的。

空滿標(biāo)志產(chǎn)生的算法。構(gòu)造一個指針寬度為N+1,深度為2+N字節(jié)的FIFO(為便方比較將格雷碼指針轉(zhuǎn)換為二進制指針)。當(dāng)指針的二進制碼中最高位不~致而其它N位都相等時,F(xiàn)IFO為滿。當(dāng)指針完全相等時,F(xiàn)IFO為空。舉例說明:一個深度為8字節(jié)的FIFO怎樣工作(使用已轉(zhuǎn)換為二進制的指針)。FIFO_WlDTH=8,F(xiàn)IFO_DEPTH=2+N=8,N=3,指針寬度為N+1=4。起初rd和wr均為“0000”。此時FIFO中寫入8個字節(jié)的數(shù)據(jù)。wr=“1000”,rd=“0000”。當(dāng)然,這就是滿條件。現(xiàn)在,假設(shè)執(zhí)行了8次的讀操作,使得rd=“1000”,這就是空條件。另外的8次寫操作將使wr等于“0000”,但rd仍然等于“1000”,因此FIFO為滿條件。當(dāng)然實際使用中其實指針可以是任意一個。

4 LPM_ROM簡介

LPM是可變參數(shù)元件庫Library of Parameterized Modules的英語縮寫,Altera提供的可變參數(shù)元件均是基于Altera器件的結(jié)構(gòu)做的優(yōu)化設(shè)計。在許多實用情況中,必須使用可變參數(shù)元件才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲器、DSP模塊、LVDS驅(qū)動器、嵌入式PLL以及SERDES和DDIO電路模塊等等。這些可變參數(shù)元件可以以圖形或硬件描述語言的方式進行調(diào)用,使得基于EDA技術(shù)的電子設(shè)計的效率和可靠性有了很大的提高。設(shè)計者可以根據(jù)實際電路的設(shè)計需要,選擇LPM庫中的適當(dāng)模塊,并為其設(shè)定適當(dāng)?shù)膮?shù),就能滿足自己的設(shè)計需要,從而在自己的項目中十分方便地調(diào)用優(yōu)秀的電子工程技術(shù)人員的硬件設(shè)計成果。

5 小結(jié)

本文采用VHDL語言來實現(xiàn)K近鄰計算,VHDL語言功能強大、設(shè)計靈活,具有強大的系統(tǒng)硬件描述能力,支持廣泛、易于修改,獨立于器件的設(shè)計、與工藝無關(guān)等特點,因此用VHDL來實現(xiàn)K近鄰計算更加方便。

參考文獻(xiàn):

[1] Tao Yufei,Dimitris Papadias,Nikos Mamoulis,et al. An efficient cost model for K-NNsearch technical report[J]. HKUST,2001,13(1):1-14.

[2] Fayed H A,Atiya A F. A Novel Template Reduction Approach for the K-NearestNeighbor Method[J].IEEE Transactions on Neural Networks,2009,20(5): 890-896.

[3] 余蓓,高軍,葉施仁.基于近鄰方法的高維數(shù)據(jù)可視化聚類發(fā)現(xiàn)[J].計算機研究與發(fā)展,2000,37(6):714-720.

[4] Mitchell H B,Schaefer P A. A “soft” K-nearest neighbor voting scheme[J]. International journalof intelligent systems,2001,16:459-468.

[5] 孫巖,呂世聘,王秀坤.基于結(jié)構(gòu)學(xué)習(xí)的KNN分類算法[J].計算機科學(xué),2007,34(12):184-187.

[6] Aghbari Z A.Array-index:a plug&search K nearest neighbors method for high-dimensional data[J]. Data & Knowledge Engineering,2005,52:333-352.

[7] 田萱,孟祥光,劉希玉.基于BP神經(jīng)網(wǎng)絡(luò)的文檔特征表示研究[J].情報學(xué)報,2003,22(1):22-26.

[8] 李榮陸,胡運發(fā).基于密度的KNN文本分類器訓(xùn)練樣本裁剪方法[J].計算機研究與發(fā)展,2004,41(4):539-545.

猜你喜歡
數(shù)據(jù)挖掘
探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢
基于并行計算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
電力與能源(2017年6期)2017-05-14 06:19:37
數(shù)據(jù)挖掘技術(shù)在中醫(yī)診療數(shù)據(jù)分析中的應(yīng)用
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
數(shù)據(jù)挖掘的分析與探索
河南科技(2014年23期)2014-02-27 14:18:43
基于GPGPU的離散數(shù)據(jù)挖掘研究
江华| 长海县| 仁怀市| 麻阳| 昭通市| 绵竹市| 浙江省| 棋牌| 同江市| 宁南县| 和龙市| 双柏县| 象山县| 小金县| 张北县| 海安县| 余干县| 冕宁县| 卓尼县| 西贡区| 历史| 哈巴河县| 扶余县| 任丘市| 治多县| 道孚县| 沾化县| 大安市| 西青区| 荔波县| 佳木斯市| 华阴市| 郎溪县| 景泰县| 长葛市| 澜沧| 翁牛特旗| 彝良县| 镇康县| 武胜县| 察隅县|