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

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

?? svm.m4

?? SVM是一種常用的模式分類機器學習算法
?? M4
?? 第 1 頁 / 共 5 頁
字號:
				{					if(alpha[i] < 0)					{						alpha[i] = 0;						alpha[j] = sum;					}				}			}			// update G			double delta_alpha_i = alpha[i] - old_alpha_i;			double delta_alpha_j = alpha[j] - old_alpha_j;			for(int k=0;k<active_size;k++)			{				G[k] += Q_i[k]*delta_alpha_i + Q_j[k]*delta_alpha_j;			}			// update alpha_status and G_bar			{				boolean ui = is_upper_bound(i);				boolean uj = is_upper_bound(j);				update_alpha_status(i);				update_alpha_status(j);				int k;				if(ui != is_upper_bound(i))				{					Q_i = Q.get_Q(i,l);					if(ui)						for(k=0;k<l;k++)							G_bar[k] -= C_i * Q_i[k];					else						for(k=0;k<l;k++)							G_bar[k] += C_i * Q_i[k];				}				if(uj != is_upper_bound(j))				{					Q_j = Q.get_Q(j,l);					if(uj)						for(k=0;k<l;k++)							G_bar[k] -= C_j * Q_j[k];					else						for(k=0;k<l;k++)							G_bar[k] += C_j * Q_j[k];				}			}		}		// calculate rho		si.rho = calculate_rho();		// calculate objective value		{			double v = 0;			int i;			for(i=0;i<l;i++)				v += alpha[i] * (G[i] + b[i]);			si.obj = v/2;		}		// put back the solution		{			for(int i=0;i<l;i++)				alpha_[active_set[i]] = alpha[i];		}		si.upper_bound_p = Cp;		si.upper_bound_n = Cn;		System.out.print("\noptimization finished, #iter = "+iter+"\n");	}	// return 1 if already optimal, return 0 otherwise	int select_working_set(int[] working_set)	{		// return i,j such that		// i: maximizes -y_i * grad(f)_i, i in I_up(\alpha)		// j: mimimizes the decrease of obj value		//    (if quadratic coefficeint <= 0, replace it with tau)		//    -y_j*grad(f)_j < -y_i*grad(f)_i, j in I_low(\alpha)				double Gmax = -INF;		double Gmax2 = -INF;		int Gmax_idx = -1;		int Gmin_idx = -1;		double obj_diff_min = INF;			for(int t=0;t<active_size;t++)			if(y[t]==+1)				{				if(!is_upper_bound(t))					if(-G[t] >= Gmax)					{						Gmax = -G[t];						Gmax_idx = t;					}			}			else			{				if(!is_lower_bound(t))					if(G[t] >= Gmax)					{						Gmax = G[t];						Gmax_idx = t;					}			}			int i = Gmax_idx;		Qfloat[] Q_i = null;		if(i != -1) // null Q_i not accessed: Gmax=-INF if i=-1			Q_i = Q.get_Q(i,active_size);			for(int j=0;j<active_size;j++)		{			if(y[j]==+1)			{				if (!is_lower_bound(j))				{					double grad_diff=Gmax+G[j];					if (G[j] >= Gmax2)						Gmax2 = G[j];					if (grad_diff > 0)					{						double obj_diff; 						double quad_coef=Q_i[i]+QD[j]-2*y[i]*Q_i[j];						if (quad_coef > 0)							obj_diff = -(grad_diff*grad_diff)/quad_coef;						else							obj_diff = -(grad_diff*grad_diff)/TAU;							if (obj_diff <= obj_diff_min)						{							Gmin_idx=j;							obj_diff_min = obj_diff;						}					}				}			}			else			{				if (!is_upper_bound(j))				{					double grad_diff= Gmax-G[j];					if (-G[j] >= Gmax2)						Gmax2 = -G[j];					if (grad_diff > 0)					{						double obj_diff; 						double quad_coef=Q_i[i]+QD[j]+2*y[i]*Q_i[j];						if (quad_coef > 0)							obj_diff = -(grad_diff*grad_diff)/quad_coef;						else							obj_diff = -(grad_diff*grad_diff)/TAU;							if (obj_diff <= obj_diff_min)						{							Gmin_idx=j;							obj_diff_min = obj_diff;						}					}				}			}		}		if(Gmax+Gmax2 < eps)			return 1;		working_set[0] = Gmax_idx;		working_set[1] = Gmin_idx;		return 0;	}	// return 1 if already optimal, return 0 otherwise	int max_violating_pair(int[] working_set)	{		// return i,j which maximize -grad(f)^T d , under constraint		// if alpha_i == C, d != +1		// if alpha_i == 0, d != -1		double Gmax1 = -INF;		// max { -y_i * grad(f)_i | i in I_up(\alpha) }		int Gmax1_idx = -1;		int Gmax2_idx = -1;		double Gmax2 = -INF;		// max { y_i * grad(f)_i | i in I_low(\alpha) }		for(int i=0;i<active_size;i++)		{			if(y[i]==+1)	// y = +1			{				if(!is_upper_bound(i))	// d = +1				{					if(-G[i] >= Gmax1)					{						Gmax1 = -G[i];						Gmax1_idx = i;					}				}				if(!is_lower_bound(i))	// d = -1				{					if(G[i] >= Gmax2)					{						Gmax2 = G[i];						Gmax2_idx = i;					}				}			}			else		// y = -1			{				if(!is_upper_bound(i))	// d = +1				{					if(-G[i] >= Gmax2)					{						Gmax2 = -G[i];						Gmax2_idx = i;					}				}				if(!is_lower_bound(i))	// d = -1				{					if(G[i] >= Gmax1)					{						Gmax1 = G[i];						Gmax1_idx = i;					}				}			}		}		if(Gmax1+Gmax2 < eps)	 		return 1;		working_set[0] = Gmax1_idx;		working_set[1] = Gmax2_idx;		return 0;	}	void do_shrinking()	{		int i,j,k;		int[] working_set = new int[2];		if(max_violating_pair(working_set)!=0) return;		i = working_set[0];		j = working_set[1];		double Gm1 = -y[j]*G[j];		double Gm2 = y[i]*G[i];		// shrink			for(k=0;k<active_size;k++)		{			if(is_lower_bound(k))			{				if(y[k]==+1)				{					if(-G[k] >= Gm1) continue;				}				else	if(-G[k] >= Gm2) continue;			}			else if(is_upper_bound(k))			{				if(y[k]==+1)				{					if(G[k] >= Gm2) continue;				}				else	if(G[k] >= Gm1) continue;			}			else continue;			--active_size;			swap_index(k,active_size);			--k;	// look at the newcomer		}		// unshrink, check all variables again before final iterations		if(unshrinked || -(Gm1 + Gm2) > eps*10) return;		unshrinked = true;		reconstruct_gradient();		for(k=l-1;k>=active_size;k--)		{			if(is_lower_bound(k))			{				if(y[k]==+1)				{					if(-G[k] < Gm1) continue;				}				else	if(-G[k] < Gm2) continue;			}			else if(is_upper_bound(k))			{				if(y[k]==+1)				{					if(G[k] < Gm2) continue;				}				else	if(G[k] < Gm1) continue;			}			else continue;			swap_index(k,active_size);			active_size++;			++k;	// look at the newcomer		}	}	double calculate_rho()	{		double r;		int nr_free = 0;		double ub = INF, lb = -INF, sum_free = 0;		for(int i=0;i<active_size;i++)		{			double yG = y[i]*G[i];			if(is_lower_bound(i))			{				if(y[i] > 0)					ub = Math.min(ub,yG);				else					lb = Math.max(lb,yG);			}			else if(is_upper_bound(i))			{				if(y[i] < 0)					ub = Math.min(ub,yG);				else					lb = Math.max(lb,yG);			}			else			{				++nr_free;				sum_free += yG;			}		}		if(nr_free>0)			r = sum_free/nr_free;		else			r = (ub+lb)/2;		return r;	}}//// Solver for nu-svm classification and regression//// additional constraint: e^T \alpha = constant//final class Solver_NU extends Solver{	private SolutionInfo si;	void Solve(int l, QMatrix Q, double[] b, byte[] y,		   double[] alpha, double Cp, double Cn, double eps,		   SolutionInfo si, int shrinking)	{		this.si = si;		super.Solve(l,Q,b,y,alpha,Cp,Cn,eps,si,shrinking);	}	// return 1 if already optimal, return 0 otherwise	int select_working_set(int[] working_set)	{		// return i,j such that y_i = y_j and		// i: maximizes -y_i * grad(f)_i, i in I_up(\alpha)		// j: minimizes the decrease of obj value		//    (if quadratic coefficeint <= 0, replace it with tau)		//    -y_j*grad(f)_j < -y_i*grad(f)_i, j in I_low(\alpha)			double Gmaxp = -INF;		double Gmaxp2 = -INF;		int Gmaxp_idx = -1;			double Gmaxn = -INF;		double Gmaxn2 = -INF;		int Gmaxn_idx = -1;			int Gmin_idx = -1;		double obj_diff_min = INF;			for(int t=0;t<active_size;t++)			if(y[t]==+1)			{				if(!is_upper_bound(t))					if(-G[t] >= Gmaxp)					{						Gmaxp = -G[t];						Gmaxp_idx = t;					}			}			else			{				if(!is_lower_bound(t))					if(G[t] >= Gmaxn)					{						Gmaxn = G[t];						Gmaxn_idx = t;					}			}			int ip = Gmaxp_idx;		int in = Gmaxn_idx;		Qfloat[] Q_ip = null;		Qfloat[] Q_in = null;		if(ip != -1) // null Q_ip not accessed: Gmaxp=-INF if ip=-1			Q_ip = Q.get_Q(ip,active_size);		if(in != -1)			Q_in = Q.get_Q(in,active_size);			for(int j=0;j<active_size;j++)		{			if(y[j]==+1)			{				if (!is_lower_bound(j))					{					double grad_diff=Gmaxp+G[j];					if (G[j] >= Gmaxp2)						Gmaxp2 = G[j];					if (grad_diff > 0)					{						double obj_diff; 						double quad_coef = Q_ip[ip]+QD[j]-2*Q_ip[j];						if (quad_coef > 0)							obj_diff = -(grad_diff*grad_diff)/quad_coef;						else							obj_diff = -(grad_diff*grad_diff)/TAU;							if (obj_diff <= obj_diff_min)						{							Gmin_idx=j;							obj_diff_min = obj_diff;						}					}				}			}			else			{				if (!is_upper_bound(j))				{					double grad_diff=Gmaxn-G[j];					if (-G[j] >= Gmaxn2)						Gmaxn2 = -G[j];					if (grad_diff > 0)					{						double obj_diff; 						double quad_coef = Q_in[in]+QD[j]-2*Q_in[j];						if (quad_coef > 0)							obj_diff = -(grad_diff*grad_diff)/quad_coef;						else							obj_diff = -(grad_diff*grad_diff)/TAU;							if (obj_diff <= obj_diff_min)						{							Gmin_idx=j;							obj_diff_min = obj_diff;						}					}				}			}		}		if(Math.max(Gmaxp+Gmaxp2,Gmaxn+Gmaxn2) < eps) 			return 1;			if(y[Gmin_idx] == +1)			working_set[0] = Gmaxp_idx;		else			working_set[0] = Gmaxn_idx;		working_set[1] = Gmin_idx;			return 0;	}	void do_shrinking()	{		double Gmax1 = -INF;	// max { -y_i * grad(f)_i | y_i = +1, i in I_up(\alpha) }		double Gmax2 = -INF;	// max { y_i * grad(f)_i | y_i = +1, i in I_low(\alpha) }		double Gmax3 = -INF;	// max { -y_i * grad(f)_i | y_i = -1, i in I_up(\alpha) }		double Gmax4 = -INF;	// max { y_i * grad(f)_i | y_i = -1, i in I_low(\alpha) } 		// find maximal violating pair first		int k;		for(k=0;k<active_size;k++)		{			if(!is_upper_bound(k))			{				if(y[k]==+1)				{					if(-G[k] > Gmax1) Gmax1 = -G[k];				}				else	if(-G[k] > Gmax3) Gmax3 = -G[k];			}			if(!is_lower_bound(k))			{				if(y[k]==+1)				{						if(G[k] > Gmax2) Gmax2 = G[k];				}				else	if(G[k] > Gmax4) Gmax4 = G[k];			}		}		// shrinking		double Gm1 = -Gmax2;		double Gm2 = -Gmax1;		double Gm3 = -Gmax4;		double Gm4 = -Gmax3;		for(k=0;k<active_size;k++)		{			if(is_lower_bound(k))			{				if(y[k]==+1)				{					if(-G[k] >= Gm1) continue;				}				else	if(-G[k] >= Gm3) continue;			}			else if(is_upper_bound(k))			{				if(y[k]==+1)				{					if(G[k] >= Gm2) continue;				}				else	if(G[k] >= Gm4) continue;			}			else continue;			--active_size;			swap_index(k,active_size);			--k;	// look at the newcomer		}		// unshrink, check all variables again before final iterations		if(unshrinked || Math.max(-(Gm1+Gm2),-(Gm3+Gm4)) > eps*10) return;			unshrinked = true;		reconstruct_gradient();		for(k=l-1;k>=active_size;k--)		{			if(is_lower_bound(k))			{				if(y[k]==+1)				{					if(-G[k] < Gm1) continue;				}				else	if(-G[k] < Gm3) continue;			}			else if(is_upper_bound(k))			{				if(y[k]==+1)				{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品视频666| 国产精品一区二区无线| 久久欧美一区二区| av激情亚洲男人天堂| 日本中文字幕一区| 中文字幕精品—区二区四季| 欧美艳星brazzers| 精品免费99久久| 亚洲国产激情av| 色综合久久久久综合体桃花网| 日韩va欧美va亚洲va久久| 国产精品白丝在线| 久久久久久久网| 欧美一区二区三区视频免费| 一本色道综合亚洲| 成年人国产精品| 国内成+人亚洲+欧美+综合在线| 三级精品在线观看| 一区二区三区日韩欧美| 中文字幕一区二区三区色视频 | 亚洲狼人国产精品| 久久久久久久综合色一本| 91精品国产一区二区三区香蕉| 色综合天天视频在线观看| 不卡一区二区三区四区| 国产成人精品免费视频网站| 91女神在线视频| 中文字幕欧美激情一区| 一本一道久久a久久精品综合蜜臀| 成人性生交大片免费看在线播放| 毛片一区二区三区| 日韩精品乱码免费| 日本少妇一区二区| 天堂蜜桃91精品| 亚洲图片欧美综合| 亚洲一区二区3| 亚洲精品欧美综合四区| 亚洲日本在线视频观看| **网站欧美大片在线观看| 中文字幕一区不卡| 亚洲少妇30p| 亚洲精品乱码久久久久久| 亚洲综合色婷婷| 肉丝袜脚交视频一区二区| 日本不卡视频一二三区| 麻豆国产一区二区| 国产一区二区精品久久| 国产成人av电影在线播放| 成人一级片网址| 色拍拍在线精品视频8848| 欧美亚洲丝袜传媒另类| 欧美理论在线播放| 精品区一区二区| 国产调教视频一区| 日韩理论片网站| 亚洲国产中文字幕在线视频综合| 亚洲va欧美va国产va天堂影院| 丝袜亚洲另类欧美综合| 精品一区二区三区香蕉蜜桃 | 国产亚洲成aⅴ人片在线观看| 久久精品视频一区二区三区| 欧美激情一区二区三区| 一区二区欧美在线观看| 日韩制服丝袜先锋影音| 国产一区二区在线视频| 99re66热这里只有精品3直播| 欧美日韩一区二区在线观看 | 久久久无码精品亚洲日韩按摩| 久久精品一区二区三区av| 亚洲欧洲成人自拍| 日日摸夜夜添夜夜添国产精品| 精品一区二区三区视频在线观看| 99久久精品情趣| 91精品国产一区二区三区蜜臀 | 18欧美乱大交hd1984| 亚洲自拍偷拍欧美| 国产尤物一区二区在线| 色综合久久中文综合久久97| 欧美一区二区三区婷婷月色| 国产欧美视频一区二区三区| 午夜精品福利一区二区三区av | 国产女主播视频一区二区| 一区二区三区在线免费观看| 经典三级视频一区| 91免费版在线| 精品免费国产一区二区三区四区| 亚洲欧美另类小说| 狠狠色综合色综合网络| 色av成人天堂桃色av| 久久久一区二区| 日韩国产欧美在线观看| 91亚洲精华国产精华精华液| 欧美成人性战久久| 一级日本不卡的影视| 成人永久aaa| 精品成人免费观看| 亚洲第四色夜色| 91麻豆免费在线观看| 久久综合色综合88| 日韩精品成人一区二区三区| av亚洲精华国产精华| www国产成人| 七七婷婷婷婷精品国产| 欧美亚洲自拍偷拍| 中文字幕中文字幕一区| 国产九九视频一区二区三区| 欧美一区二区在线播放| 樱桃国产成人精品视频| 成人美女视频在线看| 欧美videos大乳护士334| 婷婷国产在线综合| 色偷偷88欧美精品久久久| 欧美国产激情一区二区三区蜜月| 久久国产婷婷国产香蕉| 欧美精品在欧美一区二区少妇 | 国产成人综合自拍| 日韩午夜电影av| 无码av中文一区二区三区桃花岛| 色呦呦国产精品| 亚洲人吸女人奶水| 不卡一区二区在线| 一区在线播放视频| 成人国产精品免费网站| 国产视频一区在线观看| 国产一区二区导航在线播放| 精品国产百合女同互慰| 激情综合色播五月| 精品国产乱码久久久久久浪潮| 日韩激情一二三区| 日韩视频免费直播| 久久国产麻豆精品| 精品日韩在线观看| 国产精一区二区三区| 国产色爱av资源综合区| 国产iv一区二区三区| 国产精品乱码人人做人人爱| 成人一级片在线观看| 国产精品白丝在线| 日本丰满少妇一区二区三区| 一区二区免费视频| 欧美精品aⅴ在线视频| 日韩成人dvd| 26uuu色噜噜精品一区二区| 国产麻豆精品视频| 中文字幕精品—区二区四季| 94-欧美-setu| 亚洲一区二区三区四区的 | 91精品国产一区二区三区| 日韩国产精品久久久| 日韩精品一区二区三区在线播放 | 99久久久久久99| 亚洲夂夂婷婷色拍ww47| 欧美日本一区二区三区| 精品一区二区三区免费视频| 久久久久国产精品免费免费搜索| 波多野结衣精品在线| 一区二区三区.www| 91精品国产乱| 国产成人免费视频精品含羞草妖精| 中国av一区二区三区| 在线视频一区二区三| 日日嗨av一区二区三区四区| 久久久久久久久99精品| 色综合天天性综合| 日本伊人精品一区二区三区观看方式| 日韩精品中午字幕| yourporn久久国产精品| 亚洲大尺度视频在线观看| 日韩免费在线观看| 99久久国产综合精品色伊| 亚洲国产视频直播| wwww国产精品欧美| 欧美午夜精品久久久久久孕妇 | 丝袜a∨在线一区二区三区不卡| 欧美大白屁股肥臀xxxxxx| jizz一区二区| 日本欧美韩国一区三区| 中文av一区特黄| 日韩欧美在线综合网| 一本久久综合亚洲鲁鲁五月天| 日韩av网站免费在线| 成人免费在线播放视频| 日韩精品一区在线| 日本韩国视频一区二区| 精品一区二区三区久久| 一区二区三区在线视频免费| 国产丝袜在线精品| 制服丝袜亚洲播放| 99国产精品久久久| 狠狠色丁香久久婷婷综合丁香| 亚洲国产欧美在线人成| 中文字幕欧美区| 欧美变态凌虐bdsm| 欧美日韩精品一区二区| 成人黄色国产精品网站大全在线免费观看 | 精品国产乱码久久久久久免费 | 一区二区三区四区亚洲| 国产性色一区二区| 日韩免费观看高清完整版| 在线欧美日韩国产|