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

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

?? svm.java

?? 一個java程序編寫的svm支持向量機小程序
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
package edu.udo.cs.mySVMdb.SVM;import edu.udo.cs.mySVMdb.Optimizer.*;import edu.udo.cs.mySVMdb.Container.*;import edu.udo.cs.mySVMdb.Kernel.*;import edu.udo.cs.mySVMdb.Util.*;// import java.util.BitSet;import java.lang.Integer;import java.lang.Double;import java.util.Random;import java.lang.Math;public abstract class SVM{    /**     * Abstract base class for all SVMs     * @author Stefan R黳ing     * @version 1.0     */        protected Kernel the_kernel;    protected JDBCDatabaseContainer the_container;    protected int examples_total;    protected int verbosity;    protected int working_set_size;    protected int parameters_working_set_size; // wss set in parameters    protected int target_count;    protected double convergence_epsilon;    protected double is_zero;    protected int shrink_const;    protected double lambda_factor;    protected int[] at_bound;    protected double[] sum;    protected boolean[] which_alpha;    protected int[] working_set;    protected double[] primal;    protected double Cpos;    protected double Cneg;    protected double sum_alpha;    protected double lambda_eq;    protected double epsilon_pos;    protected double epsilon_neg;    protected int to_shrink;    protected double feasible_epsilon;    protected double lambda_WS;    protected boolean quadraticLossPos;    protected boolean quadraticLossNeg;    protected double descend;    boolean shrinked;    MinHeap heap_min;    MaxHeap heap_max;    protected quadraticProblem qp;    /**     * class constructor     */    public SVM()    {    };            /**     * Init the SVM     * @param Kernel new kernel function.     * @param JDBCDatabaseContainer the data container     * @exception Exception on any error     */    public void init(Kernel new_kernel, JDBCDatabaseContainer new_container)    {	String dummy;	the_kernel = new_kernel;	the_container = new_container;	examples_total = the_container.count_examples();	try{	  verbosity = (new Integer(the_container.get_param("verbosity"))).intValue();	}	catch(Exception e){	  verbosity = 3;	};	try{	  working_set_size = (new Integer(the_container.get_param("working_set_size"))).intValue();	  if(working_set_size < 2){	      working_set_size = 2;	  };	}	catch(Exception e){	    working_set_size = 10; // !!! has to be identical to JDBCDatabaseContainer::prepareKisStatement	};	parameters_working_set_size = working_set_size;	try{	  is_zero = (new Double(the_container.get_param("is_zero"))).doubleValue();	  if(is_zero <= 0){	      is_zero = 1e-10;	  };	}	catch(Exception e){	  is_zero = 1e-10;	};	try{	  convergence_epsilon = (new Double(the_container.get_param("convergence_epsilon"))).doubleValue();	  if(convergence_epsilon <= 0){	      convergence_epsilon = 1e-3;	  };	}	catch(Exception e){	  convergence_epsilon = 1e-3;	};	try{	  shrink_const = (new Integer(the_container.get_param("shrink_const"))).intValue();	  if(shrink_const <= 0){	      shrink_const = 50;	  };	}	catch(Exception e){	  shrink_const = 50;	};	try{	  descend = (new Double(the_container.get_param("descend"))).doubleValue();	  if(descend < 0){	      descend = 1e-15;	  };	}	catch(Exception e){	  descend = 1e-15;	};	quadraticLossPos = false;	try{	  dummy = the_container.get_param("quadraticLossPos");	  if(dummy.equals("true")){	      quadraticLossPos = true;	  };	}	catch(Exception e){	};	quadraticLossNeg = false;	try{	  dummy = the_container.get_param("quadraticLossNeg");	  if(dummy.equals("true")){	      quadraticLossNeg = true;	  };	}	catch(Exception e){	};	try{	  Cpos = (new Double(the_container.get_param("C"))).doubleValue();	  Cneg = Cpos;	}	catch(Exception e){	    Cpos = 1.0;	    Cneg = 1.0;	};	try{	  Cpos = (new Double(the_container.get_param("Cpos"))).doubleValue();	}	catch(Exception e){	};	try{	  Cneg = (new Double(the_container.get_param("Cneg"))).doubleValue();	}	catch(Exception e){	};	// better in subclass:	try{	  epsilon_pos = (new Double(the_container.get_param("epsilon"))).doubleValue();	  epsilon_neg = epsilon_pos;	}	catch(Exception e){	    epsilon_pos = 0.0;	    epsilon_neg = 0.0;	};	try{	  epsilon_pos = (new Double(the_container.get_param("epsilon_pos"))).doubleValue();	}	catch(Exception e){	};	try{	  epsilon_neg = (new Double(the_container.get_param("epsilon_neg"))).doubleValue();	}	catch(Exception e){	};	try{	    dummy = the_container.get_param("balance_cost");	    if(dummy.equals("true")){		Cpos *= ((double)the_container.count_pos_examples())/((double)the_container.count_examples());		Cneg *= ((double)(the_container.count_examples()-the_container.count_pos_examples()))/((double)the_container.count_examples());	    };	}	catch(Exception e){	};	//	System.out.println("Cpos "+Cpos);	//	System.out.println("Cneg "+Cneg);	//	System.out.println("epsilon_pos "+epsilon_pos);	//	System.out.println("epsilon_neg "+epsilon_neg);	lambda_factor = 1.0;	lambda_eq=0;	target_count=0;	sum_alpha = 0;	feasible_epsilon = convergence_epsilon;	at_bound = new int[examples_total];	sum = new double[examples_total];	which_alpha = new boolean[examples_total];	primal = new double[working_set_size];    };            /**     * Train the SVM     * @exception Exception on any error     */    public void train()	throws Exception    {	target_count = 0;	shrinked = false;	init_optimizer();	init_working_set();	int iteration = 0;	int max_iterations;	try{	  max_iterations = (new Integer(the_container.get_param("max_iterations"))).intValue();	}	catch(Exception e){	    max_iterations=30000; 	};	boolean converged=false;	//long time_train_loop = System.currentTimeMillis();	//long time_dummy = 0;	//long time_resetshrink = 0;	M:while(iteration < max_iterations){	    iteration++;	    logln(4,"optimizer iteration "+iteration);	    log(4,".");	    optimize(); 	    put_optimizer_values();	    converged = convergence();	    if(converged){		logln(4,"");  // dots		project_to_constraint();		if(shrinked){		    // check convergence for all alphas  		    logln(2,"***** Checking convergence for all variables");		    //		    time_resetshrink -= System.currentTimeMillis();      		    reset_shrinked();		    //		    time_resetshrink += System.currentTimeMillis();		    converged = convergence();		};				if(converged){		    logln(1,"*** Convergence");		    break M;		};				// set variables free again		shrink_const += 10;		target_count = 0;		for(int i=0;i<examples_total;i++){		    at_bound[i]=0;		};	    };	    shrink();	    calculate_working_set();	    update_working_set();	};	//time_train_loop = (System.currentTimeMillis() - time_train_loop)/1000;	int i;	if((iteration >= max_iterations) && (! converged)){	  logln(1,"*** No convergence: Time up.");	  if(shrinked){	    // set sums for all variables for statistics	    //time_resetshrink -= System.currentTimeMillis();	    reset_shrinked();	    //time_resetshrink += System.currentTimeMillis();	  };	};		// calculate b	double new_b=0;	int new_b_count=0;	double[] my_sum = sum;	double[] my_y = the_container.get_ys();	double[] my_alphas = the_container.get_alphas();	for(i=0;i<examples_total;i++){	  if((my_alphas[i]-Cneg < -is_zero) && 	     (my_alphas[i] > is_zero)){	    new_b +=  my_y[i] - my_sum[i]-epsilon_neg;	    new_b_count++;	  }	  else if((my_alphas[i]+Cpos > is_zero) && 		  (my_alphas[i] < -is_zero)){	    new_b +=  my_y[i] - my_sum[i]+epsilon_pos;	    new_b_count++;	  };	};		if(new_b_count>0){	  the_container.set_b(new_b/((double)new_b_count));	}	else{	  // unlikely	  for(i=0;i<examples_total;i++){	    if((my_alphas[i]<is_zero) && 	       (my_alphas[i]>-is_zero)) {	      new_b += my_y[i] - my_sum[i];	      new_b_count++;	    };	  };	  if(new_b_count>0){	    the_container.set_b(new_b/((double)new_b_count));	  }	  else{	    // even unlikelier	    for(i=0;i<examples_total;i++){	      new_b += my_y[i] - my_sum[i];	      new_b_count++;	    };	    the_container.set_b(new_b/((double)new_b_count));	  };	};		if(verbosity>= 2){	  logln(2,"Done training: "+iteration+" iterations.");	  if(verbosity>= 3){	    double now_target=0;	    double now_target_dummy=0;	    for(i=0;i<examples_total;i++){	      now_target_dummy=sum[i]/2-the_container.get_y(i);	      if(is_alpha_neg(i)){		now_target_dummy+= epsilon_pos;	      }	      else{		now_target_dummy-= epsilon_neg;	      };	      now_target+=the_container.get_alpha(i)*now_target_dummy;	    };	    logln(3,"Target function: "+now_target);	  };	};		print_statistics();		exit_optimizer();	//	System.out.println("Time in resetshrink: "+(time_resetshrink/1000)+"s");	//	System.out.println("Time in train loop: "+time_train_loop+"s");    };        /**     * print statistics about result     */    protected void print_statistics()	throws Exception    {      int dim = the_container.get_dim();      int i,j;      double alpha;      double[] x;      int svs=0;      int bsv = 0;      double mae=0;      double mse = 0;      int countpos = 0;      int countneg = 0;      double y;      double prediction;      double min_lambda = Double.MAX_VALUE;      double b = the_container.get_b();      for(i=0;i<examples_total;i++){	  if(lambda(i) < min_lambda){	      min_lambda = lambda(i);	  };	  y = the_container.get_y(i);	  prediction = sum[i]+b;	  mae += Math.abs(y-prediction);	  mse += (y-prediction)*(y-prediction);	  alpha = the_container.get_alpha(i);	  if(y < prediction-epsilon_pos){	      countpos++;	  }	  else if(y > prediction+epsilon_neg){	      countneg++;	  };	  if(alpha != 0){	      svs++;	      if((alpha == Cpos) || (alpha == -Cneg)){		  bsv++;	      };	  };      };      mae /= (double)examples_total;      mse /= (double)examples_total;      min_lambda = -min_lambda;      logln(1,"Error on KKT is "+min_lambda);      logln(1,svs+" SVs");      logln(1,bsv+" BSVs");      logln(1,"MAE "+mae);      logln(1,"MSE "+mse);      logln(1,countpos+" pos loss");      logln(1,countneg+" neg loss");      if(verbosity >= 2){	  // print hyperplane	  double[] w = new double[dim];	  for(j=0;j<dim;j++) w[j] = 0;	  for(i=0;i<examples_total;i++){	      x = the_container.get_example(i);	      alpha = the_container.get_alpha(i);	      for(j=0;j<dim;j++){		  w[j] += alpha*x[j];	      };	  };	  double[] Exp = the_container.Exp;	  double[] Dev = the_container.Dev;	  if(Exp != null){	      for(j=0;j<dim;j++){		  if(Dev[j] != 0){		      w[j] /= Dev[j];		  };		  if(0 != Dev[dim]){		      w[j] *= Dev[dim];		  };		  b -= w[j]*Exp[j];	      };	      b += Exp[dim];	  };	  logln(2," ");	  for(j=0;j<dim;j++){	      logln(2,"w["+j+"] = "+w[j]);	  };	  logln(2,"b = "+b);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲第一福利视频在线| 午夜不卡av免费| 欧美日本在线观看| 国产毛片精品国产一区二区三区| 一区二区三区精品在线| 久久久欧美精品sm网站| 欧美日韩成人在线一区| youjizz国产精品| 国产在线不卡一卡二卡三卡四卡| 亚洲午夜羞羞片| 综合电影一区二区三区 | 日韩vs国产vs欧美| 亚洲精品久久久蜜桃| 精品999在线播放| 91精品国产综合久久久蜜臀粉嫩| 色综合久久久网| 国产夫妻精品视频| 美腿丝袜亚洲综合| 视频一区中文字幕| 午夜天堂影视香蕉久久| 亚洲人精品一区| 国产精品不卡一区| 国产蜜臀av在线一区二区三区| 日韩一区二区三免费高清| 欧美人牲a欧美精品| 在线免费不卡视频| 一本大道综合伊人精品热热| 成人午夜电影久久影院| 国产精品一区二区久激情瑜伽| 久久精品国产99国产精品| 日韩经典一区二区| 青娱乐精品在线视频| 三级欧美在线一区| 日韩电影在线一区二区| 午夜激情一区二区三区| 性做久久久久久免费观看欧美| 亚洲国产一区二区三区| 亚洲资源在线观看| 亚洲成va人在线观看| 亚洲成人动漫在线免费观看| 一二三区精品视频| 午夜伊人狠狠久久| 日本aⅴ免费视频一区二区三区 | 亚洲精品亚洲人成人网在线播放| 亚洲视频一区二区在线| 亚洲三级电影网站| 亚洲综合色婷婷| 亚洲精品自拍动漫在线| 又紧又大又爽精品一区二区| 日韩理论片在线| 亚洲成人福利片| 麻豆国产欧美日韩综合精品二区 | 欧美性感一类影片在线播放| 91久久香蕉国产日韩欧美9色| 欧美系列亚洲系列| 日韩一级完整毛片| 久久久久综合网| 中文字幕日本不卡| 一区二区国产盗摄色噜噜| 亚洲第一二三四区| 国产一区中文字幕| hitomi一区二区三区精品| 色综合久久综合网97色综合| 欧美精品xxxxbbbb| 精品国产1区2区3区| 国产精品久久久99| 亚洲成人高清在线| 国产精品一区久久久久| 一本大道久久a久久精品综合| 欧美久久久久免费| 国产婷婷色一区二区三区| 亚洲免费资源在线播放| 美女视频黄频大全不卡视频在线播放| 国产高清精品久久久久| 欧美在线免费观看视频| 精品人在线二区三区| 国产精品国产三级国产普通话99 | 国产成人综合亚洲91猫咪| 日本福利一区二区| 欧美一卡二卡在线观看| 国产精品短视频| 日韩高清一区在线| 成人av资源下载| 日韩欧美一二三四区| 亚洲欧美视频在线观看视频| 蜜桃在线一区二区三区| 色偷偷一区二区三区| 精品国产污网站| 夜夜精品视频一区二区| 国产一本一道久久香蕉| 欧美亚洲国产一区在线观看网站| 久久精品一区二区三区不卡牛牛| 亚洲国产日产av| 国产最新精品免费| 欧美精品乱码久久久久久| 国产精品久久久久久久午夜片| 日韩精品一二区| 99re这里只有精品视频首页| 欧美一级一区二区| 一区二区三区丝袜| 成人免费毛片片v| 精品卡一卡二卡三卡四在线| 亚洲午夜精品在线| 不卡的av在线播放| 久久蜜桃一区二区| 日本中文字幕一区| 欧美三级日本三级少妇99| 免费在线看一区| 91官网在线观看| 中文字幕一区二区三区在线不卡| 国产一区二区伦理片| 欧美精品久久久久久久久老牛影院| 国产精品你懂的在线欣赏| 精品一区二区三区免费视频| 欧美主播一区二区三区美女| 国产精品理论在线观看| 国内精品久久久久影院薰衣草| 777精品伊人久久久久大香线蕉| 日韩一区中文字幕| 成年人午夜久久久| 国产三级精品在线| 国产在线乱码一区二区三区| 日韩欧美一级特黄在线播放| 午夜伦理一区二区| 色又黄又爽网站www久久| 国产精品系列在线| 国产成人综合在线观看| 久久综合久久鬼色| 狠狠色丁香久久婷婷综| 欧美精品一区二区三区蜜桃视频| 日本不卡一区二区三区高清视频| 欧美性猛片xxxx免费看久爱| 一区二区三区中文在线观看| 色综合久久综合网97色综合| 18成人在线视频| av成人老司机| 亚洲欧美日韩久久精品| 91蜜桃网址入口| 自拍偷拍亚洲综合| 一本久久综合亚洲鲁鲁五月天| 中文字幕在线播放不卡一区| 99国产精品久| 亚洲精品国产一区二区三区四区在线| 色综合久久久久网| 亚洲免费av高清| 在线观看视频91| 亚洲chinese男男1069| 欧美久久久久久久久| 日韩一区欧美二区| 日韩精品一区在线观看| 国产成人午夜视频| 国产日产欧美精品一区二区三区| 国内精品第一页| 国产精品激情偷乱一区二区∴| 不卡av电影在线播放| 亚洲精品欧美专区| 欧美色国产精品| 日韩国产精品久久久| 精品久久国产97色综合| 国产精品亚洲视频| 亚洲综合在线第一页| 欧美一级久久久久久久大片| 国产一区二区h| 国产精品不卡视频| 欧美日韩一区三区四区| 九一久久久久久| 综合自拍亚洲综合图不卡区| 欧美精品 国产精品| 国产乱码精品1区2区3区| 亚洲欧美日韩一区二区| 欧美一区二区三区四区在线观看| 国产在线国偷精品产拍免费yy| 亚洲色图19p| 日韩欧美国产三级| 成人丝袜视频网| 亚洲成a人片在线不卡一二三区| 制服丝袜亚洲色图| 成人v精品蜜桃久久一区| 天天爽夜夜爽夜夜爽精品视频| 久久综合九色综合欧美98| 91女神在线视频| 麻豆国产欧美一区二区三区| 中文字幕视频一区二区三区久| 欧美妇女性影城| av一区二区久久| 免费看欧美女人艹b| 中文字幕一区二区三区精华液 | 亚洲精品国产无套在线观| 欧美一区二区人人喊爽| 成人高清伦理免费影院在线观看| 天天影视涩香欲综合网| 中文天堂在线一区| 日韩区在线观看| 一本一道久久a久久精品 | 欧美视频精品在线观看| 国产aⅴ精品一区二区三区色成熟| 三级一区在线视频先锋| 亚洲视频在线观看一区| 国产亚洲精品资源在线26u| 欧美精品久久99久久在免费线 |