最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【SVR預(yù)測】基于差分進(jìn)化改進(jìn)灰狼算法優(yōu)化SVR預(yù)測matlab源碼

2021-08-29 00:09 作者:Matlab工程師  | 我要投稿

?一、灰狼算法

1.1 背景介紹

灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)由澳大利亞格里菲斯大學(xué)學(xué)者 Mirjalili 等人于2014年提出來的一種群智能優(yōu)化算法。該算法受到了灰狼捕食獵物活動的啟發(fā)而開發(fā)的一種優(yōu)化搜索方法,它具有較強(qiáng)的收斂性能、參數(shù)少、易實(shí)現(xiàn)等特點(diǎn)。近年來受到了學(xué)者的廣泛關(guān)注,它己被成功地應(yīng)用到了車間調(diào)度、參數(shù)優(yōu)化、圖像分類等領(lǐng)域中。

1.2 算法原理

狼群中有α、β、γ三只狼做頭狼,其中α是狼王,β、γ分別排第二、第三,β、γ都要聽α的,γ要聽β的。這三匹狼指導(dǎo)者其他的狼尋找獵物。狼群尋找獵物的過程就是我們尋找最優(yōu)解的過程。
GWO具體優(yōu)化過程包含了社會等級分層、跟蹤、包圍和攻擊獵物和尋找獵物。
但其核心行為只有捕獵。
為了模擬灰狼的搜索行為,假設(shè)α、β、γ具有較強(qiáng)識別潛在獵物的能力,因此,在每次迭代過程中,保留當(dāng)前種群中最好的三只狼(α、β、γ),然后根據(jù)他們的位置信息來更新其他搜索代理的位置。

在這里插入圖片描述

1.3 構(gòu)建算法數(shù)學(xué)模型

1)社會等級分層
GWO的優(yōu)化過程主要有每代種群中的最好三匹狼(具體構(gòu)建時表示為三個最好的解)來指導(dǎo)完成。
2)包圍獵物
灰狼捜索獵物時會逐漸地接近獵物并包圍它,該行為的數(shù)學(xué)模型如下:

在這里插入圖片描述


在這里插入圖片描述


3)狩獵行為的數(shù)學(xué)模型

在這里插入圖片描述

在這里插入圖片描述


在這里插入圖片描述


4)攻擊獵物
5)尋找獵物


二、svr算法



  1. SVR的背景
    SVR做為SVM的分支從而被提出,一張圖介紹SVR與SVM的關(guān)系

SVR與SVM的聯(lián)系

  1. 這里兩虛線之間的幾何間隔r=d ∣ ∣ W ∣ ∣ \fracs0sssss00s{||W||}∣∣W∣∣d,這里的d就為兩虛線之間的函數(shù)間隔。
    (一圖讀懂函數(shù)間隔與幾何間隔)

在這里插入圖片描述

  1. 這里的r就是根據(jù)兩平行線之間的距離公式求解出來的

在這里插入圖片描述



  1. SVR的原理


SVR與一般線性回歸的區(qū)別

SVR 一般線性回歸 1.數(shù)據(jù)在間隔帶內(nèi)則不計(jì)算損失,當(dāng)且僅當(dāng)f(x)與y之間的差距的絕對值大于? \epsilon?才計(jì)算損失 1.只要f(x)與y不相等時,就計(jì)算損失 2.通過最大化間隔帶的寬度與最小化總損失來優(yōu)化模型 2.通過梯度下降之后求均值來優(yōu)化模型

在這里插入圖片描述

原理:SVR在線性函數(shù)兩側(cè)制造了一個“間隔帶”,間距為? \epsilon?(也叫容忍偏差,是一個由人工設(shè)定的經(jīng)驗(yàn)值),對所有落入到間隔帶內(nèi)的樣本不計(jì)算損失,也就是只有支持向量才會對其函數(shù)模型產(chǎn)生影響,最后通過最小化總損失和最大化間隔來得出優(yōu)化后的模型。

