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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? kernel.cpp

?? cvm的c語言版
?? 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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情91久久精品导航| 日韩视频一区在线观看| 日韩经典一区二区| 国产蜜臀av在线一区二区三区| 91丝袜国产在线播放| 国内外成人在线| 午夜精品一区二区三区电影天堂 | 综合欧美一区二区三区| 91精品久久久久久久久99蜜臂| 成年人网站91| 国产一区二三区| 琪琪一区二区三区| 亚洲精品国产品国语在线app| 久久久综合激的五月天| 制服丝袜一区二区三区| 欧美影视一区在线| 不卡视频在线看| 国产成人精品综合在线观看| 久久99精品久久久久久国产越南| 午夜精品久久久久影视| 亚洲精品高清在线| 最新热久久免费视频| 国产亚洲一区字幕| 久久人人超碰精品| 精品国产区一区| 欧美一区二区国产| 欧美高清视频不卡网| 欧洲精品中文字幕| 91一区一区三区| 成人av网站大全| 成人做爰69片免费看网站| 国产福利一区二区三区视频| 国产在线观看免费一区| 黄色小说综合网站| 久久精品噜噜噜成人av农村| 日本欧美加勒比视频| 亚洲成av人综合在线观看| 亚洲午夜久久久久久久久电影院| 亚洲女女做受ⅹxx高潮| 亚洲一区二区在线观看视频 | 91麻豆精品国产91久久久使用方法 | 欧美一区二区三区日韩| 欧美日韩国产另类一区| 欧美伦理电影网| 欧美一区二区美女| 欧美精品一区二区三区在线| 精品成人在线观看| 久久婷婷色综合| 日本一区二区免费在线| 国产精品久久久久精k8| 亚洲三级视频在线观看| 亚洲资源在线观看| 日韩电影一区二区三区四区| 久久er精品视频| 国产一区不卡视频| 暴力调教一区二区三区| 色综合天天综合狠狠| 一本久道中文字幕精品亚洲嫩| 欧美曰成人黄网| 51精品秘密在线观看| 欧美sm极限捆绑bd| 国产精品视频第一区| 一区二区三区91| 免费成人深夜小野草| 国产suv一区二区三区88区| 91美女在线视频| 91麻豆精品国产91久久久 | 2023国产精品| 亚洲欧洲国产专区| 午夜av一区二区| 国产伦精品一区二区三区免费迷| av午夜精品一区二区三区| 欧美中文一区二区三区| 欧美videos中文字幕| 中文字幕 久热精品 视频在线| 亚洲精品视频一区| 精品在线你懂的| 91女厕偷拍女厕偷拍高清| 欧美一三区三区四区免费在线看| 久久免费电影网| 亚洲高清免费视频| 成人午夜激情片| 337p亚洲精品色噜噜噜| 亚洲欧洲日韩在线| 久久不见久久见中文字幕免费| www.欧美日韩| 精品国产91久久久久久久妲己| 亚洲乱码精品一二三四区日韩在线| 日韩中文字幕麻豆| 成人看片黄a免费看在线| 欧美精品久久久久久久多人混战 | 亚洲精品日日夜夜| 国精品**一区二区三区在线蜜桃| 色嗨嗨av一区二区三区| 精品国产一区二区亚洲人成毛片| 亚洲黄色在线视频| 国产成人av福利| 91精品一区二区三区在线观看| 国产精品久久久久久妇女6080| 美女免费视频一区二区| 色88888久久久久久影院按摩| 久久久久久免费毛片精品| 日韩国产欧美在线观看| 在线免费观看视频一区| 国产欧美视频一区二区三区| 蜜桃视频在线一区| 精品视频在线免费观看| 中文字幕日本乱码精品影院| 韩国v欧美v亚洲v日本v| 91精品国产91综合久久蜜臀| 亚洲国产欧美在线| 欧洲亚洲精品在线| 中文字幕一区二区三区四区不卡 | 另类中文字幕网| 在线精品国精品国产尤物884a| 国产欧美日韩精品一区| 久久国产视频网| 3751色影院一区二区三区| 亚洲国产精品久久不卡毛片| 99精品视频一区二区三区| 国产日韩高清在线| 蓝色福利精品导航| 日韩久久久精品| 另类小说图片综合网| 欧美一区二区三区公司| 舔着乳尖日韩一区| 欧美精品 国产精品| 日韩高清欧美激情| 6080yy午夜一二三区久久| 污片在线观看一区二区| 欧美日韩免费观看一区二区三区| 夜夜精品浪潮av一区二区三区| 一本色道久久综合狠狠躁的推荐| 日韩一区中文字幕| 91福利视频在线| 夜色激情一区二区| 欧美日韩一区高清| 日本不卡视频在线| 26uuuu精品一区二区| 国产精品一区二区在线播放| 久久精品欧美一区二区三区不卡 | 国产农村妇女精品| 波多野结衣亚洲| 亚洲三级小视频| 欧美日韩高清一区| 麻豆国产精品777777在线| 精品成人一区二区三区四区| 国产美女一区二区三区| 欧美国产精品一区二区三区| 不卡的av电影在线观看| 亚洲免费在线观看视频| 欧美亚洲国产bt| 免费观看91视频大全| 久久综合久久综合亚洲| 成人午夜视频免费看| 综合激情网...| 欧美性欧美巨大黑白大战| 日本成人在线一区| 久久久激情视频| av一区二区不卡| 丝袜国产日韩另类美女| 久久久久久亚洲综合影院红桃| 成人久久18免费网站麻豆| 一区二区三区免费网站| 这里只有精品免费| 国v精品久久久网| 亚洲亚洲人成综合网络| 日韩久久久久久| 91原创在线视频| 青青草伊人久久| 中文字幕在线播放不卡一区| 4438x成人网最大色成网站| 国产一区二区h| 亚洲成人手机在线| 精品91自产拍在线观看一区| 91小视频免费观看| 日韩av一区二| √…a在线天堂一区| 日韩免费电影一区| 91影视在线播放| 国产永久精品大片wwwapp| 一级女性全黄久久生活片免费| 精品国产乱码久久久久久牛牛| 一本一道久久a久久精品| 蜜桃av一区二区在线观看| 亚洲欧美日韩国产一区二区三区| 欧美mv和日韩mv国产网站| 99国产精品99久久久久久| 免费人成黄页网站在线一区二区| 亚洲视频你懂的| 久久综合久久综合九色| 欧美日韩一区二区在线观看视频 | 日本一区中文字幕| 综合久久久久久久| 久久久久成人黄色影片| 欧美精品欧美精品系列| 91蝌蚪国产九色| 国产.精品.日韩.另类.中文.在线.播放| 舔着乳尖日韩一区| 亚洲男女毛片无遮挡|