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

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

?? svm.m4

?? 支持向量機(jī)的VC++相關(guān)源程序代碼,希望對(duì)大家有用!
?? M4
?? 第 1 頁 / 共 3 頁
字號(hào):
		int i;		for(i=0;i<l;i++)		{			alpha2[i] = 0;			linear_term[i] = param.p - prob.y[i];			y[i] = 1;			alpha2[i+l] = 0;			linear_term[i+l] = param.p + prob.y[i];			y[i+l] = -1;		}		Solver s = new Solver();		s.Solve(2*l, new SVR_Q(prob,param), linear_term, y,			alpha2, param.C, param.C, param.eps, si, param.shrinking);		double sum_alpha = 0;		for(i=0;i<l;i++)		{			alpha[i] = alpha2[i] - alpha2[i+l];			sum_alpha += Math.abs(alpha[i]);		}		System.out.print("nu = "+sum_alpha/(param.C*l)+"\n");	}	private static void solve_nu_svr(svm_problem prob, svm_parameter param,					double[] alpha, Solver.SolutionInfo si)	{		if(param.nu < 0 || param.nu > 1)		{			System.err.print("specified nu is out of range\n");			System.exit(1);		}		int l = prob.l;		double C = param.C;		double[] alpha2 = new double[2*l];		double[] linear_term = new double[2*l];		byte[] y = new byte[2*l];		int i;		double sum = C * param.nu * l / 2;		for(i=0;i<l;i++)		{			alpha2[i] = alpha2[i+l] = Math.min(sum,C);			sum -= alpha2[i];						linear_term[i] = - prob.y[i];			y[i] = 1;			linear_term[i+l] = prob.y[i];			y[i+l] = -1;		}		Solver_NU s = new Solver_NU();		s.Solve(2*l, new SVR_Q(prob,param), linear_term, y,			alpha2, C, C, param.eps, si, param.shrinking);		System.out.print("epsilon = "+(-si.r)+"\n");				for(i=0;i<l;i++)			alpha[i] = alpha2[i] - alpha2[i+l];	}	//	// decision_function	//	static class decision_function	{		double[] alpha;		double rho;		};	static decision_function svm_train_one(		svm_problem prob, svm_parameter param,		double Cp, double Cn)	{		double[] alpha = new double[prob.l];		Solver.SolutionInfo si = new Solver.SolutionInfo();		switch(param.svm_type)		{			case svm_parameter.C_SVC:				solve_c_svc(prob,param,alpha,si,Cp,Cn);				break;			case svm_parameter.NU_SVC:				solve_nu_svc(prob,param,alpha,si);				break;			case svm_parameter.ONE_CLASS:				solve_one_class(prob,param,alpha,si);				break;			case svm_parameter.EPSILON_SVR:				solve_epsilon_svr(prob,param,alpha,si);				break;			case svm_parameter.NU_SVR:				solve_nu_svr(prob,param,alpha,si);				break;		}		System.out.print("obj = "+si.obj+", rho = "+si.rho+"\n");		// output SVs		int nSV = 0;		int nBSV = 0;		for(int i=0;i<prob.l;i++)		{			if(Math.abs(alpha[i]) > 0)			{				++nSV;				if(prob.y[i] > 0)				{					if(Math.abs(alpha[i]) >= si.upper_bound_p)					++nBSV;				}				else				{					if(Math.abs(alpha[i]) >= si.upper_bound_n)						++nBSV;				}			}		}		System.out.print("nSV = "+nSV+", nBSV = "+nBSV+"\n");		decision_function f = new decision_function();		f.alpha = alpha;		f.rho = si.rho;		return f;	}	//	// Interface functions	//	public static svm_model svm_train(svm_problem prob, svm_parameter param)	{		svm_model model = new svm_model();		model.param = param;		if(param.svm_type == svm_parameter.ONE_CLASS ||		   param.svm_type == svm_parameter.EPSILON_SVR ||		   param.svm_type == svm_parameter.NU_SVR)		{			// regression or one-class-svm			model.nr_class = 2;			model.label = null;			model.nSV = null;			model.sv_coef = new double[1][];			decision_function f = svm_train_one(prob,param,0,0);			model.rho = new double[1];			model.rho[0] = f.rho;			int nSV = 0;			int i;			for(i=0;i<prob.l;i++)				if(Math.abs(f.alpha[i]) > 0) ++nSV;			model.l = nSV;			model.SV = new svm_node[nSV][];			model.sv_coef[0] = new double[nSV];			int j = 0;			for(i=0;i<prob.l;i++)				if(Math.abs(f.alpha[i]) > 0)				{					model.SV[j] = prob.x[i];					model.sv_coef[0][j] = f.alpha[i];					++j;				}				}		else		{			// classification			// find out the number of classes			int l = prob.l;			int max_nr_class = 16;			int nr_class = 0;			int[] label = new int[max_nr_class];			int[] count = new int[max_nr_class];			int[] index = new int[l];			int i;			for(i=0;i<l;i++)			{				int this_label = (int)prob.y[i];				int j;				for(j=0;j<nr_class;j++)					if(this_label == label[j])					{						++count[j];						break;					}				index[i] = j;				if(j == nr_class)				{					if(nr_class == max_nr_class)					{						max_nr_class *= 2;						int[] new_data = new int[max_nr_class];						System.arraycopy(label,0,new_data,0,label.length);						label = new_data;												new_data = new int[max_nr_class];						System.arraycopy(count,0,new_data,0,count.length);						count = new_data;					}					label[nr_class] = this_label;					count[nr_class] = 1;					++nr_class;				}			}			// group training data of the same class			int[] start = new int[nr_class];			start[0] = 0;			for(i=1;i<nr_class;i++)				start[i] = start[i-1]+count[i-1];			svm_node[][] x = new svm_node[l][];					for(i=0;i<l;i++)			{				x[start[index[i]]] = prob.x[i];				++start[index[i]];			}					start[0] = 0;			for(i=1;i<nr_class;i++)				start[i] = start[i-1]+count[i-1];			// calculate weighted C			double[] weighted_C = new double[nr_class];			for(i=0;i<nr_class;i++)				weighted_C[i] = param.C;			for(i=0;i<param.nr_weight;i++)			{					int j;				for(j=0;j<nr_class;j++)					if(param.weight_label[i] == label[j])						break;				if(j == nr_class)					System.err.print("warning: class label "+param.weight_label[i]+" specified in weight is not found\n");				else					weighted_C[j] *= param.weight[i];			}			// train n*(n-1)/2 models					boolean[] nonzero = new boolean[l];			for(i=0;i<l;i++)				nonzero[i] = false;			decision_function[] f = new decision_function[nr_class*(nr_class-1)/2];			int p = 0;			for(i=0;i<nr_class;i++)				for(int j=i+1;j<nr_class;j++)				{					svm_problem sub_prob = new svm_problem();					int si = start[i], sj = start[j];					int ci = count[i], cj = count[j];					sub_prob.l = ci+cj;					sub_prob.x = new svm_node[sub_prob.l][];					sub_prob.y = new double[sub_prob.l];					int k;					for(k=0;k<ci;k++)					{						sub_prob.x[k] = x[si+k];						sub_prob.y[k] = +1;					}					for(k=0;k<cj;k++)					{						sub_prob.x[ci+k] = x[sj+k];						sub_prob.y[ci+k] = -1;					}									f[p] = svm_train_one(sub_prob,param,weighted_C[i],weighted_C[j]);					for(k=0;k<ci;k++)						if(!nonzero[si+k] && Math.abs(f[p].alpha[k]) > 0)							nonzero[si+k] = true;					for(k=0;k<cj;k++)						if(!nonzero[sj+k] && Math.abs(f[p].alpha[ci+k]) > 0)							nonzero[sj+k] = true;					++p;				}			// build output			model.nr_class = nr_class;					model.label = new int[nr_class];			for(i=0;i<nr_class;i++)				model.label[i] = label[i];					model.rho = new double[nr_class*(nr_class-1)/2];			for(i=0;i<nr_class*(nr_class-1)/2;i++)				model.rho[i] = f[i].rho;			int nnz = 0;			int[] nz_count = new int[nr_class];			model.nSV = new int[nr_class];			for(i=0;i<nr_class;i++)			{				int nSV = 0;				for(int j=0;j<count[i];j++)					if(nonzero[start[i]+j])					{							++nSV;						++nnz;					}				model.nSV[i] = nSV;				nz_count[i] = nSV;			}					System.out.print("Total nSV = "+nnz+"\n");			model.l = nnz;			model.SV = new svm_node[nnz][];			p = 0;			for(i=0;i<l;i++)				if(nonzero[i]) model.SV[p++] = x[i];			int[] nz_start = new int[nr_class];			nz_start[0] = 0;			for(i=1;i<nr_class;i++)				nz_start[i] = nz_start[i-1]+nz_count[i-1];			model.sv_coef = new double[nr_class-1][];			for(i=0;i<nr_class-1;i++)				model.sv_coef[i] = new double[nnz];			p = 0;			for(i=0;i<nr_class;i++)				for(int j=i+1;j<nr_class;j++)				{					// classifier (i,j): coefficients with					// i are in sv_coef[j-1][nz_start[i]...],					// j are in sv_coef[i][nz_start[j]...]					int si = start[i];					int sj = start[j];					int ci = count[i];					int cj = count[j];									int q = nz_start[i];					int k;					for(k=0;k<ci;k++)						if(nonzero[si+k])							model.sv_coef[j-1][q++] = f[p].alpha[k];					q = nz_start[j];					for(k=0;k<cj;k++)						if(nonzero[sj+k])							model.sv_coef[i][q++] = f[p].alpha[ci+k];					++p;				}		}		return model;	}	public static double svm_predict(svm_model model, svm_node[] x)	{		if(model.param.svm_type == svm_parameter.ONE_CLASS ||		   model.param.svm_type == svm_parameter.EPSILON_SVR ||		   model.param.svm_type == svm_parameter.NU_SVR)		{			double[] sv_coef = model.sv_coef[0];			double sum = 0;			for(int i=0;i<model.l;i++)				sum += sv_coef[i] * Kernel.k_function(x,model.SV[i],model.param);			sum -= model.rho[0];			if(model.param.svm_type == svm_parameter.ONE_CLASS)				return (sum>0)?1:-1;			else				return sum;		}		else		{			int i;			int nr_class = model.nr_class;			int l = model.l;					double[] kvalue = new double[l];			for(i=0;i<l;i++)				kvalue[i] = Kernel.k_function(x,model.SV[i],model.param);			int[] start = new int[nr_class];			start[0] = 0;			for(i=1;i<nr_class;i++)				start[i] = start[i-1]+model.nSV[i-1];			int[] vote = new int[nr_class];			for(i=0;i<nr_class;i++)				vote[i] = 0;			int p=0;			for(i=0;i<nr_class;i++)				for(int j=i+1;j<nr_class;j++)				{					double sum = 0;					int si = start[i];					int sj = start[j];					int ci = model.nSV[i];					int cj = model.nSV[j];									int k;					double[] coef1 = model.sv_coef[j-1];					double[] coef2 = model.sv_coef[i];					for(k=0;k<ci;k++)						sum += coef1[si+k] * kvalue[si+k];					for(k=0;k<cj;k++)						sum += coef2[sj+k] * kvalue[sj+k];					sum -= model.rho[p++];					if(sum > 0)						++vote[i];					else						++vote[j];				}			int vote_max_idx = 0;			for(i=1;i<nr_class;i++)				if(vote[i] > vote[vote_max_idx])					vote_max_idx = i;			return model.label[vote_max_idx];		}	}	static final String svm_type_table[] =	{		"c_svc","nu_svc","one_class","epsilon_svr","nu_svr",	};	static final String kernel_type_table[]=	{		"linear","polynomial","rbf","sigmoid",	};	public static void svm_save_model(String model_file_name, svm_model model) throws IOException	{		DataOutputStream fp = new DataOutputStream(new FileOutputStream(model_file_name));		svm_parameter param = model.param;		fp.writeBytes("svm_type "+svm_type_table[param.svm_type]+"\n");		fp.writeBytes("kernel_type "+kernel_type_table[param.kernel_type]+"\n");		if(param.kernel_type == svm_parameter.POLY)			fp.writeBytes("degree "+param.degree+"\n");		if(param.kernel_type == svm_parameter.POLY ||		   param.kernel_type == svm_parameter.RBF ||		   param.kernel_type == svm_parameter.SIGMOID)			fp.writeBytes("gamma "+param.gamma+"\n");		if(param.kernel_type == svm_parameter.POLY ||		   param.kernel_type == svm_parameter.SIGMOID)			fp.writeBytes("coef0 "+param.coef0+"\n");		int nr_class = model.nr_class;		int l = model.l;		fp.writeBytes("nr_class "+nr_class+"\n");		fp.writeBytes("total_sv "+l+"\n");			{			fp.writeBytes("rho");			for(int i=0;i<nr_class*(nr_class-1)/2;i++)				fp.writeBytes(" "+model.rho[i]);			fp.writeBytes("\n");		}			if(model.label != null)		{			fp.writeBytes("label");			for(int i=0;i<nr_class;i++)				fp.writeBytes(" "+model.label[i]);			fp.writeBytes("\n");		}		if(model.nSV != null)		{			fp.writeBytes("nr_sv");			for(int i=0;i<nr_class;i++)				fp.writeBytes(" "+model.nSV[i]);			fp.writeBytes("\n");		}		fp.writeBytes("SV\n");		double[][] sv_coef = model.sv_coef;		svm_node[][] SV = model.SV;		for(int i=0;i<l;i++)		{			for(int j=0;j<nr_class-1;j++)				fp.writeBytes(sv_coef[j][i]+" ");			svm_node[] p = SV[i];			for(int j=0;j<p.length;j++)				fp.writeBytes(p[j].index+":"+p[j].value+" ");			fp.writeBytes("\n");		}		fp.close();	}	private static double atof(String s)	{		return Double.valueOf(s).doubleValue();	}	private static int atoi(String s)	{		return Integer.parseInt(s);	}	public static svm_model svm_load_model(String model_file_name) throws IOException	{		BufferedReader fp = new BufferedReader(new FileReader(model_file_name));		// read parameters		svm_model model = new svm_model();		svm_parameter param = new svm_parameter();		model.param = param;		model.label = null;		model.nSV = null;		while(true)		{			String cmd = fp.readLine();			String arg = cmd.substring(cmd.indexOf(' ')+1);			if(cmd.startsWith("svm_type"))			{				int i;				for(i=0;i<svm_type_table.length;i++)				{					if(arg.indexOf(svm_type_table[i])!=-1)					{						param.svm_type=i;						break;					}				}				if(i == svm_type_table.length)				{					System.err.print("unknown svm type.\n");					System.exit(1);				}			}			else if(cmd.startsWith("kernel_type"))			{				int i;				for(i=0;i<kernel_type_table.length;i++)				{					if(arg.indexOf(kernel_type_table[i])!=-1)					{						param.kernel_type=i;						break;					}				}				if(i == kernel_type_table.length)				{					System.err.print("unknown kernel function.\n");					System.exit(1);				}			}			else if(cmd.startsWith("degree"))				param.degree = atof(arg);			else if(cmd.startsWith("gamma"))				param.gamma = atof(arg);			else if(cmd.startsWith("coef0"))				param.coef0 = atof(arg);			else if(cmd.startsWith("nr_class"))				model.nr_class = atoi(arg);			else if(cmd.startsWith("total_sv"))				model.l = atoi(arg);			else if(cmd.startsWith("rho"))			{				int n = model.nr_class * (model.nr_class-1)/2;				model.rho = new double[n];				StringTokenizer st = new StringTokenizer(arg);				for(int i=0;i<n;i++)					model.rho[i] = atof(st.nextToken());			}			else if(cmd.startsWith("label"))			{				int n = model.nr_class;				model.label = new int[n];				StringTokenizer st = new StringTokenizer(arg);				for(int i=0;i<n;i++)					model.label[i] = atoi(st.nextToken());								}			else if(cmd.startsWith("nr_sv"))			{				int n = model.nr_class;				model.nSV = new int[n];				StringTokenizer st = new StringTokenizer(arg);				for(int i=0;i<n;i++)					model.nSV[i] = atoi(st.nextToken());			}			else if(cmd.startsWith("SV"))			{				break;			}			else			{				System.err.print("unknown text in model file\n");				System.exit(1);			}		}		// read sv_coef and SV		int m = model.nr_class - 1;		int l = model.l;		model.sv_coef = new double[m][l];		model.SV = new svm_node[l][];		for(int i=0;i<l;i++)		{			String line = fp.readLine();			StringTokenizer st = new StringTokenizer(line," \t\n\r\f:");			for(int k=0;k<m;k++)				model.sv_coef[k][i] = atof(st.nextToken());			int n = st.countTokens()/2;			model.SV[i] = new svm_node[n];			for(int j=0;j<n;j++)			{				model.SV[i][j] = new svm_node();				model.SV[i][j].index = atoi(st.nextToken());				model.SV[i][j].value = atof(st.nextToken());			}		}		fp.close();		return model;	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区蜜臀亚洲| 成人99免费视频| 高清不卡在线观看| 91丨九色丨黑人外教| 欧美日韩国产综合久久| 欧美精品一区二区不卡| 中文字幕亚洲电影| 蜜臀av性久久久久av蜜臀妖精| 成人免费看视频| 欧美日精品一区视频| 久久精品免视看| 亚洲午夜久久久久久久久电影网| 麻豆91免费看| 色综合久久久久久久久| 日韩欧美一区二区三区在线| 国产精品久久久久aaaa| 日韩av中文字幕一区二区| 夫妻av一区二区| 欧美日韩国产a| 国产精品拍天天在线| 亚洲aaa精品| 成人中文字幕电影| 91精品国产高清一区二区三区蜜臀| 久久精品综合网| 日韩中文字幕av电影| 成人理论电影网| 日韩午夜在线观看视频| 亚洲欧美日韩国产一区二区三区 | 成人av电影在线播放| 欧美视频一区二| 久久久av毛片精品| 天堂va蜜桃一区二区三区 | 亚洲视频免费观看| 国产乱淫av一区二区三区| 欧美私模裸体表演在线观看| 国产精品伦一区二区三级视频| 日本欧美一区二区三区| 在线观看视频一区| 中文字幕在线一区二区三区| 国内久久精品视频| 7777女厕盗摄久久久| 亚洲欧美韩国综合色| 大陆成人av片| 26uuu精品一区二区| 日日夜夜精品免费视频| 欧美中文字幕亚洲一区二区va在线| 国产亚洲女人久久久久毛片| 久久国内精品自在自线400部| 欧美日韩一区在线| 亚洲欧美另类小说| 成人app在线| 国产三级精品三级在线专区| 九一久久久久久| 91精品国产一区二区三区| 亚洲一区二区三区激情| 91久久精品一区二区三区| 亚洲视频在线一区二区| 成人av网址在线| 国产精品久久三区| 成人国产精品视频| 日本一区二区高清| 国产成人精品aa毛片| 久久精品夜色噜噜亚洲aⅴ| 久久精品国产第一区二区三区| 在线91免费看| 日韩一区欧美二区| 欧美久久高跟鞋激| 日韩综合小视频| 91麻豆精品国产自产在线| 性做久久久久久免费观看| 欧美日韩日本视频| 手机精品视频在线观看| 欧美精品乱码久久久久久按摩| 午夜视频在线观看一区二区三区| 欧美性猛交一区二区三区精品| 一区二区三区日韩欧美| 欧美日韩在线观看一区二区| 亚洲高清中文字幕| 欧美一区二区三区白人| 美女视频黄免费的久久| 欧美成人官网二区| 国产综合一区二区| 国产精品免费人成网站| 色先锋aa成人| 亚洲高清免费观看| 日韩三级视频中文字幕| 紧缚奴在线一区二区三区| 国产亚洲综合性久久久影院| 国产999精品久久久久久绿帽| 国产精品萝li| 欧美亚男人的天堂| 麻豆91精品视频| 国产婷婷色一区二区三区四区| 国产69精品久久久久777| 中文字幕在线不卡| 亚洲v日本v欧美v久久精品| 精品久久一二三区| 日韩一区二区在线看| 国产精品久久久久aaaa| 欧美性猛交xxxxxxxx| 日韩中文字幕91| 久久久五月婷婷| 91看片淫黄大片一级在线观看| 亚洲一区二区偷拍精品| 日韩欧美一区二区视频| 成人国产精品免费| 亚洲综合图片区| 日韩欧美美女一区二区三区| 国产精品自拍av| 一区二区久久久| 日韩精品一区二区三区swag | 日韩欧美一区二区不卡| 国产高清精品网站| 亚洲乱码日产精品bd| 欧美电影免费观看高清完整版在线观看| 久久99国内精品| 亚洲欧美视频在线观看视频| 欧美一区二区三区免费视频 | ●精品国产综合乱码久久久久 | 亚洲成人激情av| 久久精品一区二区三区av| 欧美中文字幕一区二区三区亚洲 | 欧美激情在线免费观看| 欧美艳星brazzers| 国产精品一区二区久久不卡 | 91视频国产观看| 奇米精品一区二区三区在线观看一| 久久久久久久久久久99999| 在线观看欧美精品| 国产一区二三区好的| 亚洲午夜日本在线观看| 国产日韩欧美综合在线| 欧美肥胖老妇做爰| 94-欧美-setu| 精品一区二区三区香蕉蜜桃| 亚洲乱码中文字幕| 久久久久久麻豆| 91麻豆精品国产91久久久久久 | 中文字幕在线一区| 欧美一区二区免费| 在线欧美日韩国产| 成人自拍视频在线| 久久精品国产亚洲aⅴ| 亚洲午夜在线电影| 中文字幕色av一区二区三区| 久久一二三国产| 欧美日韩www| 91啪亚洲精品| 国产成人在线网站| 麻豆高清免费国产一区| 亚洲成人黄色影院| 亚洲欧美日韩成人高清在线一区| 国产天堂亚洲国产碰碰| 免费日本视频一区| 91亚洲国产成人精品一区二三 | 国产精品亚洲专一区二区三区| 国产精品69久久久久水密桃| 91精品在线免费| 国产亚洲一区字幕| 国产99久久久久久免费看农村| 精品欧美黑人一区二区三区| 国产精品一区二区在线播放| 青青草97国产精品免费观看 | 高清av一区二区| 精品一区二区三区视频| 奇米色一区二区| 日本最新不卡在线| 视频一区在线播放| 午夜成人在线视频| 亚洲一卡二卡三卡四卡 | 欧美久久久影院| 欧美性极品少妇| 91视频一区二区| 在线免费观看日本一区| 91丨九色丨蝌蚪富婆spa| 91首页免费视频| 激情综合色综合久久综合| 裸体一区二区三区| 天堂午夜影视日韩欧美一区二区| 一区二区三区中文字幕在线观看| 亚洲同性gay激情无套| 自拍偷拍亚洲激情| 亚洲精品福利视频网站| 亚洲你懂的在线视频| 国产一区日韩二区欧美三区| 国产在线精品一区二区| 激情综合网av| 国产成人免费视频一区| 成人一区二区三区中文字幕| 成人国产精品免费网站| 91社区在线播放| 欧美在线观看一区| 欧美精品日韩一区| 日韩精品一区二区三区视频播放 | 蜜乳av一区二区| 狠狠色综合日日| 成人免费视频国产在线观看| 99久久婷婷国产综合精品| 色婷婷精品大在线视频| 欧美老年两性高潮|