m基于WOA優(yōu)化的SVM乳腺癌細(xì)胞和正常細(xì)胞分類識(shí)別算法matlab仿真,對(duì)比BP網(wǎng)絡(luò),SVM,PSO+SVM

1.算法描述

SVM 是有監(jiān)督的學(xué)習(xí)模型葫录,我們需要事先對(duì)數(shù)據(jù)打上分類標(biāo)簽,通過求解最大分類間隔來求解二分類問題。如果要求解多分類問題缴允,可以將多個(gè)二分類器組合起來形成一個(gè)多分類器。


WOA算法設(shè)計(jì)的既精妙又富有特色,它源于對(duì)自然界中座頭鯨群體狩獵行為的模擬练般, 通過鯨魚群體搜索矗漾、包圍、追捕和攻擊獵物等過程實(shí)現(xiàn)優(yōu)時(shí)化搜索的目的薄料。在原始的WOA中敞贡,提供了包圍獵物,螺旋氣泡摄职、尋找獵物的數(shù)學(xué)模型誊役。在初始每個(gè)鯨魚的位置



代表了一個(gè)可行解,通過后期探索和開發(fā)兩個(gè)階段谷市,逐步找到最佳位置蛔垢,即最優(yōu)解。


首先迫悠,座頭鯨可以識(shí)別獵物的位置并將其包圍鹏漆,但由于最佳位置在搜索空間中不是已的,因此WOA算法假定當(dāng)前最佳候選解決方案是目標(biāo)獵物或接近最佳獵物创泄。 確定最佳搜索代理后艺玲,其他搜索代理將因此嘗試更新其對(duì)最佳搜索代理的位置。 此行為由以下方程式表示:



支持向量機(jī)(support vector machines, SVM)是二分類算法验烧,所謂二分類即把具有多個(gè)特性(屬性)的數(shù)據(jù)分為兩類板驳,目前主流機(jī)器學(xué)習(xí)算法中,神經(jīng)網(wǎng)絡(luò)等其他機(jī)器學(xué)習(xí)模型已經(jīng)能很好完成二分類碍拆、多分類若治,學(xué)習(xí)和研究SVM,理解SVM背后豐富算法知識(shí)感混,對(duì)以后研究其他算法大有裨益端幼;在實(shí)現(xiàn)SVM過程中,會(huì)綜合利用之前介紹的一維搜索弧满、KKT條件婆跑、懲罰函數(shù)等相關(guān)知識(shí)。本篇首先通過詳解SVM原理庭呜,后介紹如何利用python從零實(shí)現(xiàn)SVM算法滑进。

實(shí)例中樣本明顯的分為兩類,黑色實(shí)心點(diǎn)不妨為類別一募谎,空心圓點(diǎn)可命名為類別二扶关,在實(shí)際應(yīng)用中會(huì)把類別數(shù)值化,比如類別一用1表示数冬,類別二用-1表示节槐,稱數(shù)值化后的類別為標(biāo)簽。每個(gè)類別分別對(duì)應(yīng)于標(biāo)簽1、還是-1表示沒有硬性規(guī)定铜异,可以根據(jù)自己喜好即可哥倔,需要注意的是,由于SVM算法標(biāo)簽也會(huì)參與數(shù)學(xué)運(yùn)算揍庄,這里不能把類別標(biāo)簽設(shè)為0咆蒿。


線性核:

主要用于線性可分的情況,我們可以看到特征空間到輸入空間的維度是一樣的币绩,其參數(shù)少速度快蜡秽,對(duì)于線性可分?jǐn)?shù)據(jù),其分類效果很理想

通常首先嘗試用線性核函數(shù)來做分類缆镣,看看效果如何芽突,如果不行再換別的

優(yōu)點(diǎn):方案首選、簡(jiǎn)單董瞻、可解釋性強(qiáng):可以輕易知道哪些feature是重要的

缺點(diǎn):只能解決線性可分的問題


高斯核:


通過調(diào)控參數(shù)寞蚌,高斯核實(shí)際上具有相當(dāng)高的靈活性,也是使用最廣泛的核函數(shù)之一钠糊。

如果σ \sigmaσ選得很大的話挟秤,高次特征上的權(quán)重實(shí)際上衰減得非常快抄伍,所以實(shí)際上(數(shù)值上近似一下)相當(dāng)于一個(gè)低維的子空間艘刚;

如果σ \sigmaσ選得很小,則可以將任意的數(shù)據(jù)映射為線性可分——當(dāng)然截珍,這并不一定是好事攀甚,因?yàn)殡S之而來的可能是非常嚴(yán)重的過擬合問題岗喉。

優(yōu)點(diǎn):可以映射到無限維、決策邊界更為多維荚斯、只有一個(gè)參數(shù)

缺點(diǎn):可解釋性差、計(jì)算速度慢查牌、容易過擬合


多項(xiàng)式核


多項(xiàng)式核函數(shù)可以實(shí)現(xiàn)將低維的輸入空間映射到高緯的特征空間事期,

但是多項(xiàng)式核函數(shù)的參數(shù)多

當(dāng)多項(xiàng)式的階數(shù)比較高的時(shí)候纸颜,核矩陣的元素值將趨于無窮大或者無窮小,計(jì)算復(fù)雜度會(huì)大到無法計(jì)算懂衩。

