• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于人工蜂群算法優(yōu)化SVM 的魚類毒性預(yù)測模型

      2021-03-17 10:35:00李俏竺
      關(guān)鍵詞:蜜源適應(yīng)度魚類

      鄂 旭,周 藝,李俏竺

      (渤海大學(xué) 信息科學(xué)與技術(shù)學(xué)院,遼寧 錦州 121013)

      0 引言

      魚類對水環(huán)境的變化十分敏感,當(dāng)水體中的農(nóng)藥、污染物等化學(xué)物質(zhì)到達(dá)一定程度時(shí),會(huì)對魚類造成一些不良影響和危害,包括急性毒性、慢性毒性、胚胎毒性及致畸性.因此,對各類化學(xué)物質(zhì)的結(jié)構(gòu)特性及其對環(huán)境影響的分析就顯得十分重要.在安全評價(jià)中,通常只對急性毒性進(jìn)行評價(jià),而半致死濃度(LC50)則是衡量急性毒性的指標(biāo).

      預(yù)測LC50濃度不僅可以為測定化學(xué)物質(zhì)毒性強(qiáng)度、測試水體污染程度、檢查廢水處理的有效程度做出貢獻(xiàn)[1],也可以為制定水質(zhì)標(biāo)準(zhǔn)、評價(jià)環(huán)境質(zhì)量和管理廢水排放提供環(huán)境依據(jù).近年來,大多數(shù)學(xué)者采用定量構(gòu)效關(guān)系(QSAR)的手段來預(yù)測化學(xué)物質(zhì)的急性毒性[2].其中,多維構(gòu)效關(guān)系等價(jià)于多元線性回歸問題,因此該手段在處理非線性關(guān)系時(shí)存在一定局限性.支持向量機(jī)(Support vector machine,SVM)是基于Vapnik提出的統(tǒng)計(jì)學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理而建立的一種機(jī)器學(xué)習(xí)方法[3],被認(rèn)為是高維度、非線性情況下進(jìn)行分類和回歸的最佳方法,已經(jīng)在不同領(lǐng)域和學(xué)科中被廣泛應(yīng)用.

      本文在支持向量機(jī)的理論基礎(chǔ)上,利用人工蜂群算法(Artificial bee colony algorithm,ABC)對支持向量機(jī)的核函數(shù)參數(shù)和懲罰因子進(jìn)行優(yōu)化,建立了一種ABC-SVM魚類毒性LC50預(yù)測模型.這為快速、準(zhǔn)確地預(yù)測各種化學(xué)物質(zhì)中的魚類毒性LC50濃度提供了一種新的可行方法,避免了人工使用化學(xué)方法進(jìn)行分析預(yù)測的繁瑣性和低效性.

      1 支持向量機(jī)原理

      設(shè)訓(xùn)練樣本集為(x1,y1),(xi,yi),…,(xN,yN),其中xN為樣本的輸入值,yN為樣本對應(yīng)的目標(biāo)值.利用非線性映射函數(shù)φ(x)將原本輸入的特征空間映射到某一高維空間內(nèi),在映射后的空間內(nèi)構(gòu)造最優(yōu)擬合函數(shù)f(x) =[ω,φ(x)]+b,其中ω為權(quán)向量,用來說明函數(shù)f(x)的復(fù)雜度,b為常數(shù).目的是要尋找使得結(jié)構(gòu)風(fēng)險(xiǎn)最小化的ω和b,上述問題可等價(jià)于:

      式中,ξ為松弛變量,C為懲罰因子,N為樣本數(shù),其對應(yīng)的Lagrange函數(shù)為:

      根據(jù)KKT(Karush-Kuhn-Tucker)最優(yōu)條件:

      可得條件:

      定義核函數(shù)k(x,xi)滿足Mercer條件,進(jìn)行消元計(jì)算,消去ξi和ω后,得到線性方程組為:

      其中,Qij=K(xi,xj),i,j= 1,2,…,N;e=[1,1,…,1]T;α=[α1,α2,…,αi]T;I為單位矩陣.最后可得回歸決策函數(shù)為:

      對于公式(5)中的核函數(shù)k(x,xi)來說,本文使用的核函數(shù)為徑向基核函數(shù)(Radial Basis Function,RBF),RBF核函數(shù)生成模型的泛化能力最佳,且比多項(xiàng)式核函數(shù)取值簡單,即:

      2 人工蜂群算法

      人工蜂群算法(Artificial bee colony algorithm,ABC)是Karaboga[4]在2005年通過模仿蜜蜂的采蜜行為而提出的一種優(yōu)化算法.該算法只需要對問題進(jìn)行優(yōu)劣的比較而不需要了解問題的特殊信息,在很大程度上避免了陷入局部最優(yōu)解問題,具備比傳統(tǒng)優(yōu)化方法更好的優(yōu)化性能[5],具有控制參數(shù)少、計(jì)算復(fù)雜度低、易實(shí)現(xiàn)的特點(diǎn).

      標(biāo)準(zhǔn)的ABC算法將人工蜂分為三類:采蜜蜂、跟隨蜂和偵查蜂[6-7].蜂群的整體目標(biāo)就是尋找富含花蜜量最多的蜜源.三種蜂分別在不同的階段完成任務(wù),采蜜蜂的任務(wù)是利用當(dāng)前蜜源信息尋找到新的蜜源,并將該信息傳遞給跟隨蜂;跟隨蜂的任務(wù)是在接收到采蜜蜂傳遞的信息后,依據(jù)該信息尋找新的蜜源;偵查蜂的任務(wù)是在蜂房附近隨機(jī)地尋找一個(gè)新的有價(jià)值的蜜源.

      標(biāo)準(zhǔn)的ABC算法將優(yōu)化問題的求解過程看作是在D維搜索空間中進(jìn)行搜索的過程,將新生成的解和原來的解作比較,并采用貪婪選擇策略保留較好的解.假設(shè)問題的解空間維度為D,采蜜蜂與跟隨蜂的個(gè)數(shù)為SN,采蜜蜂與跟隨蜂的個(gè)數(shù)與蜜源相等.每個(gè)蜜源的位置代表一個(gè)可能解,蜜源的花蜜量對應(yīng)相應(yīng)解的適應(yīng)度值.適用度值用來衡量當(dāng)前蜜源和原來蜜源的優(yōu)劣,適應(yīng)度值越高蜜源的質(zhì)量越優(yōu).一個(gè)采蜜蜂對應(yīng)一個(gè)蜜源,則與第i個(gè)蜜源相對應(yīng)的采蜜蜂的搜索公式為:

      其中i= 1,2,…,N,d= 1,2,…,D,r是區(qū)間[-1,1]上的隨機(jī)數(shù),k是除了i以外的任意蜜源,k≠i.

      采蜜蜂完成搜索任務(wù)后回到蜂巢,將搜索得到的蜜源信息傳遞給跟隨蜂.跟隨蜂獲得蜜源信息后,根據(jù)適應(yīng)度概率選擇一個(gè)蜜源,跟隨蜂按照與采蜜蜂相同的搜索方式,對原始解的鄰域進(jìn)行搜索,適應(yīng)度概率公式為:

      其中,pi為第i個(gè)蜜源被選擇的適應(yīng)度概率,fiti為第i個(gè)蜜源的適應(yīng)度值.適應(yīng)度值十分重要,其用來衡量當(dāng)前蜜源和原來蜜源的優(yōu)劣,計(jì)算公式為:

      其中,fi為第i個(gè)蜜源的目標(biāo)函數(shù)值.

      在全部的采蜜蜂和跟隨蜂完成對整個(gè)解空間的搜索任務(wù)后,如果某個(gè)蜜源的適應(yīng)度值,在limit(控制參數(shù)“l(fā)imit”,用于控制蜜源被改進(jìn)的次數(shù))次內(nèi)沒有被提高,則舍棄該蜜源位置對應(yīng)的解,從而與該蜜源對應(yīng)的采蜜蜂轉(zhuǎn)變?yōu)閭刹榉?,繼續(xù)搜索新的蜜源,偵查蜂的搜索公式為:

      其中,xid是第i個(gè)蜜源的第d維的值,d∈{1,2,…,D},r是區(qū)間[0,1]上的隨機(jī)數(shù),xmind和xmaxd是第d維的下界和上界.

      3 ABC-SVM魚類毒性預(yù)測模型

      在ABC算法中,以支持向量回歸機(jī)的平均均方誤差(MSE)為目標(biāo)函數(shù),以懲罰因子和核函數(shù)參數(shù)的參數(shù)組合(C,σ)為尋優(yōu)目標(biāo),在尋優(yōu)過程中,三種類型的蜜蜂通過完成各自的搜索任務(wù),最終在解空間尋得最優(yōu)解,最后利用得到的最優(yōu)蜜源(C,σ)構(gòu)建ABC-SVM魚類毒性預(yù)測模型,具體步驟如下:

      步驟一 參數(shù)初始化.需要進(jìn)行初始化的參數(shù)包括:蜂群規(guī)模和蜜源數(shù)量NP、蜜源最大循環(huán)次數(shù)limit、最大迭代次數(shù)maxC、懲罰因子和核函數(shù)參數(shù)的參數(shù)組合(C,σ)的取值范圍.

      步驟二 設(shè)置適應(yīng)度函數(shù).由于優(yōu)化支持向量機(jī)參數(shù)的目的是為了減小其預(yù)測誤差,因此使用支持向量機(jī)回歸預(yù)測的平均均方誤差(MSE)作為優(yōu)化的目標(biāo)函數(shù)值,即:

      其中yi是魚類毒性的真實(shí)值,y?i為魚類毒性的預(yù)測值,n為訓(xùn)練樣本的個(gè)數(shù).按照公式(10)來計(jì)算其適應(yīng)度值,當(dāng)fi≥0時(shí),平均均方誤差越小,適應(yīng)度值fiti就越大.

      步驟三 采蜜階段.采蜜蜂按照公式(8)對蜜源(C,σ)進(jìn)行搜索工作,通過比較可能解的適應(yīng)度值,對蜜源進(jìn)行優(yōu)選.

      步驟四 跟隨階段.跟隨蜂根據(jù)適應(yīng)度概率公式(9)選擇要進(jìn)行搜索的新解.

      步驟五 偵查階段.判斷蜜源循環(huán)次數(shù)是否超過設(shè)定值limit,若超過,則該蜜源不能被繼續(xù)優(yōu)化,跟隨蜂放棄該解,偵查蜂利用公式(11)隨機(jī)產(chǎn)生一個(gè)新解.

      步驟六 判斷是否超過最大迭代次數(shù)maxC.若超過,則模型訓(xùn)練結(jié)束,否則返回步驟三繼續(xù)進(jìn)行搜索.

      綜上所述,圖1為本文建立的ABC-SVM魚類毒性預(yù)測模型流程圖.

      圖1 ABC-SVM魚類毒性預(yù)測模型流程圖

      4 仿真實(shí)驗(yàn)

      4.1 數(shù)據(jù)準(zhǔn)備與預(yù)處理

      采用本文提出的ABC-SVM模型對908種化學(xué)物質(zhì)所含有的魚類毒性LC50濃度進(jìn)行預(yù)測.本文所用數(shù)據(jù)來源于UCI數(shù)據(jù)庫,由Davide Ballabio等人分析整理所得(http://archive.ics.uci.edu/ml/datasets/QSAR+fish+toxicity)[8].該數(shù)據(jù)集共908組數(shù)據(jù),每組數(shù)據(jù)共有六個(gè)屬性(自變量),均為化學(xué)物質(zhì)的分子描述符,分別是:MLOGP(分子特性)、CIC0(信息指數(shù))、GATS1i(2D自相關(guān))、NDSSC(原子型計(jì)數(shù))、NDSCH(原子型計(jì)數(shù))、SM1_Dz(Z)(2D矩陣).以6個(gè)量子化學(xué)參數(shù)作為模型的輸入變量,以半致死濃度(LC50)作為模型的輸出變量.利用前800組數(shù)據(jù)對ABC-SVM模型進(jìn)行訓(xùn)練,將后面的108組數(shù)據(jù)放入訓(xùn)練好的模型中進(jìn)行仿真預(yù)測.

      本文的實(shí)驗(yàn)環(huán)境為:Windows10 64位,CPU 為AMD A8-7100 Radeon R5,8 Compute Cores 4C+4G 1.80 GHz,MATLAB2020.在開始進(jìn)行實(shí)驗(yàn)前,先對實(shí)驗(yàn)數(shù)據(jù)進(jìn)行極差歸一化處理,將所有數(shù)據(jù)歸至[-1,1]區(qū)間內(nèi).然后對ABC算法進(jìn)行初始化參數(shù)設(shè)定,通過多次調(diào)試,ABC算法初始化時(shí)控制參數(shù)的設(shè)置如表1所示.

      表1 ABC算法初始化控制參數(shù)設(shè)置

      4.2 實(shí)驗(yàn)結(jié)果與對比分析

      利用ABC-SVM模型對魚類毒性LC50濃度進(jìn)行預(yù)測的實(shí)驗(yàn)數(shù)值結(jié)果如表2所示,為了避免一定的偶然性,確保實(shí)驗(yàn)的嚴(yán)謹(jǐn)性,實(shí)驗(yàn)共運(yùn)行10次,最終結(jié)果取10次結(jié)果的平均值.從表2中可知,利用ABC-SVM模型的預(yù)測準(zhǔn)確率已達(dá)到了85.166%,在迭代多次的情況下,運(yùn)行時(shí)間共46.518 019 3秒,初步體現(xiàn)了利用ABC-SVM模型進(jìn)行預(yù)測的精準(zhǔn)性和高效性.

      表2 ABC-SVM模型對魚類毒性LC50濃度進(jìn)行預(yù)測的實(shí)驗(yàn)數(shù)值結(jié)果

      為了能夠進(jìn)一步直觀突顯出ABC-SVM模型較好的擬合預(yù)測效果,本文選取了GA-SVM模型[9]、PSOSVM模型、ABC-SVM模型和原SVM模型四個(gè)模型分別進(jìn)行擬合,對魚類毒性進(jìn)行預(yù)測.圖2為4種模型的擬合預(yù)測曲線.從圖2中可以看出,ABC-SVM模型的擬合曲線更接近真實(shí)值,原SVM模型與真實(shí)值的偏差較大,PSO-SVM模型和GA-SVM模型較原SVM模型相比,偏差較小,但不如ABC-SVM模型的擬合預(yù)測效果好.

      圖2 四種模型的擬合、預(yù)測曲線

      通過比較四者平均絕對誤差(MAE)、均方誤差(MSE)、平均百分比誤差(MAPE)、預(yù)測準(zhǔn)確率、運(yùn)行時(shí)間等方面的具體數(shù)值來判斷四個(gè)模型的優(yōu)劣.其中,每種模型所進(jìn)行的預(yù)測實(shí)驗(yàn)分別獨(dú)立運(yùn)行十次,最終結(jié)果取其平均值,對比結(jié)果如表3所示.從表3中可以看出,三種結(jié)合了優(yōu)化算法的SVM模型的MAE、MSE、MAPE均小于默認(rèn)參數(shù)的原SVM模型,平均預(yù)測準(zhǔn)確率都高于原SVM模型,證明了三種優(yōu)化后的模型效果均比原模型好.在三種結(jié)合了優(yōu)化算法的SVM模型中,在種群規(guī)模大小和最大迭代次數(shù)相同的情況下,GA-SVM預(yù)測模型的平均運(yùn)行時(shí)間太長,近似等于其他兩種模型的3倍運(yùn)行時(shí)間,運(yùn)行效率較低,浪費(fèi)內(nèi)存空間.PSO-SVM模型較GA-SVM模型相比,誤差更小,具有更高的平均預(yù)測準(zhǔn)確率,并大大提升了平均運(yùn)行時(shí)間,模型表現(xiàn)較GA-SVM模型好.而ABC-SVM模型在三者中擁有最高的平均預(yù)測準(zhǔn)確率,且運(yùn)行10次的平均時(shí)間最短,與GA-SVM模型、PSO-SVM模型相比較,具有較高的預(yù)測精度和運(yùn)行效率.表3中的對比結(jié)果與圖2所表明的結(jié)果相吻合,明確地驗(yàn)證了ABC-SVM模型較好的預(yù)測效果,因此在對魚類毒性LC50濃度進(jìn)行預(yù)測時(shí),優(yōu)先考慮使用ABC算法對支持向量機(jī)參數(shù)進(jìn)行優(yōu)化,以此建立相應(yīng)的預(yù)測模型.

      表3 默認(rèn)參數(shù)的原SVM模型、GA-SVM模型、PSO-SVM模型、ABC-SVM模型的對比實(shí)驗(yàn)結(jié)果

      5 結(jié)論

      本文主要研究了人工蜂群算法對支持向量機(jī)控制參數(shù)進(jìn)行優(yōu)化的基本原理,建立了ABC-SVM的魚類毒性LC50預(yù)測模型,以均方誤差(MSE)作為適應(yīng)度值,利用極差歸一化的方式對數(shù)據(jù)進(jìn)行歸一化處理,使用ABC-SVM模型對魚類毒性LC50濃度進(jìn)行預(yù)測,預(yù)測準(zhǔn)確率達(dá)到了85.17%,運(yùn)行時(shí)間僅共46.518秒.通過對比實(shí)驗(yàn)分析,ABC-SVM模型效果的預(yù)測準(zhǔn)確率高于PSO-SVM模型和GA-SVM模型,并具有更高的運(yùn)行效率.這為快速、準(zhǔn)確地預(yù)測各種化學(xué)物質(zhì)中所含魚類毒性LC50濃度提供了一種新的可行方法,避免了人工使用化學(xué)方法進(jìn)行分析預(yù)測的繁瑣性和低效性.

      猜你喜歡
      蜜源適應(yīng)度魚類
      貴州寬闊水國家級自然保護(hù)區(qū)蜜源植物資源調(diào)查研究*
      改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
      基于MFCC和ResNet的魚類行為識(shí)別
      林下拓蜜源 蜂業(yè)上臺(tái)階
      指示蜜源的導(dǎo)蜜鳥
      奇妙的古代動(dòng)物 泥盆紀(jì)的魚類
      魚類是怎樣保護(hù)自己的
      基于空調(diào)導(dǎo)風(fēng)板成型工藝的Kriging模型適應(yīng)度研究
      中國塑料(2016年11期)2016-04-16 05:26:02
      魚類怎樣呼吸
      少數(shù)民族大學(xué)生文化適應(yīng)度調(diào)查
      九龙城区| 宁城县| 缙云县| 垫江县| 阿瓦提县| 吉隆县| 宜川县| 涟水县| 渭源县| 台东市| 广平县| 绥芬河市| 彭州市| 青铜峡市| 伊川县| 吴江市| 曲阜市| 仲巴县| 筠连县| 江西省| 永和县| 乌鲁木齐市| 樟树市| 舟山市| 牙克石市| 洮南市| 都江堰市| 来凤县| 古田县| 六盘水市| 定西市| 墨脱县| 丹阳市| 昆明市| 阿克苏市| 新干县| 井陉县| 富川| 监利县| 正安县| 白河县|