摘 要:為解決多分類問題,基于因素空間理論中因素顯隱的思想,在掃類連環(huán)分類算法基礎(chǔ)上,定義類別的合并,提出因素顯隱的合并掃類連環(huán)分類方法,給出算法步驟,并用數(shù)值算例進行分析;定義類別的兩兩組合,提出因素顯隱的兩兩掃類連環(huán)分類方法,給出算法步驟,并用數(shù)值算例進行分析。提出采用因素顯隱的差額絕對值方法解決兩個算法執(zhí)行過程中出現(xiàn)的決策類別分不開的問題;對UCI 數(shù)據(jù)集中3 個實例與支持向量機作了算法對比分析,研究結(jié)果表明:提出的合并掃類連環(huán)分類方法、兩兩掃類連環(huán)分類方法實現(xiàn)了因素顯隱,分類算法的精確度優(yōu)于支持向量機。多分類學習的因素顯隱研究結(jié)論拓展了因素空間的理論及應用研究。
關(guān)鍵詞:因素空間;因素顯隱;掃類連環(huán)分類算法;合并掃類連環(huán)分類算法;兩兩掃類連環(huán)分類算法;差額絕對值法
中圖分類號:O 29 文獻標志碼:A 文章編號:1008-0562(2024)01-0111-08
0 引言
因素空間理論下的因素顯隱是目前人工智能領(lǐng)域的瓶頸問題,尋找問題的關(guān)鍵因素是一個重要的研究方向。因素顯隱是汪培莊[1-3]提出的因素空間理論下的重要思想,將因素顯隱思想用于分類問題,提出了掃類連環(huán)分類算法和可分算法[4],主要用于解決二分類問題。本文在此基礎(chǔ)上將掃類連環(huán)分類算法拓展到了多分類問題。
隨著互聯(lián)網(wǎng)和大數(shù)據(jù)的發(fā)展,機器學習[5-11]已成為人工智能和數(shù)據(jù)科學的重點研究方向。分類問題作為機器學習的一部分,成為目前研究的重點。在機器學習算法中有很多二分類算法[12],但實際應用中經(jīng)常遇到多分類問題,需要研究能夠快速解決多分類問題[13]的算法。
本文在因素空間理論的背景下提出的多分類算法,在掃類連環(huán)分類算法基礎(chǔ)上定義了合并類,提出了合并掃類連環(huán)分類算法,定義了兩兩組合,提出了兩兩掃類連環(huán)分類算法。針對兩種算法出現(xiàn)決策類別分不開的情況,提出差額絕對值方法。
1 掃類連環(huán)分類算法
1.1 掃類方向
定義1 給定可分的二分類數(shù)據(jù)集
X?={ ?xi |i=1,2,···,kgt;0};X+={ +j x |j=1,2,···,lgt;0}。兩類的中心分別是o?=( ?xi +···+ ?xk )/k ,o+=( +j x +···+ +xl )/l,記 w=o+?o?,稱之為掃類方向。
人在分類的時候,從一類中心掃向另一類中心,其整體性視覺所注意到的就是掃類方向,也是掃類向量。
定義2 取掃類向量w,對于正類,a+=argminj{(+jx ,w)|j=1,2,···,l},對于負類,b?=argmaxi{( ?xi ,w)|i=1,2,···,k},記J=a+?b?,叫做正負兩類關(guān)于方向w的間隔。若間隔為正,則稱w 對為分類的顯隱因素,稱J*=(a++b?)/2 為隔墻,按數(shù)據(jù)對w 的投影而將兩類分開;若間隔為負,有a+≤b?,則稱閉區(qū)間[a+,b?]為二分類數(shù)據(jù)在方向w 上的投影混域。投影在混合域中的樣本點叫做混點,記h(w)為方向w 所呈的混點個數(shù)。
投影混域為空當且僅當間隔為正。
1.2 掃類連環(huán)分類算法
掃類方向雖然符合人眼的整體判斷,卻并不一定就是顯隱因素。但每一個掃類向量都能對分類作出一定的貢獻,把落在投影混域之外的點作出分類,由此提出一種連環(huán)的算法,稱為掃類連環(huán)分類算法。
定義3 稱二分類樣本點集為w 序集,如果滿足( ?x1 ,w)≤···≤( ?xk ,w);( +x1 ,w)≤···≤( +xl ,w)(1)所謂將一個二分類樣本點集w序化是指樣本點的足碼滿足式(1)。
若X+和X?都是w 序集,則有
如果樣本點集X?和X+在因素空間中所生成的凸閉包互不相交,則稱之為可分的二分類數(shù)據(jù)集。掃類連環(huán)分類算法可以從掃類向量w0 連環(huán)改進成顯隱向量wT,算法步驟如下。
步驟1 從t=0 開始,計算兩類中心+ot 和 ?ot ,求得掃類向量wt= +ot ? ?ot 。
步驟2 根據(jù)wt,求出+at =min{( +x1 ,wt),···,( +xl ,wt)}和?bt =max{( ?x1 ,wt),···,( ?xk ,wt)},間隔 Jt=+at ? ?bt 。
步驟3 若間隔Jt 為正,則wt 為顯隱因素,有隔墻J*=(a++b?)/2,獲解,停止運行并輸出;若間隔非正,求得投影混域[ +at , ?bt ],利用投影混域刪去兩類的非混點,即刪去( ?xi ,wt)和( +j x ,wt)的值不在投影混域內(nèi)的樣本點,更新二分類數(shù)據(jù)集,并將樣本點集根據(jù)wt 序化,回到步驟1。
與通常算法不同的是,掃類連環(huán)算法所給出的是一個因素序列wt(t=0,1,···,T)。在這些因素中,除wT 對未被刪除的數(shù)據(jù)集而言是顯隱因素以外,其余都是帶負間隔的向量,但每個向量都對類型判別發(fā)揮作用。
掃類連環(huán)算法的測試步驟如下。
步驟1 輸入測試數(shù)據(jù)z=(z1,···,zn)。
步驟2 從t=0 開始,計算測試數(shù)據(jù)對wt 的投影(z,wt),判斷是否在混域[ +at , ?bt ]中。
步驟3 如果(z,wt)不在混域中,說明z 對于wt 非混點,則按照其投影判明類別,在混域之左判為負類,在混域之右判為正類,獲解,停止運行并輸出。
步驟4 如果(z,wt)在混域中,將所有混點視為新的二分類數(shù)據(jù)集,t=t+1≠T,轉(zhuǎn)到步驟2,直到t=t+1=T,wT 有隔墻J*,按照(z,wt)?J*的符號來確定z 的類別,獲解,停止運行并輸出。
1.3 不可分數(shù)據(jù)的分類算法
分類數(shù)據(jù)不可分的原因是因素空間的因素不完全,存在缺失因素。如果把缺失因素加進來,新的因素空間便能使數(shù)據(jù)具有可分性,正負兩類數(shù)據(jù)在新空間中的凸閉包互不相交,但是落在原因素空間以后,兩個凸集便相交了。
不可分數(shù)據(jù)集的可分算法步驟如下。
步驟1 將負類樣本點?xi =( ?xi1 ,···, ?xin )改為 n+1維向量?xi =( ?xi1 ,···, ?xin ,?1),將正類點 +"xj =( +x j1 ,···,+x jn )改為n+1維向量 +"xj =( +x j1 ,···, +x jn ,+1)。
步驟2 將升維后的?xi , +"xj 兩類數(shù)據(jù)都進行微移,得到?xi =(1+δ)( ?xi1 ,···, ?xin ), +"xj =(1?δ)( +x j1 ,···,+x jn )。δ 是一個足夠小的正實數(shù),小于相鄰樣本點之間的相對距離。
步驟3 從t=0 開始,利用掃類連環(huán)分類算法計算顯隱因素,得到隔墻。
步驟4 對于新輸入的測試點z=(z1,···,zn),改寫成z=(z1,···,zn,0)進行測試分類。
步驟5 采用掃類連環(huán)分類法求解。
2 合并掃類連環(huán)分類算法
對于多分類問題,本節(jié)定義了類別合并與差額絕對值,提出了因素顯隱的合并掃類連環(huán)分類方法,簡記為合并分類算法。
2.1 算法原理
對于 n 分類問題,設類別指標集J := {1,…,n},類別數(shù)據(jù)集
定義4(合并類)將數(shù)據(jù)集X 選中第j 個類別Xj( j =1,2,…,n ),其余的類別進行合并,得到
定義5(差額絕對值)給定隔墻J*和顯隱因素wT,測試點z,差額絕對值為
D=|(w,z)?J*|。 (4)
設n=3,類別數(shù)據(jù)集分別為a,b,c,相應地有3個合并類及顯隱因素,見表1。
表1 中,對于類別a,其合并類為b,c,其中a為正類,b,c 為負類。其他合并類同理。
合并掃類連環(huán)分類算法原理為:類別數(shù)據(jù)集X={X1,X2,…Xn }有 n 類樣本點集,則 X 有 n 個合并類Hj(j= 1,2,… ,n )。
對于Xj(j= 1,2,… ,n ), 得 到 其 合 并 類Hj(j= 1,2,… ,n ),則 Xj為正類即 a+,Hj為負類即b?。利用掃類連環(huán)算法得到分類的顯隱向量和隔墻。計算間隔J(J=a+?b?),若間隔為負,有a+≤b?,則稱閉區(qū)間[a+,b?]為多分類數(shù)據(jù)的投影混域;若間隔為正,有a+gt;b?,則wT 稱為(X j(j= 1,2,… ,n )與 H(j= 1,2,… ,n )分類的顯隱因素,稱 J*=(b?+a+)/2為隔墻。
計算出每一類與合并類的顯隱因素和隔墻,然后進行算法測試,算法測試原理為:將測試點z 與n 個合并類的顯隱因素wT 計算內(nèi)積,用隔墻分類。若在顯隱向量前存在掃類向量,要從掃類向量w0 開始計算內(nèi)積,與對應的投影混域比較。若在混域左側(cè)為負類,若在混域右側(cè)為正類,若在混域中,則為混點,繼續(xù)計算內(nèi)積,直到判斷出測試點的類別。
測試點的歸屬類判別方法:眾數(shù)判別,類別出現(xiàn)次數(shù)最多者為測試點的類別;差額絕對值判別,對于類別出現(xiàn)次數(shù)相同的情況,利用定義5,計算隔墻與內(nèi)積差的絕對值,判定差的絕對值最小對應的類別為測試點所屬類別。
2.2 算法步驟
合并掃類連環(huán)分類算法的步驟如下。
步驟1 將數(shù)據(jù)集X 選中第j 個類別Xj,記為正類,合并類為j H ,記為負類。共有n 對Xj,Hj。
步驟2 計算正類Xj、負類Hj 的中心,分別為o+、o?,求出掃類向量w=o+?o?,計算正類與掃類向量的最小內(nèi)積a+、負類與掃類向量的最大內(nèi)積b?。
步驟3 計算間隔J,若間隔為正,得到顯隱因素wT,隔墻J*=(b?+a+)/2;若間隔為負,得到投影混域即為閉區(qū)間[a+,b?]。
利用合并掃類連環(huán)分類算法,得到n 個類別與其合并類的顯隱因素和隔墻(或投影混域)。
合并掃類連環(huán)分類算法的測試步驟如下。
步驟1 查驗類別Xj 與其合并類Hj 在w 線的投影是否分開,如果分開接著計算隔墻J*。
步驟2 對于測試點z,計算(w,z),判斷是否在混域[a+,b?]中。
①(w,z)在混域之左就判為負類,在混域之右就判為正類,獲解,停止運行并輸出;②若(w,z)在混域中,即測試點與掃類向量未判斷出結(jié)果,轉(zhuǎn)步驟3。
步驟3 計算(wT,z),判斷其與J*的關(guān)系,若(wT,z)gt;J*,則規(guī)定為正類,除此之外定為負類。
步驟4 計算測試點z 與每個類別的判別結(jié)果,進行測試點z 的歸屬判別:①用眾數(shù)判別法,若出現(xiàn)類別次數(shù)最多者為測試點的類別,結(jié)束,否則②。②采用差額絕對值判別法,取差的絕對值最小的數(shù)對應的類別為測試點的分類結(jié)果。
2.3 數(shù)值算例
例1 設3 種類別的花分別為百合花、菊花、紅玫瑰,n=3?;ㄔ谛螒B(tài)上往往有差異,選取4 個因素:
I(f1=花瓣長度)={短,中,長}={1,2,3};
I(f2=花瓣寬度)={窄,中,寬}={1,2,3};
I(f3=花瓣顏色)={淺,中,深}={1,2,3};
I(f4=花的香味)={淡,中,濃}={1,2,3}。
3 類各選5 個樣本,采集性狀數(shù)據(jù)如下。
X1(百合花): x11 (2,1,3,2), x21 (1,1,3,2), x31 (1,1,3,2),x41 (1,1,3,2), x51 (1,1,3,2)。
X2(郁金香): x12 (2,2,1,3), x22 (2,3,2,3), x32 (2,3,1,3),x42 (1.5,3,1,3), x52 (2,3,1,3)。
X3(紅玫瑰): x13 (2,2,2,1), x23 (2,3,2,1), x33 (2,3,2,1.4),x43 (2,3,2,1), x53 (2,3,2,2)。
下面求每個類與其合并類的顯隱因素wT 及其隔墻*Ji (i=1,2,3),然后判斷測試點z=(2,1,3,1)的類別。
(1)計算顯隱因素、隔墻
對于百合花:
①百合花中心o+=(1.2,1,3,2);其合并類為郁金香、紅玫瑰,中心o?=(1.95,2.8,1.6,2.14)。
②計算掃類向量w1=(?0.75,?1.8,1.4,?0.14)。
因為(X1,w1)mingt;(X2 X3,w1)max,所以w1 為顯隱因素,有隔墻*J1 =?0.91。
對于郁金香:
①郁金香中心o1=(1.9,2.8,1.2,3);其合并類為百合花、紅玫瑰,中心o2=(1.6,1.9,2.5,1.64)。
②計算掃類向量w2=(0.3,0.9,?1.3,1.36)。
因為(X2,w2)mingt;(X1 X3,w2)max,所以w2 為顯隱因素,有隔墻*J2 =4.1。
對于紅玫瑰:
①紅玫瑰中心o1=(2,2.8,2,1.28);其合并類為百合花、郁金香,中心o2=(1.55,1.9,2.1,2.5)。
②計算掃類向量w3=(0.45,0.9,?0.1,?1.22)。
因為(X3,w3)mingt;(X1 X2,w3)max,所以w3 為顯隱因素,有隔墻*J3 =0.4。
(2)輸入測試點z=(2,1,3,1)
計算(z,w1)=0.86gt;?0.91,對應的類別為百合花。
計算(z,w2)=?1.04lt;?0.72,對應的類別為百合花和紅玫瑰。
計算(z,w3)=0.28lt;0.4,對應的類別為百合花和郁金香。
由眾數(shù)判別法可知測試點判別結(jié)果為百合花類。
3 兩兩掃類連環(huán)分類算法
根據(jù)合并掃類連環(huán)分類算法的思想,本節(jié)定義了兩兩組合,提出了兩兩掃類連環(huán)分類方法,簡記為兩兩分類算法,并給出算法步驟。
3.1 算法原理
與合并掃類連環(huán)分類算法不同,兩兩掃類連環(huán)分類算法類別分開的模式不同。將多類樣本兩兩組合,其中一類設為正類,另外一類設為負類,按照掃類連環(huán)分類算法來兩兩求取顯隱因素,該算法稱為兩兩掃類連環(huán)分類算法。
給定類別指標集J := {1,…,n},類別數(shù)據(jù)集
X={X1,X2,…,Xn},
其中: X1 = {x11 , x21 ,…, xn11 },X 2={x12 , x22 …, xn 22},…,Xn={x 1n ,x 2n ,… ,xnn n }。
定義6(兩兩組合) 將數(shù)據(jù)集X 選中第j 個類別 Xj和第 k 個類別 Xk(j≠k, j,k =1,2,…,n )進行兩兩組合,得到
Tjk=(Xj,Xk), (5)
稱Tjk 為Xj 和Xk 的兩兩組合。
式(5)中每兩個類別只允許組合一次。
兩兩掃類連環(huán)分類算法原理為:
類別數(shù)據(jù)集X={X1,X2,…,Xn}有 n 類樣本點集,則組合 Tjk=(Xj,Xk)(j≠k, j,k =1,2,…,n )。Xj為正類即a+,Xk 為負類即b?。利用掃類連環(huán)分類算法得到顯隱因素wT、隔墻J*=(b?+a+)/2,計算間隔J(J=a+?b?)。
若間隔為負,有a+≤b?,則稱閉區(qū)間[a+,b?]為多分類數(shù)據(jù)的投影混域;若間隔為正,有a+gt;b?,則wT 為Xj 與Xk 分類的顯隱因素,J*為隔墻。
計算Tjk 的顯隱因素wT 和隔墻J*,然后進行算法測試,原理為:
將測試點z 與Tjk 的顯隱因素wT 計算內(nèi)積,用隔墻分類。
若在顯隱向量前存在掃類向量,要從掃類向量w0 開始計算內(nèi)積,與對應的投影混域比較。若在混域左側(cè)為負類,若在混域右側(cè)為正類,若在混域中,則為混點,繼續(xù)計算內(nèi)積,直到判斷出測試點的類別。
利用眾數(shù)判別和差額絕對值判別方法作測試點的歸屬類判別。
3.2 算法步驟
兩兩掃類連環(huán)分類算法的步驟如下。
步驟1 任取數(shù)據(jù)集X 的兩兩組合Tjk=(Xj,Xk),Xj,Xk 分別記為正類和負類。每兩個類別只允許組合一次。
步驟2 計算Xj 與Xk 的中心o+和o?,求出掃類向量w=o+?o?,計算正類與掃類向量的最小內(nèi)積a+、負類與掃類向量的最大內(nèi)積b?。
步驟3 計算間隔J,若間隔為正,得到顯隱因素wT、隔墻J*;若間隔為負,得到投影混域,即為[a+,b?]。
利用兩兩掃類連環(huán)分類算法,得到兩兩組合Tjk的顯隱因素和隔墻(或投影混域)。然后作算法測試步驟如下。
步驟1 查驗類別Xj 與Xk 在w 線的投影是否分開,如果分開接著計算隔墻J*。
步驟2 對于測試點z,計算(w,z),判斷是否在混域[a+,b?]中。
①(w,z)在混域之左就判為負類,在混域之右就判為正類,獲解,停止運行并輸出;②若(w,z)在混域中,即測試點與掃類向量未判斷出結(jié)果,轉(zhuǎn)步驟3。
步驟3 計算(wT,z),判斷其與b 的關(guān)系,若(wT,z)gt;b,則規(guī)定為正類,除此之外定為負類。
步驟4 計算測試點z 與每個類別的判別結(jié)果,進行測試點z 的歸屬判別:
①用眾數(shù)判別法,若出現(xiàn)類別次數(shù)最多者為測試點的類別,結(jié)束,否則②;②采用差額絕對值判別法,取差的絕對值最小的數(shù)對應的類別為測試點的分類結(jié)果。
3.3 數(shù)值算例
例2 設n=4,4 類各選3 個樣本,數(shù)據(jù)如下。
X1: x11 (1,2,2), x21 (1,2,3), x31 (1,2,3);
X2: x12 (2,1,3), x22 (2,3,2), x32 (2,1,2);
X3: x13 (1,1,2), x23 (1,1,3), x33 (1,1,2)。
下面求取兩兩分類的顯隱因素wT 及其隔墻J*i (i=1,2,3),并判斷測試點 z(1,2,3)的類別。
解兩兩組合1:
解兩兩組合1:
(1)計算正類X3 中心o3=(1,1,7/3),負類X2中心o2=(2,5/3,7/3);
(2)得到掃類向量:w1=o3?o2=(?1,?2/3,0);
(3)經(jīng)過查驗,X2 和X3 兩組樣本在w1 線上的投影分別為:
(w1,X21)=?8/3,(w1,X22)=?4,(w1,X23)=?8/3;
(w1,X31)=?5/3,(w1,X32)=?5/3,(w1,X33)=?5/3。
(4)兩類投影集無交集:
maxi(w1,X2i)=?8/3lt;?5/3=mini(w1,X3i)。故w1 是顯隱因素,故可規(guī)定分界限
b1=[mini(w1,X31)+maxi(w1,X2i)]/2=(?5/3?8/3)/2=?13/6。
兩兩組合2:
(1)計算正類X1i 中心o1=(1,2,8/3),負類X3i中心o3=(1,1,7/3);
(2)得到掃類向量:w2=o1?o3=(0,1,1/3);
(3)經(jīng)過查驗,X1i 和X3i 兩組樣本在w2 線上的投影分別為
(w2,X31)=?5/3,(w2,X32)=2,(w2,X33)=5/3。
(w2,X11)=8/3,(w2,X12)=3,(w2,X13)=3;
(4)兩類投影集無交集:
maxi(w2,X3i)=2lt;8/3=mini(w2,X1i)。故w2 是顯隱因素,故可規(guī)定分界限
b2=[mini(w1,X1i)+maxi(w1,X3i)]/2=(8/3+2)/2=7/3。兩兩組合3:
(1)計算正類X2i 中心o2=(2,5/3,7/3),負類X3i中心o3=(1,1,7/3);
(2)得到掃類向量:w3=o2?o3=(1,2/3,0);
(3)經(jīng)過查驗,X1i 和X2i 兩組樣本在w3 線上的投影分別為
(w3,X11)=?1/3,(w3,X12)= ?2/3,(w3,X13)=?2/3。
(w3,X21)=2/3,(w3,X22)=1/3,(w3,X33)=1。
(4)兩類投影集無交集:
maxi(w3,X1i)=?1/3lt;1/3=mini(w3,X2i)。故w3 是顯隱因素,故可規(guī)定分界限
b3=(mini(w3,X2i)+maxi(w3,X1i))/2=(1/3?1/3)/2=0。
輸入測試點z2(1,2,3),則
(z2,w1)=?7/3lt;?13/6,對應的類別為X2i;
(z2,w2)=3gt;7/3,對應的類別為X1i;
(z2,w3)=?4/3lt;0,對應的類別為X1i,所以測試點結(jié)果為X1i。
4 實例應用
對于UCI 數(shù)據(jù)庫中的Iris、User KnowledgeModeling Data Set、Zoo 數(shù)據(jù)集,分別是3 類、4 類、7 類問題。利用合并掃類連環(huán)分類算法、兩兩掃類連環(huán)分類算法與支持向量機進行算法對比分析。
4.1 實例1
Iris 有150 個樣本對象和4 個因素,其中,條件因素3 個,結(jié)果因素1 個。該數(shù)據(jù)集有3 個類別,每個類別選取24 個樣本,共選取72 個樣本作為訓練集,30 個樣本作為測試集。
(1)合并掃類連環(huán)分類算法利用合并掃類連環(huán)分類算法進行訓練,具體結(jié)果見表2。
(2)兩兩掃類連環(huán)分類算法
選取相同的樣本數(shù)用兩兩掃類連環(huán)分類算法來進行訓練,具體結(jié)果見表3。
(3)多分類支持向量機
選取相同的樣本數(shù)用多分類支持向量機來進行訓練,具體結(jié)果見圖1。由圖1 可知,多分類支持向量機準確率為66.667%。
(4)結(jié)果分析
3 種算法的測試集結(jié)果見表4。
由表4 可知,兩兩多分類掃類連環(huán)算法準確率為96.7%,合并多分類掃類連環(huán)算法準確率為90%,多分類支持向量機的準確率為66.7%。本文提出的兩種分類算法均比多分類支持向量機的準確率高。
4.2 實例2
User Knowledge Modeling Data Set 數(shù)據(jù)集有6個因素,其中,條件因素和結(jié)果因素分別有5 個和1 個。該數(shù)據(jù)集有4 個類別,本次實驗選取該數(shù)據(jù)集的60 個樣本作為訓練集,選取40 個樣本作為測試集。
(1)合并掃類連環(huán)分類算法
每個類別選取15 個樣本,使用多類連環(huán)算法中的合并掃類連環(huán)分類算法進行訓練,得到19 個掃類向量,4 個顯隱因素,23 個混域區(qū)間,4 個隔墻。根據(jù)顯隱因素和隔墻可以判斷40 個測試樣本中22 個是判斷正確的。
(2)兩兩掃類連環(huán)分類算法
同樣地,用兩兩掃類連環(huán)分類算法進行測試。得到了4 個掃類向量,6 個顯隱因素,10 個混域區(qū)間,6 個隔墻。根據(jù)顯隱因素和隔墻可以判斷40 個測試樣本中29 個判斷正確。
(3)多分類支持向量機
選取相同的樣本數(shù)用多分類支持向量機來進行分類訓練,結(jié)果見圖2。由圖2 可知,對實例2利用多分類支持向量機分類的準確率為52.5%。
(4)結(jié)果分析
3 種算法的測試集結(jié)果見表5。由表5 可知,兩兩掃類連環(huán)分類算法準確率為72.5%,合并掃類連環(huán)分類算法準確率為55%,多分類支持向量機的準確率為52.5%。本文提出的兩種算法的分類準確率依然高于多分類支持向量機。
4.3 實例3
Zoo 有17 個因素,其中,條件因素16 個,結(jié)1 個。該數(shù)據(jù)集有7 個類別,本次實驗選取該數(shù)據(jù)集的59 個樣本作為訓練集,選取34 個樣本作為測試集。
由于掃類向量和顯隱向量數(shù)據(jù)很長,不方便全部展示其結(jié)果,下面只展示兩種算法的測試結(jié)果。在合并掃類連環(huán)分類算法中,根據(jù)顯隱因素和隔墻可知34 個測試樣本中30 個判斷正確。在兩兩掃類連環(huán)分類算法中,根據(jù)顯隱因素和隔墻可知34 個測試樣本中32 個判斷正確,結(jié)果見表6。
(1)多分類支持向量機
選取相同的樣本數(shù)用多分類支持向量機來進行訓練,結(jié)果見圖3。由圖3 可知,多分類支持向量機的分類準確率為79.4%。
由表6 可知,兩兩多分類掃類連環(huán)算法準確率為94.1%,合并多分類掃類連環(huán)算法準確率為88.2%,多分類支持向量機分類的準確率為79.4%。本文提出的兩種算法對于Zoo 數(shù)據(jù)集的分類效果依然高于分類支持向量機。
4.4 結(jié)果分析
兩兩分類算法、合并分類算法和多分類支持向量機在3 個數(shù)據(jù)集上的測試結(jié)果見表7。由表7 可見,兩兩分類算法和合并分類算法的分類效果均比支持向量機的效果好,并且兩兩掃類連環(huán)分類算法的準確率大于合并掃類連環(huán)分類算法,但是類別為偶數(shù)類時準確率不是很高,可以在未來工作中進一步完善。
實驗結(jié)果表明,多類連環(huán)算法具有一定實用性,訓練樣本越多,預測效果越好。
5 結(jié)論
(1)以因素空間的因素顯隱為背景,研究多分類機器學習算法:將掃類連環(huán)思想用于合并類,提出合并掃類連環(huán)分類算法;將掃類連環(huán)思想用于類別的兩兩組合,提出兩兩掃類連環(huán)分類算法。
(2)在運用多類連環(huán)算法時,存在中心點重合的情況,這會使算法陷入無限迭代,不能繼續(xù)分類,為了解決此問題可采用不可分數(shù)據(jù)的可分算法。當決策類別無法判別時,可用差額絕對值方法解決。
(3)通過實驗對比分析,提出的兩種算法的可用性和準確性均優(yōu)于支持向量機,且兩兩掃類連環(huán)分類算法的準確性更高。
參考文獻(References):
[1] 汪培莊,劉海濤.因素空間與人工智能[M].北京:北京郵電大學出版社,2021:121-147.
[2] 汪培莊.因素空間與因素庫[J].遼寧工程技術(shù)大學學報(自然科學版),2013,32(10):1297-1304.
WANG Peizhuang.Factor spaces and factor data-bases[J].Journal ofLiaoning Technical University (Natural Science),2013,32(10):1297-1304.
[3] 汪培莊.因素空間理論——機制主義人工智能理論的數(shù)學基礎(chǔ)[J].智能系統(tǒng)學報,2018,13(1):37-54.
WANG Peizhuang.Factor space-mathematical basis of mechanismbased artificial intelligence theory[J].CAAI Transactions on IntelligentSystems,2018,13(1):37-54.
[4] 孫慧.基于因素空間理論的機器分類學習因素顯隱模型[D].阜新:遼寧工程技術(shù)大學,2022:8-30.
[5] 葉志飛,文益民,呂寶糧.不平衡分類問題研究綜述[J].智能系統(tǒng)學報,2009,4(2):148-156.
YE Zhifei,WEN Yimin,LYU Baoliang.A survey of imbalanced patternclassification problems[J].CAAI Transactions on Intelligent Systems,2009,4(2):148-156.
[6] 郭明瑋,趙宇宙,項俊平,等.基于支持向量機的目標檢測算法綜述[J].控制與決策,2014,29(2):193-200.
GUO Mingwei,ZHAO Yuzhou,XIANG Junping,et al.Review of objectdetection methods based on SVM[J].Control and Decision,2014,29(2):193-200.
[7] 許建華,張學工,李衍達.支持向量機的新發(fā)展[J].控制與決策,2004,19(5):481-484,495.
XU Jianhua,ZHANG Xuegong,LI Yanda.Advances in support vectormachines[J].Control and Decision,2004,19(5):481-484,495.
[8] 劉江華,程君實,陳佳品.支持向量機訓練算法綜述[J].信息與控制,2002,31(1):45-50.
LIU Jianghua,CHENG Junshi,CHEN Jiapin.Support vector machinetraining algorithm[J].Information and Control,2002,31(1):45-50.
[9] 汪海燕,黎建輝,楊風雷.支持向量機理論及算法研究綜述[J].計算機應用研究,2014,31(5):1281-1286.
WANG Haiyan,LI Jianhui,YANG Fenglei.Overview of support vectormachine analysis and algorithm[J].Application Research of Computers,2014,31(5):1281-1286.
[10] LING L,LIN H T.Ordinal regression by extended binary classification[C]//Proceedings of the Twentieth Annual Conference on Neural InformationProcessing Systems,December 4-7,2006,Vancouver,British Columbia,Canada.MIT Press,2006:865-872.
[11] MCKINNA L I W,F(xiàn)URNAS M J,RIDD P V.A simple,binaryclassification algorithm for the detection of Trichodesmium spp.withinthe Great Barrier Reef using MODIS imagery[J].Limnology andOceanography: Methods,2011,9(2):50-66.
[12] 楊劍鋒,喬佩蕊,李永梅,等.機器學習分類問題及算法研究綜述[J].統(tǒng)計與決策,2019,35(6):36-40.
YANG Jianfeng,QIAO Peirui,LI Yongmei,et al.A review ofmachine-learning classification and algorithms[J].Statistics amp; Decision,2019,35(6):36-40.
[13] 劉志剛,李德仁,秦前清,等.支持向量機在多類分類問題中的推廣[J].計算機工程與應用,2004(7):10-13,65.
LIU Zhigang,LI Deren,QIN Qianqing,et al.An analytical overview ofmethods for multi-category support vector machines[J].ComputerEngineering and Applications,2004(7):10-13,65.
基金項目:遼寧省教育廳科學研究項目(LJ2019JL019);遼寧工程技術(shù)大學學科創(chuàng)新團隊資助項目(LNTU20TD-35)