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

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

?? pr_loqo.c

?? 用MATLAB編寫的svm源程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * File:        pr_loqo.c * Purpose:     solves quadratic programming problem for pattern recognition *              for support vectors * * Author:      Alex J. Smola * Created:     10/14/97 * Updated:     11/08/97 * Updated:     13/08/98 (removed exit(1) as it crashes svm lite when the margin *                        in a not sufficiently conservative manner) * *  * Copyright (c) 1997  GMD Berlin - All rights reserved * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE of GMD Berlin * The copyright notice above does not evidence any * actual or intended publication of this work. * * Unauthorized commercial use of this software is not allowed */#include <math.h>#include <time.h>#include <stdlib.h>#include <stdio.h>#include "pr_loqo.h"#define	max(A, B)	((A) > (B) ? (A) : (B))#define	min(A, B)	((A) < (B) ? (A) : (B))#define sqr(A)          ((A) * (A))#define	ABS(A)  	((A) > 0 ? (A) : (-(A)))#define PREDICTOR 1#define CORRECTOR 2/*****************************************************************  replace this by any other function that will exit gracefully  in a larger system  ***************************************************************/void nrerror(char error_text[]){  printf("ERROR: terminating optimizer - %s\n", error_text);  /* exit(1); */}/*****************************************************************   taken from numerical recipes and modified to accept pointers   moreover numerical recipes code seems to be buggy (at least the   ones on the web)   cholesky solver and backsubstitution   leaves upper right triangle intact (rows first order)   ***************************************************************/void choldc(double a[], int n, double p[]){  void nrerror(char error_text[]);  int i, j, k;  double sum;  for (i = 0; i < n; i++){    for (j = i; j < n; j++) {      sum=a[n*i + j];      for (k=i-1; k>=0; k--) sum -= a[n*i + k]*a[n*j + k];      if (i == j) {	if (sum <= 0.0) {	  nrerror("choldc failed, matrix not positive definite");	  sum = 0.0;	}	p[i]=sqrt(sum);      } else a[n*j + i] = sum/p[i];    }  }}void cholsb(double a[], int n, double p[], double b[], double x[]){  int i, k;  double sum;  for (i=0; i<n; i++) {    sum=b[i];    for (k=i-1; k>=0; k--) sum -= a[n*i + k]*x[k];    x[i]=sum/p[i];  }  for (i=n-1; i>=0; i--) {    sum=x[i];    for (k=i+1; k<n; k++) sum -= a[n*k + i]*x[k];    x[i]=sum/p[i];  }}/*****************************************************************  sometimes we only need the forward or backward pass of the  backsubstitution, hence we provide these two routines separately   ***************************************************************/void chol_forward(double a[], int n, double p[], double b[], double x[]){  int i, k;  double sum;  for (i=0; i<n; i++) {    sum=b[i];    for (k=i-1; k>=0; k--) sum -= a[n*i + k]*x[k];    x[i]=sum/p[i];  }}void chol_backward(double a[], int n, double p[], double b[], double x[]){  int i, k;  double sum;  for (i=n-1; i>=0; i--) {    sum=b[i];    for (k=i+1; k<n; k++) sum -= a[n*k + i]*x[k];    x[i]=sum/p[i];  }}/*****************************************************************  solves the system | -H_x A' | |x_x| = |c_x|                    |  A   H_y| |x_y|   |c_y|  with H_x (and H_y) positive (semidefinite) matrices  and n, m the respective sizes of H_x and H_y  for variables see pg. 48 of notebook or do the calculations on a  sheet of paper again  predictor solves the whole thing, corrector assues that H_x didn't  change and relies on the results of the predictor. therefore do  _not_ modify workspace  if you want to speed tune anything in the code here's the right  place to do so: about 95% of the time is being spent in  here. something like an iterative refinement would be nice,  especially when switching from double to single precision. if you  have a fast parallel cholesky use it instead of the numrec  implementations.  side effects: changes H_y (but this is just the unit matrix or zero anyway  in our case)  ***************************************************************/void solve_reduced(int n, int m, double h_x[], double h_y[], 		   double a[], double x_x[], double x_y[],		   double c_x[], double c_y[],		   double workspace[], int step){  int i,j,k;  double *p_x;  double *p_y;  double *t_a;  double *t_c;  double *t_y;  p_x = workspace;		/* together n + m + n*m + n + m = n*(m+2)+2*m */  p_y = p_x + n;  t_a = p_y + m;  t_c = t_a + n*m;  t_y = t_c + n;  if (step == PREDICTOR) {    choldc(h_x, n, p_x);	/* do cholesky decomposition */    for (i=0; i<m; i++)         /* forward pass for A' */      chol_forward(h_x, n, p_x, a+i*n, t_a+i*n);				    for (i=0; i<m; i++)         /* compute (h_y + a h_x^-1A') */      for (j=i; j<m; j++)	for (k=0; k<n; k++) 	  h_y[m*i + j] += t_a[n*j + k] * t_a[n*i + k];				    choldc(h_y, m, p_y);	/* and cholesky decomposition */  }    chol_forward(h_x, n, p_x, c_x, t_c);				/* forward pass for c */  for (i=0; i<m; i++) {		/* and solve for x_y */    t_y[i] = c_y[i];    for (j=0; j<n; j++)      t_y[i] += t_a[i*n + j] * t_c[j];  }  cholsb(h_y, m, p_y, t_y, x_y);  for (i=0; i<n; i++) {		/* finally solve for x_x */    t_c[i] = -t_c[i];    for (j=0; j<m; j++)      t_c[i] += t_a[j*n + i] * x_y[j];  }  chol_backward(h_x, n, p_x, t_c, x_x);}/*****************************************************************  matrix vector multiplication (symmetric matrix but only one triangle  given). computes m*x = y  no need to tune it as it's only of O(n^2) but cholesky is of  O(n^3). so don't waste your time _here_ although it isn't very  elegant.   ***************************************************************/void matrix_vector(int n, double m[], double x[], double y[]){  int i, j;  for (i=0; i<n; i++) {    y[i] = m[(n+1) * i] * x[i];    for (j=0; j<i; j++)      y[i] += m[i + n*j] * x[j];    for (j=i+1; j<n; j++)       y[i] += m[n*i + j] * x[j];   }}/*****************************************************************  call only this routine; this is the only one you're interested in  for doing quadratical optimization  the restart feature exists but it may not be of much use due to the  fact that an initial setting, although close but not very close the  the actual solution will result in very good starting diagnostics  (primal and dual feasibility and small infeasibility gap) but incur  later stalling of the optimizer afterwards as we have to enforce  positivity of the slacks.  ***************************************************************/int pr_loqo(int n, int m, double c[], double h_x[], double a[], double b[],	    double l[], double u[], double primal[], double dual[], 	    int verb, double sigfig_max, int counter_max, 	    double margin, double bound, int restart) {  /* the knobs to be tuned ... */  /* double margin = -0.95;	   we will go up to 95% of the				   distance between old variables and zero */  /* double bound = 10;		   preset value for the start. small				   values give good initial				   feasibility but may result in slow				   convergence afterwards: we're too				   close to zero */  /* to be allocated */  double *workspace;  double *diag_h_x;  double *h_y;  double *c_x;  double *c_y;  double *h_dot_x;  double *rho;  double *nu;  double *tau;  double *sigma;  double *gamma_z;  double *gamma_s;    double *hat_nu;  double *hat_tau;  double *delta_x;  double *delta_y;  double *delta_s;  double *delta_z;  double *delta_g;  double *delta_t;  double *d;  /* from the header - pointers into primal and dual */  double *x;  double *y;  double *g;  double *z;  double *s;  double *t;    /* auxiliary variables */  double b_plus_1;  double c_plus_1;  double x_h_x;  double primal_inf;  double dual_inf;  double sigfig;  double primal_obj, dual_obj;  double mu;  double alfa, step;  int counter = 0;  int status = STILL_RUNNING;  int i,j,k;  /* memory allocation */  workspace = malloc((n*(m+2)+2*m)*sizeof(double));  diag_h_x  = malloc(n*sizeof(double));  h_y       = malloc(m*m*sizeof(double));  c_x       = malloc(n*sizeof(double));  c_y       = malloc(m*sizeof(double));  h_dot_x   = malloc(n*sizeof(double));  rho       = malloc(m*sizeof(double));  nu        = malloc(n*sizeof(double));

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日本一区二区三区| 欧美精品日韩综合在线| 久久久久国产成人精品亚洲午夜| 国产专区欧美精品| 欧美激情一区在线| 色综合视频一区二区三区高清| 亚洲综合成人在线视频| 欧美日本不卡视频| 捆绑调教美女网站视频一区| 久久久www成人免费毛片麻豆| 国产精品一区二区三区99| 国产精品久久久久久久久晋中 | 久久亚洲欧美国产精品乐播| 国产一区二区0| 亚洲欧美日韩国产成人精品影院| 欧美日韩国产综合视频在线观看| 蜜桃一区二区三区在线观看| 国产无遮挡一区二区三区毛片日本| 成人精品一区二区三区四区| 亚洲国产日韩a在线播放| 日韩一区二区免费高清| 粉嫩一区二区三区在线看| 亚洲激情男女视频| 欧美一区二视频| 国产91精品一区二区麻豆亚洲| 亚洲精品第一国产综合野| 56国语精品自产拍在线观看| 成人高清视频在线| 婷婷成人激情在线网| 亚洲国产精品ⅴa在线观看| 欧美日韩综合在线免费观看| 国产精品1区2区3区在线观看| 亚洲一区二区三区四区在线免费观看 | 色婷婷激情综合| 麻豆国产一区二区| 亚洲欧美日韩国产成人精品影院| 日韩欧美精品在线视频| 91啪亚洲精品| 精品一区二区综合| 免费在线观看不卡| 国产精品久久久久久久午夜片| 5月丁香婷婷综合| 99国产精品一区| 国产制服丝袜一区| 亚洲成人精品影院| 欧美激情一区二区三区蜜桃视频| 欧美美女一区二区在线观看| 国产不卡视频在线播放| 日韩电影在线观看网站| 自拍视频在线观看一区二区| 久久婷婷国产综合国色天香| 欧美三级中文字幕在线观看| 成人h版在线观看| 精品影院一区二区久久久| 亚洲一区二区三区中文字幕在线| 国产精品美女久久久久高潮| 欧美videos中文字幕| 欧美色涩在线第一页| 大尺度一区二区| 国产一区美女在线| 久久69国产一区二区蜜臀| 亚洲成人午夜影院| 亚洲伦理在线免费看| 亚洲欧洲日产国产综合网| 久久人人97超碰com| 精品少妇一区二区三区在线播放 | 亚洲人成在线播放网站岛国| 久久精品一区二区三区av| 日韩欧美激情四射| 欧美日韩精品三区| 欧美日韩午夜在线| 欧美视频一区二| 91久久精品一区二区二区| 99v久久综合狠狠综合久久| 不卡的av电影| av电影在线观看不卡| 99精品久久99久久久久| 成人av网址在线| 成人一级片在线观看| 成人免费视频一区二区| 成人亚洲一区二区一| 豆国产96在线|亚洲| 成人国产免费视频| 成人黄色电影在线| 91免费版pro下载短视频| 波多野结衣中文字幕一区 | 亚洲高清免费视频| 亚洲国产精品久久一线不卡| 亚洲午夜私人影院| 亚洲bt欧美bt精品777| 偷拍与自拍一区| 蜜臀久久99精品久久久画质超高清| 免费看欧美女人艹b| 黄一区二区三区| 国产精品一区在线观看乱码| 高清不卡一区二区在线| 99久精品国产| 欧美三级在线视频| 日韩精品最新网址| 国产女人水真多18毛片18精品视频| 国产精品久久看| 有坂深雪av一区二区精品| 国内精品不卡在线| 成人小视频在线| 在线观看亚洲精品| 日韩欧美一二三四区| 久久久精品免费观看| 亚洲精选视频在线| 日产欧产美韩系列久久99| 国内不卡的二区三区中文字幕| 高清免费成人av| 欧美在线观看18| 日韩你懂的电影在线观看| 国产欧美精品区一区二区三区| 亚洲欧美aⅴ...| 日本美女一区二区三区视频| 成人黄色国产精品网站大全在线免费观看| 色综合色综合色综合| 精品女同一区二区| 日韩美女啊v在线免费观看| 日本 国产 欧美色综合| 激情图区综合网| 日本久久一区二区| 久久亚洲欧美国产精品乐播 | 色狠狠桃花综合| 91精品国产综合久久精品app| 日本一区二区三区在线不卡| 一区二区在线观看不卡| 国产一区二区在线看| 91久久精品一区二区二区| 久久欧美一区二区| 香蕉加勒比综合久久| 99在线精品观看| 久久综合色之久久综合| 三级欧美在线一区| 暴力调教一区二区三区| 日韩美女视频一区二区在线观看| 亚洲乱码日产精品bd| 国产黄色91视频| 91精品国产黑色紧身裤美女| 一区二区三区自拍| 成人午夜激情片| 精品国产免费久久| 亚洲成av人**亚洲成av**| 99国产精品久久久久久久久久久| 精品伦理精品一区| 亚洲一区二区精品3399| 一本色道a无线码一区v| 国产人成亚洲第一网站在线播放| 免费人成在线不卡| 欧美日韩视频在线观看一区二区三区| 中文字幕中文在线不卡住| 国产精品一级二级三级| 欧美成人在线直播| 日韩中文欧美在线| 欧美日韩精品欧美日韩精品 | 三级久久三级久久| 91国在线观看| 亚洲免费在线看| 成人av网站免费观看| 国产欧美精品一区二区三区四区 | 99精品国产视频| 国产精品日韩精品欧美在线| 国内久久婷婷综合| 精品国产一区二区国模嫣然| 免费久久99精品国产| 8x8x8国产精品| 午夜精品久久久久久久久久久 | jvid福利写真一区二区三区| 久久这里只有精品6| 国产一区不卡在线| 精品国产青草久久久久福利| 美女被吸乳得到大胸91| 欧美一级黄色片| 精品一区二区三区免费毛片爱| 日韩精品一区二区三区在线播放| 麻豆国产精品官网| 久久伊人蜜桃av一区二区| 国产精品一区二区你懂的| 国产欧美日韩激情| 99亚偷拍自图区亚洲| 一区二区国产视频| 欧美久久久久久蜜桃| 蜜桃91丨九色丨蝌蚪91桃色| 精品国产91洋老外米糕| 国产精品69久久久久水密桃| 亚洲视频一区在线| 精品婷婷伊人一区三区三| 蜜臀久久久99精品久久久久久| www一区二区| 99久久99久久精品免费看蜜桃| 亚洲午夜精品在线| 日韩精品中午字幕| 国产精品一区二区在线看| 自拍偷拍亚洲综合| 欧美乱熟臀69xxxxxx| 狠狠网亚洲精品| 亚洲精品亚洲人成人网| 91精品国产品国语在线不卡| 国产精品一色哟哟哟|