注:這里介紹一下支持向量的含義:直觀解釋,支持向量就是對最終w,b的計(jì)算起到作用的樣本(a>0)

如下圖所示, "管道"內(nèi)樣本對應(yīng)a=0,為非支持向量;
位于“管壁”上的為邊界支持向量,0<a<? \epsilon?
位于"管道"之外的為非邊界支持向量,a>? \epsilon?(異常檢測時,常從非邊界支持向量中挑選異常點(diǎn))

在這里插入圖片描述


  1. SVR的數(shù)學(xué)模型

3.1線性硬間隔SVR

在這里插入圖片描述


在這里插入圖片描述

3.2線性軟間隔SVR
原因:在現(xiàn)實(shí)任務(wù)中,往往很難直接確定合適的?? \epsilon??,確保大部分?jǐn)?shù)據(jù)都能在間隔帶內(nèi),而SVR希望所有訓(xùn)練數(shù)據(jù)都在間隔帶內(nèi),所以加入松弛變量ξ \xiξ?,從而使函數(shù)的間隔要求變的放松,也就是允許一些樣本可以不在間隔帶內(nèi)。

在這里插入圖片描述

引入松弛變量后,這個時候,所有的樣本數(shù)據(jù)都滿足條件:

在這里插入圖片描述

這就是映入松弛變量后的限制條件,所以也叫-------軟間隔SVR

注:對于任意樣本xi,如果它在隔離帶里面或者邊緣上,ξ \xiξ?都為0;在隔離帶上方則為ξ > 0 , ξ ? = 0 \xi>0,\xi^*=0ξ>0,ξ?=0
在隔離帶下方則為ξ ? > 0 , ξ = 0 \xi^*>0,\xi=0ξ?>0,ξ=0

在這里插入圖片描述

在這里插入圖片描述

三、部分代碼

clear clc close all load wndspd % 示例數(shù)據(jù)為風(fēng)速(時間序列)數(shù)據(jù),共144個樣本\ addpath('./libsvm-3.1/') %% HGWO-SVR % 訓(xùn)練/測試數(shù)據(jù)準(zhǔn)備(用前3天預(yù)測后一天),用前100天做訓(xùn)練數(shù)據(jù) input_train(1,:)=wndspd(1:97); input_train(2,:)=wndspd(2:98); input_train(3,:)=wndspd(3:99); output_train=[wndspd(4:100)]'; input_test(1,:)=wndspd(101:end-3); input_test(2,:)=wndspd(102:end-2); input_test(3,:)=wndspd(103:end-1); output_test=(wndspd(104:end))'; para=[30,500,0.2,0.8,0.2]; [bestc,bestg,test_pre]=my_HGWO_SVR(para,input_train',output_train',input_test',output_test'); %% 預(yù)測結(jié)果圖 err_pre=output_test'-test_pre; figure('Name','測試數(shù)據(jù)殘差圖') set(gcf,'unit','centimeters','position',[0.5,5,30,5]) plot(err_pre,'*-'); figure('Name','原始-預(yù)測圖') plot(test_pre,'*r-');hold on;plot(output_test,'bo-'); legend('預(yù)測','原始') set(gcf,'unit','centimeters','position',[0.5,13,30,5]) toc

四、仿真結(jié)果




【SVR預(yù)測】基于差分進(jìn)化改進(jìn)灰狼算法優(yōu)化SVR預(yù)測matlab源碼的評論 (共 條)

分享到微博請遵守國家法律
灌云县| 阿图什市| 平原县| 明星| 西充县| 安顺市| 西昌市| 竹山县| 大悟县| 察隅县| 上林县| 资溪县| 吉林省| 宕昌县| 纳雍县| 鲁山县| 乌拉特中旗| 宕昌县| 苏尼特左旗| 临夏县| 杭锦旗| 开阳县| 中超| 武强县| 重庆市| 龙泉市| 井陉县| 岳池县| 伊春市| 临潭县| 开平市| 营口市| 峨边| 洛浦县| 黄山市| 巴林右旗| 天等县| 呼图壁县| 新源县| 阜新市| 平罗县|