亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? kernel.cpp

?? 這是我找到的C語言編寫的支持向量機(jī)程序包
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
	SVMINT j;	for(j=0;j<new_examples_size;j++){	  (new_rows[new_pos])[j] = (rows[old_pos])[j];	};	delete [](rows[old_pos]);	new_last_used[new_pos] = last_used[old_pos];	new_index[new_pos] = index[old_pos];	new_pos++;      }      else{	if(rows[old_pos] != 0){	  delete [](rows[old_pos]);	};      };      old_pos++;    };    while(new_pos < cache_size){      new_rows[new_pos] = 0; //new SVMFLOAT[new_examples_size];      new_last_used[new_pos] = 0;      new_index[new_pos] = new_examples_size;      new_pos++;    };    while(old_pos < old_cache_size){      if(rows[old_pos] != 0){	delete [](rows[old_pos]);      };      old_pos++;    };    delete []rows;    rows = new_rows;    delete []last_used;    last_used = new_last_used;    delete []index;    index = new_index;    examples_size = new_examples_size;  };};void kernel_c::compute_row(const SVMINT i, SVMFLOAT* myrow){  // place row i in row  svm_example x = the_examples->get_example(i);  svm_example y;  SVMINT k;  for(k=0;k<examples_size;k++){    y = the_examples->get_example(k);    myrow[k] = calculate_K(x,y);  };};SVMFLOAT* kernel_c::get_row(const SVMINT i){  // lookup row in cache or compute  SVMINT low=0;  SVMINT high=cache_size;  SVMINT pos=0;  SVMINT j;  // binary search for i in [low,high]  high = lookup(i);  if(high==cache_size){    pos = high-1;  }  else{    pos=high;  };  if((index[pos] != i) || (last_used[pos] == 0)){    // cache miss    SVMINT k;    if(index[pos] == i){      low = pos;    }    else{      SVMINT min_time = last_used[cache_size-1];  // empty entries are at the end      low=cache_size-1;      for(k=0;k<cache_size;k++){	// search for last recently used element	if(last_used[k] < min_time){	  min_time = last_used[k];	  low = k;	};      };    };        // delete low, calculate row i, place in high    SVMFLOAT* a_row = rows[low];    if(high<=low){      for(j=low;j>high;j--){	rows[j] = rows[j-1];	index[j] = index[j-1];	last_used[j] = last_used[j-1];      };    }    else{      for(j=low;j<high-1;j++){	rows[j] = rows[j+1];	index[j] = index[j+1];	last_used[j] = last_used[j+1];      };      high--;    };    pos=high;    if(0 == a_row){      a_row = new SVMFLOAT[examples_size];    };    rows[high] = a_row;    compute_row(i,a_row);    index[high]=i;  };  counter++;  last_used[pos] = counter;  return(rows[pos]);};void kernel_c::input(istream& data_stream){  throw read_exception("ERROR: Attempt to read in abstract kernel.");};void kernel_c::output(ostream& data_stream) const{  data_stream<<"Abstract kernel"<<endl;};istream& operator >> (istream& data_stream, kernel_c& the_kernel){  the_kernel.input(data_stream);  //  throw read_exception("ERROR: Attempt to read in abstract kernel.");  return data_stream;};ostream& operator << (ostream& data_stream, kernel_c& the_kernel){  the_kernel.output(data_stream);  //  data_stream<<"Abstract kernel"<<endl;  return data_stream;};/* * * The following kernels are defined * - kernel_dot_c: inner product * - kernel_pol_c: polynomial * - kernel_radial_c: radial basis function * plus: * - kernel_user_c: user defined kernel 1 * - kernel_user2_c: user defined kernel 2 * *//* * * kernel_dot_c * */SVMFLOAT kernel_dot_c::calculate_K(const svm_example x, const svm_example y){  SVMFLOAT result = innerproduct(x,y);  return(result);};void kernel_dot_c::input(istream& data_stream){  // read comments until next @, throw error at parameters  char next = data_stream.peek();  if(next == EOF){     // set stream to eof    next = data_stream.get();   };  char* s = new char[MAXCHAR];  while((! data_stream.eof()) && (next != '@')){    if((next != '#') && (next != '\n')){      // trying to read in parameter      cout<<"WARNING: Parameters for dot kernel are ignored."<<endl;    };    data_stream.getline(s,MAXCHAR);    next = data_stream.peek();    if(next == EOF){       // set stream to eof      next = data_stream.get();     };  };  delete []s;};void kernel_dot_c::output(ostream& data_stream) const{  data_stream<<"type dot"<<endl;};/* * * kernel_lin_dot_c * */SVMFLOAT kernel_lin_dot_c::calculate_K(const svm_example x, const svm_example y){  SVMFLOAT result = a*innerproduct(x,y)+b;  return(result);};void kernel_lin_dot_c::input(istream& data_stream){  // read comments and parameters until next @  char next = data_stream.peek();  if(next == EOF){     // set stream to eof    next = data_stream.get();   };  a=1;   b=0;  char* s = new char[MAXCHAR];  while((! data_stream.eof()) && (next != '@')){    if('#' == next){      // ignore comment      data_stream.getline(s,MAXCHAR);    }    else if('\n' == next){      // ignore line-end      next = data_stream.get();    }    else{      // trying to read in parameter      data_stream >> s;      if(0 == strcmp("a",s)){	data_stream >> a;      }      if(0 == strcmp("b",s)){	data_stream >> b;      }      else{	cout<<"Ignoring unknown parameter: "<<s<<endl;      };      data_stream.getline(s,MAXCHAR);    };    next = data_stream.peek();    if(next == EOF){       // set stream to eof      next = data_stream.get();     };  };  delete []s;};void kernel_lin_dot_c::output(ostream& data_stream) const{  data_stream<<"type dot"<<endl;  data_stream<<"a "<<a<<endl;  data_stream<<"b "<<b<<endl;};/* * * kernel_polynomial_c * */SVMFLOAT kernel_polynomial_c::calculate_K(const svm_example x, const svm_example y){  SVMFLOAT prod=1+innerproduct(x,y);  SVMFLOAT result=1;  SVMINT i;  for(i=0;i<degree;i++) result *= prod;  return (result);};void kernel_polynomial_c::input(istream& data_stream){  // read comments and parameters until next @  char next = data_stream.peek();  if(next == EOF){     // set stream to eof    next = data_stream.get();   };  int ok=0;  char* s = new char[MAXCHAR];  while((! data_stream.eof()) && (next != '@')){    if('#' == next){      // ignore comment      data_stream.getline(s,MAXCHAR);    }    else if('\n' == next){      // ignore line-end      next = data_stream.get();    }    else{      // trying to read in parameter      data_stream >> s;      if(0 == strcmp("degree",s)){	data_stream >> degree;	ok = 1;      }      else{	cout<<"Ignoring unknown parameter: "<<s<<endl;      };      data_stream.getline(s,MAXCHAR);    };    next = data_stream.peek();    if(next == EOF){       // set stream to eof      next = data_stream.get();     };  };  if(! ok){    throw read_exception("The parameters did not contain a valid description of a polynomial kernel.");  };  delete []s;};void kernel_polynomial_c::output(ostream& data_stream) const{  data_stream<<"type polynomial"<<endl;  data_stream<<"degree "<<degree<<endl;};/* * * kernel_radial_c * */SVMFLOAT kernel_radial_c::calculate_K(const svm_example x, const svm_example y){  return exp(-gamma*norm2(x,y));};void kernel_radial_c::input(istream& data_stream){  // read comments and parameters until next @  char next = data_stream.peek();  if(next == EOF){     // set stream to eof    next = data_stream.get();   };  int ok=0;  char* s = new char[MAXCHAR];  while((! data_stream.eof()) && (next != '@')){    if('#' == next){      // ignore comment      data_stream.getline(s,MAXCHAR);    }    else if('\n' == next){      // ignore line-end      next = data_stream.get();    }    else{      // trying to read in parameter      data_stream >> s;      if(0 == strcmp("gamma",s)){	data_stream >> gamma;	if(gamma <= 0){	  throw read_exception("ERROR: Gamma must be > 0.");	};	ok = 1;      }      else{	cout<<"Ignoring unknown parameter: "<<s<<endl;      };      data_stream.getline(s,MAXCHAR);    };    next = data_stream.peek();    if(next == EOF){       // set stream to eof      next = data_stream.get();     };  };  if(! ok){    throw read_exception("The parameters did not contain a valid description of a radial kernel.");  };  delete []s;};void kernel_radial_c::output(ostream& data_stream) const{  data_stream<<"type radial"<<endl;  data_stream<<"gamma "<<gamma<<endl;};/* * * kernel_neural_c * */SVMFLOAT kernel_neural_c::calculate_K(const svm_example x, const svm_example y){  return tanh(a*innerproduct(x,y)+b);};void kernel_neural_c::input(istream& data_stream){  // read comments and parameters until next @  char next = data_stream.peek();  if(next == EOF){     // set stream to eof    next = data_stream.get();   };  a=1;   b=1;  char* s = new char[MAXCHAR];  while((! data_stream.eof()) && (next != '@')){    if('#' == next){      // ignore comment      data_stream.getline(s,MAXCHAR);    }    else if('\n' == next){      // ignore line-end      next = data_stream.get();    }    else{      // trying to read in parameter      data_stream >> s;      if(0 == strcmp("a",s)){	data_stream >> a;      }      else if(0 == strcmp("b",s)){	data_stream >> b;      }      else{	cout<<"Ignoring unknown parameter: "<<s<<endl;      };      data_stream.getline(s,MAXCHAR);    };    next = data_stream.peek();    if(next == EOF){       // set stream to eof      next = data_stream.get();     };  };  delete []s;};void kernel_neural_c::output(ostream& data_stream) const{  data_stream<<"type neural"<<endl;  data_stream<<"a "<<a<<endl;  data_stream<<"b "<<b<<endl;};/* * * kernel_anova_c * */SVMFLOAT kernel_anova_c::calculate_K(const svm_example x, const svm_example y){  SVMFLOAT result=0;  SVMINT length_x = x.length;  SVMINT length_y = y.length;  svm_attrib* att_x = x.example;  svm_attrib* att_y = y.example;  SVMINT pos_x=0;  SVMINT pos_y=0;  SVMINT zeros=dim;  SVMFLOAT diff;  while((pos_x < length_x) && (pos_y < length_y)){    if(att_x[pos_x].index == att_y[pos_y].index){      diff = att_x[pos_x++].att-att_y[pos_y++].att;      result += exp(-gamma*(diff*diff));    }    else if(att_x[pos_x].index < att_y[pos_y].index){      diff = att_x[pos_x++].att;      result += exp(-gamma*(diff*diff));    }    else{      diff = att_y[pos_y++].att;      result += exp(-gamma*(diff*diff));    };    zeros--;  };  while(pos_x < length_x){    diff = att_x[pos_x++].att;    result += exp(-gamma*(diff*diff));    zeros--;  };  while(pos_y < length_y){    diff = att_y[pos_y++].att;    result += exp(-gamma*(diff*diff));    zeros--;  };  result += (SVMFLOAT)zeros;  SVMFLOAT result2=1;  SVMINT i;  for(i=0;i<degree;i++){    result2 *= result;  };  return result2;};void kernel_anova_c::input(istream& data_stream){  // read comments and parameters until next @  char next = data_stream.peek();  if(next == EOF){     // set stream to eof    next = data_stream.get();   };  int ok_gamma=0;  int ok_degree=0;  char* s = new char[MAXCHAR];  while((! data_stream.eof()) && (next != '@')){    if('#' == next){      // ignore comment      data_stream.getline(s,MAXCHAR);    }    else if('\n' == next){      // ignore line-end      next = data_stream.get();    }    else{      // trying to read in parameter      data_stream >> s;      if(0 == strcmp("gamma",s)){	data_stream >> gamma;	ok_gamma = 1;      }      else if(0 == strcmp("degree",s)){	data_stream >> degree;	ok_degree = 1;      }      else{	cout<<"Ignoring unknown parameter: "<<s<<endl;      };      data_stream.getline(s,MAXCHAR);    };    next = data_stream.peek();    if(next == EOF){       // set stream to eof      next = data_stream.get();     };  };  if((!ok_gamma) || (!ok_degree)){    throw read_exception("The parameters did not contain a valid description of an anova kernel.");  };  delete []s;};void kernel_anova_c::output(ostream& data_stream) const{  data_stream<<"type anova"<<endl;  data_stream<<"gamma "<<gamma<<endl;  data_stream<<"degree "<<degree<<endl;};/* * * kernel_exponential_c * */ SVMFLOAT kernel_exponential_c::calculate_K(const svm_example x, const svm_example y){  SVMFLOAT result=0;  SVMINT length_x = x.length;  SVMINT length_y = y.length;  svm_attrib* att_x = x.example;  svm_attrib* att_y = y.example;  SVMINT pos_x=0;  SVMINT pos_y=0;  SVMINT i=0;  SVMFLOAT mylambda=1;  while((pos_x < length_x) && (pos_y < length_y)){    if(att_x[pos_x].index == att_y[pos_y].index){      for(;i<att_x[pos_x].index;i++) mylambda *= lambda;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频免费| 亚洲免费观看高清| 色婷婷av一区| 精品在线一区二区三区| 亚洲精品日产精品乱码不卡| 国产视频一区二区三区在线观看| a4yy欧美一区二区三区| 国产一区二区三区免费观看| 亚洲国产wwwccc36天堂| 国产精品二区一区二区aⅴ污介绍| 欧美一区二区三区视频免费 | 3d动漫精品啪啪| 国产真实精品久久二三区| 洋洋成人永久网站入口| 国产精品乱码一区二三区小蝌蚪| 日韩欧美高清一区| 在线不卡一区二区| 欧洲视频一区二区| 99re这里只有精品6| 国产精一区二区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲精品va在线观看| 成人免费一区二区三区视频| 久久精品男人的天堂| 亚洲精品一区二区在线观看| 欧美二区三区的天堂| 欧美日韩亚洲综合在线 | 亚洲久本草在线中文字幕| 国产欧美日韩麻豆91| www国产成人免费观看视频 深夜成人网| 欧美日精品一区视频| 91国产成人在线| 91丨porny丨中文| 不卡视频一二三| 成人动漫一区二区在线| 国产精品77777| 国产成人在线视频网站| 国产乱码一区二区三区| 国产一区二区三区国产| 激情综合亚洲精品| 韩国理伦片一区二区三区在线播放| 日本不卡一二三区黄网| 日韩在线卡一卡二| 欧美aaaaaa午夜精品| 蜜臀a∨国产成人精品| 日本伊人色综合网| 日韩高清在线观看| 七七婷婷婷婷精品国产| 久久99久久精品| 国产一区 二区 三区一级| 国产成人综合亚洲91猫咪| 成人污污视频在线观看| 99re免费视频精品全部| 91丝袜美腿高跟国产极品老师| 91蜜桃免费观看视频| 欧洲精品一区二区三区在线观看| 欧美日韩精品综合在线| 欧美一区2区视频在线观看| 欧美成人精品高清在线播放| 精品福利一二区| 中文字幕电影一区| 亚洲欧美视频一区| 天堂影院一区二区| 六月丁香婷婷色狠狠久久| 国产精品影视天天线| 9久草视频在线视频精品| 欧美性xxxxx极品少妇| 日韩欧美123| 中文av一区特黄| 日本91福利区| 极品少妇一区二区| 99久久综合狠狠综合久久| 欧美综合视频在线观看| 欧美成人午夜电影| 国产精品久久久久久妇女6080| 亚洲综合色网站| 久久爱www久久做| 成人综合在线观看| 欧美猛男男办公室激情| 久久久另类综合| 一区二区三区毛片| 激情综合网激情| 色哟哟国产精品免费观看| 日韩午夜av电影| 中文字幕第一页久久| 天天爽夜夜爽夜夜爽精品视频| 国模一区二区三区白浆| 色综合咪咪久久| 久久亚区不卡日本| 午夜精品免费在线观看| 国产999精品久久久久久| 欧美美女激情18p| 中文一区在线播放| 秋霞av亚洲一区二区三| av亚洲精华国产精华精华| 777色狠狠一区二区三区| 国产精品免费视频一区| 日韩av中文字幕一区二区三区| 成人免费视频视频| 日韩欧美视频一区| 一区二区三区成人| 国产成a人亚洲精品| 欧美一区二区在线免费观看| 中文字幕日韩av资源站| 狠狠色综合色综合网络| 在线电影欧美成精品| 亚洲天堂精品视频| 国产成人在线视频网址| 欧美一卡二卡三卡| 亚洲一区二区视频在线| 粉嫩欧美一区二区三区高清影视| 91精品国产一区二区三区| 亚洲一级二级三级在线免费观看| 国产91富婆露脸刺激对白| 欧美一级二级三级蜜桃| 亚洲国产综合色| 91看片淫黄大片一级| 国产欧美一区二区在线观看| 蜜桃久久久久久| 欧美日韩国产一级片| 亚洲精品视频观看| youjizz国产精品| 国产欧美中文在线| 国产精品538一区二区在线| 精品国产成人在线影院 | 美日韩黄色大片| 色狠狠av一区二区三区| 一色屋精品亚洲香蕉网站| 国产成人午夜电影网| 欧美大片免费久久精品三p| 视频一区二区三区中文字幕| 欧美日韩一区二区在线观看| 一区二区在线免费观看| av资源站一区| 亚洲三级免费观看| 99视频一区二区| 亚洲日本va午夜在线影院| 不卡高清视频专区| 亚洲色图制服丝袜| 一本一本久久a久久精品综合麻豆| 亚洲国产激情av| 菠萝蜜视频在线观看一区| 国产精品久久久久影院亚瑟| 99国产精品视频免费观看| 自拍偷拍国产精品| 91福利视频久久久久| 亚洲成人精品在线观看| 欧美精品自拍偷拍动漫精品| 日韩电影在线观看电影| 欧美一区二区三区啪啪| 精品一区二区久久| 欧美国产精品劲爆| 97se亚洲国产综合自在线不卡| 亚洲欧美日韩国产一区二区三区| 99re这里只有精品6| 亚洲在线观看免费视频| 欧美精三区欧美精三区| 美女一区二区在线观看| 久久久久国产免费免费| 成人成人成人在线视频| 一区二区三区在线免费播放| 欧美精品乱码久久久久久| 久久精品国产久精国产| 亚洲国产精品t66y| 色999日韩国产欧美一区二区| 婷婷综合另类小说色区| 2023国产精华国产精品| www.日韩精品| 亚洲专区一二三| 欧美xxx久久| 不卡av在线网| 亚洲chinese男男1069| 精品国产凹凸成av人导航| 丁香婷婷综合激情五月色| 一区二区三区.www| 日韩欧美国产一区二区三区| 成人av网站免费观看| 亚洲国产日韩综合久久精品| 日韩天堂在线观看| va亚洲va日韩不卡在线观看| 亚洲第一成人在线| 久久精品一二三| 欧美午夜精品久久久久久超碰| 久久激情五月婷婷| 一个色综合av| 久久女同精品一区二区| 在线精品视频一区二区三四 | 国产精品综合av一区二区国产馆| 综合色中文字幕| 欧美大肚乱孕交hd孕妇| 91小视频免费观看| 九九视频精品免费| 一区二区欧美国产| 国产午夜精品美女毛片视频| 欧美午夜精品理论片a级按摩| 国产宾馆实践打屁股91| 日本一道高清亚洲日美韩| 国产精品成人午夜| 精品国产免费人成在线观看| 在线观看一区日韩|