葉曉波+秦海菲
摘要:Logistic分類算法中,通常使用梯度上升算法求解權(quán)值矩陣,NewtonRaphson算法是另一種求解權(quán)值矩陣的算法。選用UCI機(jī)器學(xué)習(xí)倉庫中3個(gè)數(shù)據(jù)集,實(shí)驗(yàn)研究了Logistic梯度上升算法與Logistic NewtonRaphson算法的分類正確率、權(quán)值矩陣迭代求解次數(shù)。實(shí)驗(yàn)結(jié)果表明,相比Logistic梯度上升算法,Logistic NewtonRaphson算法具有更高分類正確率與較少權(quán)值矩陣迭代求解次數(shù),該結(jié)論為Logistic分類過程中權(quán)值矩陣求解算法提供了參考依據(jù)。
關(guān)鍵詞關(guān)鍵詞:模式識別;Logistic;NewtonRaphson
DOIDOI:10.11907/rjdk.171823
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2017)011014103
0引言
模式識別是一門以應(yīng)用為基礎(chǔ)的學(xué)科,目的是將對象進(jìn)行分類[1]。根據(jù)分類算法訓(xùn)練學(xué)習(xí)與測試數(shù)據(jù)集類別標(biāo)簽情況,模式識別可分為有監(jiān)督模式識別、無監(jiān)督模式識別及半監(jiān)督模式識別[1]。監(jiān)督學(xué)習(xí)算法中,Logistic分類算法是廣泛使用的簡單二分類算法,相對于感知器算法,Logistic函數(shù)對于輸入的任意值,值域?yàn)椋?,1),完全滿足分類算法中概率為(0,1)的要求,且Logistic函數(shù)為單調(diào)上升函數(shù),沒有不連續(xù)點(diǎn)。Logistic分類算法中,大部分文獻(xiàn)給出求解權(quán)值矩陣算法是梯度上升算法,鮮見提及NewtonRaphson算法。這兩種算法,哪種具有更快收斂速度與更高分類準(zhǔn)確性,本文通過實(shí)驗(yàn)研究給出了答案。
3實(shí)驗(yàn)研究
實(shí)驗(yàn)軟件環(huán)境為Windows 7(64bit)、Matlab 2016b,硬件環(huán)境為Intel I53570K 、8G內(nèi)存。實(shí)驗(yàn)程序設(shè)計(jì)均在Matlab 2016b下完成,以下是整個(gè)實(shí)驗(yàn)過程。
3.1數(shù)據(jù)詳情
實(shí)驗(yàn)所用數(shù)據(jù)來自UCI機(jī)器學(xué)習(xí)倉庫(http://archive.ics.uci.edu/ml/)較流行的3個(gè)數(shù)據(jù)集,分別為Breast Cancer Wisconsin (Diagnostic)數(shù)據(jù)集中Wisconsin Diagnostic Breast Cancer (WDBC.data)數(shù)據(jù)集[8]與Breast Cancer Wisconsin(BCW.data)數(shù)據(jù)集[9]、SPECT Heart(Data on cardiac Single Proton Emission Computed Tomography images)數(shù)據(jù)集中SPECTF.train(用于訓(xùn)練學(xué)習(xí))與SPECTF.test(用于正確率檢測)數(shù)據(jù)集[10]。實(shí)驗(yàn)用數(shù)據(jù)集數(shù)據(jù)數(shù)量、屬性、類別數(shù)如表1所示。
所有數(shù)據(jù)集類別標(biāo)簽分別用數(shù)字1、2表示,有缺失值
的數(shù)據(jù)不參與本次實(shí)驗(yàn),數(shù)據(jù)預(yù)處理情況如下:
WDBC.data數(shù)據(jù)集第一列屬性值為ID number,實(shí)驗(yàn)之前應(yīng)刪除該值;第二列屬性值為相應(yīng)類別標(biāo)簽,分別為M、B,實(shí)驗(yàn)之前應(yīng)將數(shù)據(jù)集中相應(yīng)類別標(biāo)識用數(shù)字1、2替換。
BCW.data數(shù)據(jù)集第一列屬性值是ID number,實(shí)驗(yàn)前應(yīng)刪除該值;最后一列為類別標(biāo)簽,分別為2、4,實(shí)驗(yàn)前應(yīng)將數(shù)據(jù)集中相應(yīng)類別標(biāo)識用數(shù)字1、2替換。實(shí)驗(yàn)前刪除數(shù)據(jù)集中16條有缺失值的數(shù)據(jù)。
實(shí)驗(yàn)采用UCI數(shù)據(jù)集的優(yōu)勢在于:UCI數(shù)據(jù)倉庫創(chuàng)建于1987年,是全世界從事機(jī)器學(xué)習(xí)理論研究的學(xué)生、教育者、研究人員主要數(shù)據(jù)源,用UCI數(shù)據(jù)集得到的實(shí)驗(yàn)結(jié)果具有一定權(quán)威性。
3.2實(shí)驗(yàn)思路與方法
3.2.1實(shí)驗(yàn)數(shù)據(jù)采樣方法
分類算法分類正確率與實(shí)驗(yàn)數(shù)據(jù)采樣比例密切相關(guān),通常訓(xùn)練數(shù)據(jù)量越大,分類精確度越高。實(shí)驗(yàn)中WDBC.data數(shù)據(jù)集與BCW.data數(shù)據(jù)集取出每個(gè)類別總數(shù)量70%數(shù)據(jù)作為訓(xùn)練學(xué)習(xí)數(shù)據(jù)集,余下30%數(shù)據(jù)作為分類正確率檢測數(shù)據(jù)集;SPECT Heart數(shù)據(jù)集中的SPECTF.train用于訓(xùn)練學(xué)習(xí),SPECTF.test用于分類正確率檢測。
3.2.2分類效率比較方式
分別用Logistic梯度上升算法與Logistic NewtonRaphson算法對實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分類正確率檢測,在達(dá)到指定分類正確率基礎(chǔ)上,對比兩種算法的訓(xùn)練學(xué)習(xí)數(shù)據(jù)與測試數(shù)據(jù)分類正確率及迭代求解權(quán)值矩陣次數(shù)。訓(xùn)練學(xué)習(xí)數(shù)據(jù)與測試數(shù)據(jù)分類正確率高,迭代求解權(quán)值矩陣次數(shù)少的就是最優(yōu)算法。
3.3程序設(shè)計(jì)
3.3.1Logistic梯度上升算法程序設(shè)計(jì)步驟
(1)load數(shù)據(jù)集名稱;
(2)p=0.7;%提取訓(xùn)練學(xué)習(xí)數(shù)據(jù)比例
(3)i=1;%計(jì)數(shù)器
(4)按比例p提取訓(xùn)練學(xué)習(xí)數(shù)據(jù)X;
(5)按比例1-p提取測試數(shù)據(jù)TX;
(6)w=zeros(size(X,2),1);%初始化權(quán)值矩陣w
(7)按照式(3)計(jì)算出梯度上升改變權(quán)值矩陣;
(8)EXT=1./(1+exp(-w′*X′));%代入式(1)計(jì)算分類值
(9)X_cor(i) =sum(XT==(EXT>=0.5))/size(XT,2);%計(jì)算分類正確率
(10)while (X_cor(i)<0.9)%迭代求解的條件是分類正確率小于90%
(11)i=i+1;%迭代次數(shù)計(jì)數(shù)
(12)按照式(10)計(jì)算出梯度上升改變權(quán)值矩陣;
(13)EXT=1./(1+exp(-w'*X'));%代入式(1)計(jì)算分類值
(14)X_cor(i)=sum(XT==(EXT>=0.5))/size(XT,2);%計(jì)算分類正確率endprint
(15)end
3.3.2Logistic NewtonRaphson算法程序設(shè)計(jì)步驟
(1)load數(shù)據(jù)集名稱;
(2)p=0.7; %提取訓(xùn)練學(xué)習(xí)數(shù)據(jù)比例
(3)i=1;%計(jì)數(shù)器
(4)按比例p讀取訓(xùn)練學(xué)習(xí)數(shù)據(jù)X;
(5)按比例1-p讀取測試數(shù)據(jù)TX;
(6)w=zeros(size(X,2),1); %初始化權(quán)值矩陣w
(7)按照式(4)計(jì)算出梯度上升改變權(quán)值矩陣;
(8)EXT=1./(1+exp(-w′*X′));%代入式(1)計(jì)算分類值
(9)X_cor(i) =sum(XT==(EXT>=0.5))/size(XT,2);%計(jì)算分類正確率
(10)while (X_cor(i)<0.9)%迭代求解的條件是分類正確率小于90%
(11)i=i+1;%迭代次數(shù)計(jì)數(shù)
(12)按照式(13)計(jì)算出梯度上升改變權(quán)值矩陣;
(13)EXT=1./(1+exp(-w′*X′));%代入式(1)計(jì)算分類值
(14)X_cor(i)=sum(XT==(EXT>=0.5))/size(XT,2);%計(jì)算分類正確率
(15)end
3.4實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)結(jié)果見表2、表3。
分析表2、表3可知,Logistic NewtonRaphson算法訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)分類正確率都高于Logistic梯度上升算法;在迭代求解次數(shù)方面Logistic NewtonRaphson算法僅需2次迭代就求出符合要求的權(quán)值矩陣,明顯少于Logistic梯度上升算法,說明Logistic NewtonRaphson算法在分類正確率與迭代求解次數(shù)兩方面都優(yōu)于Logistic梯度上升算法。
提高測試數(shù)據(jù)分類正確率,如要求測試數(shù)據(jù)分類正確率高達(dá)96%(可能會出現(xiàn)過擬合現(xiàn)象),Logistic梯度上升算法無法收斂,而Logistic NewtonRaphson算法卻能快速收斂,這充分說明兩種算法存在效率差別。
4結(jié)語
本文從分類正確率、權(quán)值矩陣迭代求解次數(shù)兩方面對Logistic梯度上升算法與Logistic NewtonRaphson算法進(jìn)行了研究。實(shí)驗(yàn)用數(shù)據(jù)源自權(quán)威UCI機(jī)器學(xué)習(xí)倉庫,實(shí)驗(yàn)數(shù)據(jù)除SPECTF數(shù)據(jù)集已經(jīng)分配好訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)集外,另外兩個(gè)數(shù)據(jù)集(WDBC.data與BCW.data)均選取每個(gè)類別70%數(shù)據(jù)作為訓(xùn)練學(xué)習(xí)數(shù)據(jù),余下30%數(shù)據(jù)作為模型測試數(shù)據(jù)。實(shí)驗(yàn)結(jié)果如下:①Logistic NewtonRaphson算法訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)分類正確率均高于Logistic梯度上升算法;②LogisticNewtonRaphson算法僅2步迭代就求解出權(quán)值矩陣,而Logistic梯度上升算法需要更多迭代次數(shù)才能求解。以上說明,相比Logistic梯度上升算法,Logistic NewtonRaphson算法分類準(zhǔn)確率高、運(yùn)行效率優(yōu)越。
參考文獻(xiàn)參考文獻(xiàn):
[1]SERGIOSTHEODORIDIS, KONSTANTINOS KOUTROUMBAS.模式識別 [M].李晶皎,王愛俠,王驕,等,譯.北京:電子工業(yè)出版社,2011.
[2]王德輝,楊帆,楊凱.具有LOGISTIC回歸結(jié)構(gòu)的幾何分布參數(shù)貝葉斯估計(jì)及應(yīng)用[J].遼寧師范大學(xué)學(xué)報(bào):自然科學(xué)版, 2016 (3) :1316.
[3]萬會芳,杜彥璞.K近鄰和LOGISTIC回歸分類算法比較研究[J].洛陽理工學(xué)院學(xué)報(bào):自然科學(xué)版,2016(3):8386.
[4]百度百科.牛頓迭代法[EB/OL].https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580.
[5]云磊.牛頓迭代法的MATLAB實(shí)現(xiàn)[J].信息通信,2011(6):26.
[6]ANDREW NG.Lecture notes 1[EB/OL].http://cs229.stanford.edu/materials.html.
[7]ANDREW NG.Homework 1: solutions[EB/OL].http://cs229.stanford.edu/materials.html.
[8]O L MANGASARIAN,W N STREET,W H WOLBERG.Breast cancer diagnosis and prognosis via linear programming [J].Operations Research,1995, 43(4):570577.
[9]O L MANGASARIAN,W H WOLBERG.Cancer diagnosis via linear programming [J].SIAM News,1990(23):118.
[10]LA KURGAN, KJ CIOS, R TADEUSIEWICZ, et al. Knowledge discovery approach to automated cardiac SPECT diagnosis[J].Artificial Intelligence in Medicine, 2001,23(2): 149169.
責(zé)任編輯(責(zé)任編輯:何麗)endprint