優(yōu)點(diǎn):可解決非線性問題、主觀設(shè)置

缺點(diǎn):多參數(shù)選擇、計(jì)算量大

sigmoid核


采用sigmoid核函數(shù)浊洞,支持向量機(jī)實(shí)現(xiàn)的就是只包含一個(gè)隱層牵敷,激活函數(shù)為 Sigmoid 函數(shù)的神經(jīng)網(wǎng)絡(luò)法希。

應(yīng)用SVM方法,隱含層節(jié)點(diǎn)數(shù)目(它確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu))毛肋、隱含層節(jié)點(diǎn)對(duì)輸入節(jié)點(diǎn)的權(quán)值都是在設(shè)計(jì)(訓(xùn)練)的過程中自動(dòng)確定的屋剑。

而且支持向量機(jī)的理論基礎(chǔ)決定了它最終求得的是全局最優(yōu)值而不是局部最小值,也保證了它對(duì)于未知樣本的良好泛化能力而不會(huì)出現(xiàn)過學(xué)習(xí)現(xiàn)象唉匾。

如圖巍膘,輸入層->隱藏層之間的權(quán)重是每個(gè)支撐向量,隱藏層的計(jì)算結(jié)果是支撐向量和輸入向量的內(nèi)積峡懈,隱藏層->輸出層之間的權(quán)重是支撐向量對(duì)應(yīng)的


woa-svm流程圖如下所示:



2.仿真效果預(yù)覽

matlab2022a仿真結(jié)果如下:


3.MATLAB核心程序

P ??= breast(:,1:9);

T ??= round(breast(:,end)/2);

Iters = 30; ???????????%最大迭代次數(shù)

D ????= 2; ???????????%搜索空間維數(shù)

Num ??= 10; ??????????

%初始化種群的個(gè)體(可以在這里限定位置和速度的范圍)

woa_idx ?????= zeros(1,D);

woa_get ?????= inf;

%初始化種群的個(gè)

xwoa=rand(Num,D)/70; %隨機(jī)初始化位置

for t=1:Iters

t

for i=1:Num

if xwoa(i,1)<0

xwoa(i,1)=0.1;

end

if xwoa(i,2)<0

xwoa(i,2)=0.001;

end

%目標(biāo)函數(shù)更新

[pa(i)] ?= fitness(xwoa(i,:),P,T);

Fitout ??= pa(i);

%更新

if Fitout < woa_get ?

woa_get = Fitout;

woa_idx = xwoa(i,:);

end

end

%調(diào)整參數(shù)

c1 = 2-t*((1)/120);

c2 =-1+t*((-1)/120);

%位置更新

for i=1:Num

rng(i);

r1 ????????= rand();

r2 ????????= rand();

K1 ????????= 2*c1*r1-c1; ?

K2 ????????= 2*r2; ????????????

l ?????????=(c2-1)*rand + 1; ?

rand_flag ?= rand(); ??


for j=1:D

if rand_flag<0.6 ??

if abs(K1)>=1

RLidx ???= floor(Num*rand()+1);

X_rand ??= xwoa(RLidx, :);

D_X_rand = abs(K2*X_rand(j)-xwoa(i,j));

xwoa(i,j)= X_rand(j)-K1*D_X_rand; ????

else

D_Leader = abs(K2*woa_idx(j)-xwoa(i,j));

xwoa(i,j)= woa_idx(j)-K1*D_Leader; ???

end

else

distLeader = abs(woa_idx(j)-xwoa(i,j));

xwoa(i,j) ?= distLeader*exp(12*l).*cos(l.*2*pi)+woa_idx(j);

end

end

end

[pb] ????= fitness(woa_idx,P,T);

Pbest(t) = pb;

end

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市裆甩,隨后出現(xiàn)的幾起案子齐唆,更是在濱河造成了極大的恐慌,老刑警劉巖箍邮,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锭弊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡樱蛤,警方通過查閱死者的電腦和手機(jī)钮呀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門爽醋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來便脊,“玉大人,你說我怎么就攤上這事哪痰∩谓埽” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵乎莉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我哼鬓,道長(zhǎng)边灭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任称簿,我火速辦了婚禮惰帽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘授药。我一直安慰自己呜魄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布娇澎。 她就那樣靜靜地躺著睹晒,像睡著了一般括细。 火紅的嫁衣襯著肌膚如雪戚啥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音键痛,去河邊找鬼。 笑死江兢,一個(gè)胖子當(dāng)著我的面吹牛丁频,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播席里,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奖磁,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了咖为?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鸣哀,失蹤者是張志新(化名)和其女友劉穎我衬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體低飒,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡懂盐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年莉恼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了速那。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尿背。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖荔烧,靈堂內(nèi)的尸體忽然破棺而出汽久,到底是詐尸還是另有隱情,我是刑警寧澤景醇,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布三痰,位于F島的核電站,受9級(jí)特大地震影響散劫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抒钱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一颜凯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蕾额,春花似錦、人聲如沸诅蝶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缰泡。三九已至代嗤,卻和暖如春缠借,著一層夾襖步出監(jiān)牢的瞬間宜猜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工绅喉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叫乌,地道東北人霹疫。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓综芥,卻偏偏與公主長(zhǎng)得像猎拨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子红省,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容