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

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

?? svm.m4

?? 支持向量機(jī)初學(xué)者可以
?? M4
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
					if(G[k] < Gm2) continue;				}				else	if(G[k] < Gm4) continue;			}			else continue;			swap_index(k,active_size);			active_size++;			++k;	// look at the newcomer		}	}		double calculate_rho()	{		int nr_free1 = 0,nr_free2 = 0;		double ub1 = INF, ub2 = INF;		double lb1 = -INF, lb2 = -INF;		double sum_free1 = 0, sum_free2 = 0;		for(int i=0;i<active_size;i++)		{			if(y[i]==+1)			{				if(is_lower_bound(i))					ub1 = Math.min(ub1,G[i]);				else if(is_upper_bound(i))					lb1 = Math.max(lb1,G[i]);				else				{					++nr_free1;					sum_free1 += G[i];				}			}			else			{				if(is_lower_bound(i))					ub2 = Math.min(ub2,G[i]);				else if(is_upper_bound(i))					lb2 = Math.max(lb2,G[i]);				else				{					++nr_free2;					sum_free2 += G[i];				}			}		}		double r1,r2;		if(nr_free1 > 0)			r1 = sum_free1/nr_free1;		else			r1 = (ub1+lb1)/2;		if(nr_free2 > 0)			r2 = sum_free2/nr_free2;		else			r2 = (ub2+lb2)/2;		si.r = (r1+r2)/2;		return (r1-r2)/2;	}}//// Q matrices for various formulations//class SVC_Q extends Kernel{	private final byte[] y;	private final Cache cache;	private final Qfloat[] QD;	SVC_Q(svm_problem prob, svm_parameter param, byte[] y_)	{		super(prob.l, prob.x, param);		y = (byte[])y_.clone();		cache = new Cache(prob.l,(int)(param.cache_size*(1<<20)));		QD = new Qfloat[prob.l];		for(int i=0;i<prob.l;i++)			QD[i]= (Qfloat)kernel_function(i,i);	}	Qfloat[] get_Q(int i, int len)	{		Qfloat[][] data = new Qfloat[1][];		int start;		if((start = cache.get_data(i,data,len)) < len)		{			for(int j=start;j<len;j++)				data[0][j] = (Qfloat)(y[i]*y[j]*kernel_function(i,j));		}		return data[0];	}	Qfloat[] get_QD()	{		return QD;	}	void swap_index(int i, int j)	{		cache.swap_index(i,j);		super.swap_index(i,j);		swap(byte,y[i],y[j]);		swap(Qfloat,QD[i],QD[j]);	}}class ONE_CLASS_Q extends Kernel{	private final Cache cache;	private final Qfloat[] QD;	ONE_CLASS_Q(svm_problem prob, svm_parameter param)	{		super(prob.l, prob.x, param);		cache = new Cache(prob.l,(int)(param.cache_size*(1<<20)));		QD = new Qfloat[prob.l];		for(int i=0;i<prob.l;i++)			QD[i]= (Qfloat)kernel_function(i,i);	}	Qfloat[] get_Q(int i, int len)	{		Qfloat[][] data = new Qfloat[1][];		int start;		if((start = cache.get_data(i,data,len)) < len)		{			for(int j=start;j<len;j++)				data[0][j] = (Qfloat)kernel_function(i,j);		}		return data[0];	}	Qfloat[] get_QD()	{		return QD;	}	void swap_index(int i, int j)	{		cache.swap_index(i,j);		super.swap_index(i,j);		swap(Qfloat,QD[i],QD[j]);	}}class SVR_Q extends Kernel{	private final int l;	private final Cache cache;	private final byte[] sign;	private final int[] index;	private int next_buffer;	private Qfloat[][] buffer;	private final Qfloat[] QD;	SVR_Q(svm_problem prob, svm_parameter param)	{		super(prob.l, prob.x, param);		l = prob.l;		cache = new Cache(l,(int)(param.cache_size*(1<<20)));		QD = new Qfloat[2*l];		sign = new byte[2*l];		index = new int[2*l];		for(int k=0;k<l;k++)		{			sign[k] = 1;			sign[k+l] = -1;			index[k] = k;			index[k+l] = k;			QD[k] = (Qfloat)kernel_function(k,k);			QD[k+l] = QD[k];		}		buffer = new Qfloat[2][2*l];		next_buffer = 0;	}	void swap_index(int i, int j)	{		swap(byte,sign[i],sign[j]);		swap(int,index[i],index[j]);		swap(Qfloat,QD[i],QD[j]);	}	Qfloat[] get_Q(int i, int len)	{		Qfloat[][] data = new Qfloat[1][];		int real_i = index[i];		if(cache.get_data(real_i,data,l) < l)		{			for(int j=0;j<l;j++)				data[0][j] = (Qfloat)kernel_function(real_i,j);		}		// reorder and copy		Qfloat buf[] = buffer[next_buffer];		next_buffer = 1 - next_buffer;		byte si = sign[i];		for(int j=0;j<len;j++)			buf[j] = si * sign[j] * data[0][index[j]];		return buf;	}	Qfloat[] get_QD()	{		return QD;	}}public class svm {	//	// construct and solve various formulations	//	private static void solve_c_svc(svm_problem prob, svm_parameter param,					double[] alpha, Solver.SolutionInfo si,					double Cp, double Cn)	{		int l = prob.l;		double[] minus_ones = new double[l];		byte[] y = new byte[l];		int i;		for(i=0;i<l;i++)		{			alpha[i] = 0;			minus_ones[i] = -1;			if(prob.y[i] > 0) y[i] = +1; else y[i]=-1;		}		Solver s = new Solver();		s.Solve(l, new SVC_Q(prob,param,y), minus_ones, y,			alpha, Cp, Cn, param.eps, si, param.shrinking);		double sum_alpha=0;		for(i=0;i<l;i++)			sum_alpha += alpha[i];		if (Cp==Cn)			System.out.print("nu = "+sum_alpha/(Cp*prob.l)+"\n");		for(i=0;i<l;i++)			alpha[i] *= y[i];	}	private static void solve_nu_svc(svm_problem prob, svm_parameter param,				 	double[] alpha, Solver.SolutionInfo si)	{		int i;		int l = prob.l;		double nu = param.nu;		byte[] y = new byte[l];		for(i=0;i<l;i++)			if(prob.y[i]>0)				y[i] = +1;			else				y[i] = -1;		double sum_pos = nu*l/2;		double sum_neg = nu*l/2;		for(i=0;i<l;i++)			if(y[i] == +1)			{				alpha[i] = Math.min(1.0,sum_pos);				sum_pos -= alpha[i];			}			else			{				alpha[i] = Math.min(1.0,sum_neg);				sum_neg -= alpha[i];			}		double[] zeros = new double[l];		for(i=0;i<l;i++)			zeros[i] = 0;		Solver_NU s = new Solver_NU();		s.Solve(l, new SVC_Q(prob,param,y), zeros, y,			alpha, 1.0, 1.0, param.eps, si, param.shrinking);		double r = si.r;		System.out.print("C = "+1/r+"\n");		for(i=0;i<l;i++)			alpha[i] *= y[i]/r;		si.rho /= r;		si.obj /= (r*r);		si.upper_bound_p = 1/r;		si.upper_bound_n = 1/r;	}	private static void solve_one_class(svm_problem prob, svm_parameter param,				    	double[] alpha, Solver.SolutionInfo si)	{		int l = prob.l;		double[] zeros = new double[l];		byte[] ones = new byte[l];		int i;		int n = (int)(param.nu*prob.l);	// # of alpha's at upper bound		for(i=0;i<n;i++)			alpha[i] = 1;		if(n<prob.l)			alpha[n] = param.nu * prob.l - n;		for(i=n+1;i<l;i++)			alpha[i] = 0;		for(i=0;i<l;i++)		{			zeros[i] = 0;			ones[i] = 1;		}		Solver s = new Solver();		s.Solve(l, new ONE_CLASS_Q(prob,param), zeros, ones,			alpha, 1.0, 1.0, param.eps, si, param.shrinking);	}	private static void solve_epsilon_svr(svm_problem prob, svm_parameter param,					double[] alpha, Solver.SolutionInfo si)	{		int l = prob.l;		double[] alpha2 = new double[2*l];		double[] linear_term = new double[2*l];		byte[] y = new byte[2*l];		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)	{		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;	}	// Platt's binary SVM Probablistic Output: an improvement from Lin et al.	private static void sigmoid_train(int l, double[] dec_values, double[] labels, 				  double[] probAB)	{		double A, B;		double prior1=0, prior0 = 0;		int i;		for (i=0;i<l;i++)			if (labels[i] > 0) prior1+=1;			else prior0+=1;			int max_iter=100; 	// Maximal number of iterations		double min_step=1e-10;	// Minimal step taken in line search		double sigma=1e-3;	// For numerically strict PD of Hessian		double eps=1e-5;		double hiTarget=(prior1+1.0)/(prior1+2.0);		double loTarget=1/(prior0+2.0);		double[] t= new double[l];		double fApB,p,q,h11,h22,h21,g1,g2,det,dA,dB,gd,stepsize;		double newA,newB,newf,d1,d2;		int iter; 			// Initial Point and Initial Fun Value		A=0.0; B=Math.log((prior0+1.0)/(prior1+1.0));		double fval = 0.0;		for (i=0;i<l;i++)		{			if (labels[i]>0) t[i]=hiTarget;			else t[i]=loTarget;			fApB = dec_values[i]*A+B;			if (fApB>=0)				fval += t[i]*fApB + Math.log(1+Math.exp(-fApB));			else				fval += (t[i] - 1)*fApB +Math.log(1+Math.exp(fApB));		}		for (iter=0;iter<max_iter;iter++)		{			// Update Gradient and Hessian (use H' = H + sigma I)			h11=sigma; // numerically ensures strict PD			h22=sigma;			h21=0.0;g1=0.0;g2=0.0;			for (i=0;i<l;i++)			{				fApB = dec_values[i]*A+B;				if (fApB >= 0)				{					p=Math.exp(-fApB)/(1.0+Math.exp(-fApB));					q=1.0/(1.0+Math.exp(-fApB));				}				else				{					p=1.0/(1.0+Math.exp(fApB));					q=Math.exp(fApB)/(1.0+Math.exp(fApB));				}				d2=p*q;				h11+=dec_values[i]*dec_values[i]*d2;				h22+=d2;				h21+=dec_values[i]*d2;				d1=t[i]-p;				g1+=dec_values[i]*d1;				g2+=d1;			}			// Stopping Criteria			if (Math.abs(g1)<eps && Math.abs(g2)<eps)				break;						// Finding Newton direction: -inv(H') * g			det=h11*h22-h21*h21;			dA=-(h22*g1 - h21 * g2) / det;			dB=-(-h21*g1+ h11 * g2) / det;			gd=g1*dA+g2*dB;			stepsize = 1; 		// Line Search			while (stepsize >= min_step)			{				newA = A + stepsize * dA;				newB = B + stepsize * dB;				// New function value				newf = 0.0;				for (i=0;i<l;i++)				{					fApB = dec_values[i]*newA+newB;					if (fApB >= 0)						newf += t[i]*fApB + Math.log(1+Math.exp(-fApB));					else						newf += (t[i] - 1)*fApB +Math.log(1+Math.exp(fApB));				}				// Check sufficient decrease				if (newf<fval+0.0001*stepsize*gd)				{					A=newA;B=newB;fval=newf;					break;				}				else					stepsize = stepsize / 2.0;			}						if (stepsize < min_step)			{				System.err.print("Line search fails in two-class probability estimates\n");				break;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
