91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 14KB
    文件類型: .cpp
    金幣: 1
    下載: 1 次
    發布日期: 2021-05-14
  • 語言: C/C++
  • 標簽: PSO??LS-SVM??代碼??

資源簡介

PSO-LS-SVM代碼

資源截圖

代碼片段和文件信息

//LS-SVM
#include?
#include?
#include?
#include?
#include?
#include?
#include?
using?namespace?std;

//double?sigma?=?0.28; //核參數?fatboy數據100-50
//double?sigma?=?0.49; //核參數?housing
//double?sigma?=?0.50; //dianjia核參數
//double?gamma?=?100; //懲罰因子

//double?sigma?=?5.6; //風速數據參數
//double?gamma?=?900;?

int?scal_flag=0; //歸一化參數

int?dim_flag?=?8; //輸入數據的維數
int?dim?=?8; //多維數據:數據維數
int?MD?=?20; //一維數據:嵌入維數MD

double?beta; //b
vector?alpha; //alpha

vector?>?train_x; //訓練數據
vector?train_y;
vector?>?test_x; //測試數據
vector?test_y;

vector?pred; //預測數據
vector?pred_best; //最優預測數據

void?Read_Data(); //讀取數據
void?Writ_Data();
void?Scale(); //數據歸一化當scal_flag=0,歸一化到[01];=1?歸一化到[-11]

double?RBF(vector?xi?vector?xj?double?sigma); //RBF函數
void?Kmatrix(vector?>?&KerlMatrix?double?sigma?double?gamma); //構造核矩陣
void?Gauss(vector?>?KerlMatrix); //高斯消元法
void?Predict(double?sigma); //預測函數
void?Result_out(); //輸出結果

//PSO參數設定
const?int?Pnum?=?10;????????????//粒子數目
const?int?Dnum?=?50; //迭代總次數1000

const?double?SigLow??=?0.1;????????????//sigma搜索域范圍
const?double?SigHigh?=?10;
const?double?SigVmin?=?-10; //sigma的速度范圍
const?double?SigVmax?=?10;

const?double?GamLow?=?1; ????????//gamma搜索域范圍
const?double?GamHigh?=?100;
const?double?GamVmin?=?-100; //gamma的速度范圍
const?double?GamVmax?=?100;

const?double?c1?=?2;???????????????//學習因子
const?double?c2?=?2;
const?double?Wmin=0.4; //最小權值
const?double?Wmax=0.9; //最大權值
double?w?=?0.9; //初始權值
int?wn?=?1;

//PSO
double?sigma[Pnum]; ??//粒子集合
double?gamma[Pnum];
double?sigma_loc_best[Pnum]; //局部最優
double?gamma_loc_best[Pnum];
double?sigma_glo_best; //全局最優
double?gamma_glo_best;
double?sigma_v[Pnum]; //更新速度
double?gamma_v[Pnum];
double?fit[Pnum]; //粒子當前的適應度
double?loc_fit[Pnum]; //局部最優值
double?gfit; //全局最優適應值

//PSO優化相關函數
void?Initial(); //初始化
double?FitNess(double?gamma?double?sigma); //計算適應度
void?renew_par(); //更新粒子信息
void?renew_w(); //更新權重

void?WCJS();

int?main()
{
clock_t?begin?=?clock();

Read_Data();
Writ_Data();
Scale();

cout< cout<<“......訓練樣本數目?=?“< cout<<“......測試樣本數目?=?“<
cout<<“............開始訓練............“<
srand((unsigned)time(NULL));

Initial();

int?num=0;
while(num {
//if(num%10?==?0)

cout<<“num?=?“< cout<<“sigma_glo_best?=?“< cout<<“gamma_glo_best?=?“<
renew_par();
renew_w();
num++;
}

Result_out();

clock_t?end?=?clock();
cout<<“程序運行時間:?“<<(end-begin)/CLOCKS_PER_SEC<<“秒“<
return?0;
}

void?Read_Data()
{
d

評論

共有 條評論