[發(fā)明專利]一種基于CUDA的屬性約簡方法有效
| 申請?zhí)枺?/td> | 201810006829.0 | 申請日: | 2018-01-04 |
| 公開(公告)號: | CN108197656B | 公開(公告)日: | 2020-07-28 |
| 發(fā)明(設(shè)計)人: | 李天瑞;胡云蒙;陳紅梅;胡節(jié) | 申請(專利權(quán))人: | 西南交通大學(xué) |
| 主分類號: | G06K9/62 | 分類號: | G06K9/62 |
| 代理公司: | 成都盈信專利代理事務(wù)所(普通合伙) 51245 | 代理人: | 崔建中 |
| 地址: | 610031 四川省成都市高新*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 cuda 屬性 方法 | ||
1.一種基于CUDA的屬性約簡方法,其特征在于,包括
步驟1:去除數(shù)據(jù)集中含有缺失值的數(shù)據(jù)對象,離散化連續(xù)的屬性,生成決策表S=(U,C∪D),其中U={x1,x2,…,xn}代表對象集,C={c1,c2,…,cm}代表條件屬性集,D代表決策屬性集,n為對象的數(shù)量,m為條件屬性的數(shù)量;
步驟2:計算U關(guān)于決策D的劃分U/Ind(D)={D1,D2,...Dd},Ind(D)表示對象在決策屬性集D上的不可分辨關(guān)系,fa(x)和fa(y)分別是對象x和對象y在決策屬性a上的取值;將U/Ind(D)={D1,D2,...Dd}映射到?jīng)Q策布爾矩陣,生成n行d列的決策布爾矩陣Fn×d=(dij)n×d∈{0,1},其中
步驟3:設(shè)定候選的條件屬性集計算B的條件布爾矩陣Ee×n,其中B={b1,b2,…bp}且p≤m;包括
步驟3.1:分配GPU顯存空間,將CPU端的決策表S=(U,C∪D)拷貝到GPU;
步驟3.2:在GPU端采用CUDA的Thrust庫,將對象集U={x1,x2,…,xn}按照B={b1,b2,…bp}的取值在GPU端并行排序,生成排序后的序列T={x1′,x2′,…,xn′}和排序后的對象標(biāo)號L={l1,l2,…,ln},其中l(wèi)i∈{1,2,…n}表示xi′唯一的標(biāo)識號;
步驟3.3:在GPU端啟動CUDA的kernel核函數(shù),使用多線程并行掃描排序后的序列T,判斷相鄰對象是否在候選的條件屬性集B上滿足不可分辨關(guān)系,生成T={x1′,x2′,…,xn′}關(guān)于B的布爾向量G={g1,g2,…,gn},其中
其中fc(x)和fc(y)分別是對象x和對象y在條件屬性c上的取值;
步驟3.4:將布爾向量G={g1,g2,…,gn}和對象標(biāo)號L={l1,l2,…,ln}從GPU端拷貝到CPU端;
步驟3.5:在CPU端計算U關(guān)于候選的條件屬性集B的劃分U/Ind(B)={E1,E2,…,Ee},生成關(guān)于候選的條件屬性集B的e行n列的條件布爾矩陣Ee×n=(eij)e×n∈{0,1},其中
步驟4:計算候選的條件屬性集B的屬性重要度評價函數(shù)Θ(D|B),包括
步驟4.1:分配GPU顯存空間,將條件布爾矩陣Ee×n和決策布爾矩陣Fn×d從CPU端拷貝到GPU端;在GPU端采用CUDA的cuSPARSE稀疏矩陣運算庫,并行計算相交矩陣Ke×d=Ee×n×Fn×d=(kij)e×d,其中kij=|Ei∩Dj|,|·|表示集合的基數(shù);
步驟4.2:將屬性重要度評價函數(shù)分解為的形式,在GPU端啟動CUDA的kernel核函數(shù),使用多線程并行計算每個評價子函數(shù)θ(ij),包括基于正域θPR(ij)、基于Shannon熵θSCE(ij)、基于互補熵θLCE(ij)和基于組合熵θCCE(ij)評價子函數(shù),如下:
其中Kij=Ei∩Dj,|·|表示集合的基數(shù),d表示決策屬性的取值數(shù)量;
步驟4.3:在GPU端啟動CUDA的kernel核函數(shù),使用多線程對所有的評價子函數(shù)θ(ij)進行并行求和操作,得到候選的條件屬性集B的屬性重要度評價函數(shù)
步驟5:初始化約簡集CAttr=C,其中CAttr為中間局部變量;對任意的條件屬性ci∈C,計算屬性重要度評價函數(shù)Θ(D|C-{ci});對任意的條件屬性ci∈C,計算條件屬性ci的內(nèi)部屬性重要度Siginner(ci,C,D);如果Siginner(ci,C,D)>0,則將條件屬性ci添加到約簡集Reduct中,并且從CAttr中刪除條件屬性ci,即Reduct=Reduct∪{ci},CAttr=CAttr-{ci};
步驟6:計算屬性重要度評價函數(shù)Θ(D|Reduct),如果||Θ(D|Reduct)-Θ(D|C)||<ε,則得到最終的約簡集Reduct,否則繼續(xù);其中ε為預(yù)先設(shè)定的閾值;
步驟7:對任意的條件屬性ci∈CAttr,計算屬性重要度評價函數(shù)Θ(D|Reduct∪{ci});對任意的條件屬性ci∈CAttr,計算條件屬性ci的外部屬性重要度Sigouter(ci,Reduct,D);選擇外部屬性重要度最高的作為最優(yōu)屬性cj=argmax{Sigouter(ci,Reduct,D)};將最優(yōu)屬性cj添加到約簡集Reduct中,并且從CAttr中刪除最優(yōu)屬性cj對應(yīng)的條件屬性ci,即Reduct=Reduct∪{ci},CAttr=CAttr-{ci},之后跳轉(zhuǎn)到步驟6。
2.如權(quán)利要求1所述的一種基于CUDA的屬性約簡方法,其特征在于,所述步驟3.5還包括,將條件布爾矩陣Ee×n保存為CSR壓縮存儲格式。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西南交通大學(xué),未經(jīng)西南交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810006829.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06K 數(shù)據(jù)識別;數(shù)據(jù)表示;記錄載體;記錄載體的處理
G06K9-00 用于閱讀或識別印刷或書寫字符或者用于識別圖形,例如,指紋的方法或裝置
G06K9-03 .錯誤的檢測或校正,例如,用重復(fù)掃描圖形的方法
G06K9-18 .應(yīng)用具有附加代碼標(biāo)記或含有代碼標(biāo)記的打印字符的,例如,由不同形狀的各個筆畫組成的,而且每個筆畫表示不同的代碼值的字符
G06K9-20 .圖像捕獲
G06K9-36 .圖像預(yù)處理,即無須判定關(guān)于圖像的同一性而進行的圖像信息處理
G06K9-60 .圖像捕獲和多種預(yù)處理作用的組合