香蕉久久一区二区不卡无毒影院| 精品一区在线看| 久久精品国产一区二区三 | 精品综合久久久久久8888| 国产传媒欧美日韩成人| 欧美日韩一级二级三级| 国产精品色婷婷久久58| 亚洲精品视频在线看| 国产成人精品网址| 91精品国产综合久久久久久漫画| 国产精品国产a| 国产成人av影院| 欧美日韩成人一区| 亚洲精品乱码久久久久久黑人| 国产成人午夜电影网| 欧美丰满少妇xxxbbb| 亚洲一区二区欧美激情| 91蜜桃免费观看视频| 中文字幕中文字幕在线一区 | 午夜视频在线观看一区二区| 成人午夜大片免费观看| 日韩午夜精品电影| 夜夜嗨av一区二区三区网页| 成人国产精品免费观看| 中文字幕免费一区| 国产精品综合一区二区| 日韩视频一区在线观看| 婷婷久久综合九色国产成人| 欧美三区在线视频| 亚洲手机成人高清视频| 91亚洲精华国产精华精华液| 亚洲人成影院在线观看| 91久久精品网| 日韩欧美一区二区三区在线| 午夜精品国产更新| 欧美日韩久久不卡| 五月婷婷激情综合| 日韩精品一区二区三区四区| 另类欧美日韩国产在线| 久久日韩精品一区二区五区| 狠狠色伊人亚洲综合成人| 欧美不卡一二三| 国产乱一区二区| 国产精品拍天天在线| 99久久婷婷国产综合精品| 亚洲欧美视频一区| 欧美午夜精品久久久久久超碰| 伊人性伊人情综合网| 9191精品国产综合久久久久久| 日本大胆欧美人术艺术动态 | 国产精品自拍一区| 国产清纯白嫩初高生在线观看91 | 岛国一区二区在线观看| 中文字幕欧美激情| 在线观看免费视频综合| 亚洲国产成人porn| 欧美一级电影网站| 国产精品中文字幕一区二区三区| 久久精品亚洲乱码伦伦中文| av激情综合网| 亚洲精品老司机| 精品国产伦一区二区三区观看方式| 精品亚洲成av人在线观看| 亚洲午夜激情网页| 日韩视频一区二区| 成人app在线观看| 亚洲丶国产丶欧美一区二区三区| 91精品国产综合久久久久久漫画| 国产不卡视频在线播放| 亚洲自拍偷拍网站| 久久久精品人体av艺术| 色综合久久中文综合久久牛| 日韩成人一区二区| 国产精品久久久久婷婷二区次| 精品视频免费看| 久国产精品韩国三级视频| 亚洲国产精品高清| 欧美一区二区三区啪啪| 成人激情图片网| 亚洲综合久久久久| 国产精品欧美久久久久无广告| 欧美视频在线观看一区二区| 成人免费看片app下载| 青娱乐精品视频在线| 中文字幕视频一区二区三区久| 欧美一级电影网站| 欧洲一区在线观看| 国产精品99久久久| 丝袜美腿亚洲综合| 亚洲美女视频在线观看| 久久久av毛片精品| 欧美精品久久一区| 丰满亚洲少妇av| 看片的网站亚洲| 一区二区三区在线观看欧美| 2022国产精品视频| 一本大道久久精品懂色aⅴ| 精油按摩中文字幕久久| 日韩精品免费专区| 亚洲v精品v日韩v欧美v专区| 中文字幕在线观看不卡视频| 国产午夜精品久久久久久久| 欧美精品一区视频| 精品日韩av一区二区| 337p亚洲精品色噜噜狠狠| 91久久人澡人人添人人爽欧美| 91亚洲精品久久久蜜桃网站 | 9i在线看片成人免费| 经典三级一区二区| 精品中文字幕一区二区| 久久av资源站| 看电视剧不卡顿的网站| 精品一区二区三区欧美| 免费成人在线播放| 免费观看日韩电影| 蜜臀av一区二区| 一二三区精品视频| 专区另类欧美日韩| 一区二区三区欧美日| 亚洲色图一区二区三区| 一区二区三区四区视频精品免费 | 一区二区三区四区蜜桃| 亚洲欧美日韩中文播放| 亚洲精品国产品国语在线app| 亚洲免费伊人电影| 亚洲一区二区精品3399| 亚洲不卡一区二区三区| 免费亚洲电影在线| 国产久卡久卡久卡久卡视频精品| 国产乱码精品一区二区三| 成人精品一区二区三区中文字幕| 国产不卡视频一区| 91精品福利视频| 欧美日韩国产综合视频在线观看 | 免费国产亚洲视频| 麻豆91精品91久久久的内涵| 午夜精品福利一区二区三区蜜桃| 亚洲午夜激情av| 国内成人免费视频| 99久久综合国产精品| 91国偷自产一区二区三区观看| 欧美在线啊v一区| 日韩一区二区麻豆国产| 久久新电视剧免费观看| 亚洲男人电影天堂| 玖玖九九国产精品| 91在线国产福利| 337p亚洲精品色噜噜狠狠| 国产女主播在线一区二区| 亚洲一区欧美一区| 国产一区美女在线| 色先锋aa成人| 欧美一区三区四区| 亚洲人亚洲人成电影网站色| 日韩高清在线电影| 91免费精品国自产拍在线不卡| 欧美日韩精品福利| 偷拍与自拍一区| 国产一区二区成人久久免费影院| 粉嫩在线一区二区三区视频| 欧美精品一二三区| 国产精品麻豆欧美日韩ww| 亚洲成a人在线观看| 国产一区二区三区免费在线观看| 91麻豆成人久久精品二区三区| 欧美精品123区| 国产精品久久毛片| 天堂av在线一区| 不卡一区中文字幕| 日韩精品中文字幕一区| 国产精品拍天天在线| 激情综合色播激情啊| 欧美色老头old∨ideo| 国产精品久久久久三级| 精品影视av免费| 欧美人与禽zozo性伦| 亚洲欧美日韩国产综合在线 | 成人h精品动漫一区二区三区| 欧美自拍偷拍午夜视频| 久久久国产精品不卡| 午夜精品久久久久影视| 白白色 亚洲乱淫| 6080yy午夜一二三区久久| 亚洲黄色尤物视频| 成人综合在线网站| 国产亚洲人成网站| 精品一区二区三区在线观看 | 91麻豆视频网站| 久久九九影视网| 精品一区二区在线观看| 日韩欧美专区在线| 蜜臀av一区二区在线免费观看| 欧美三日本三级三级在线播放| 亚洲精品五月天| 在线亚洲免费视频| 亚洲免费资源在线播放| 色综合天天综合网天天看片| 亚洲欧洲成人自拍| 99精品黄色片免费大全| 综合自拍亚洲综合图不卡区|