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

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

?? pr_loqo.c

?? 支持向量機C++源碼
?? 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));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线亚洲免费视频| 精品久久久久久久久久久久包黑料 | 在线观看免费一区| 久久se精品一区二区| 亚洲综合免费观看高清在线观看| 精品欧美乱码久久久久久1区2区| 一本高清dvd不卡在线观看| 国产精品影视网| 日本vs亚洲vs韩国一区三区| 一区二区三国产精华液| 日本一区二区综合亚洲| 日韩欧美电影在线| 欧美日韩成人综合在线一区二区 | 欧美老肥妇做.爰bbww| 97国产一区二区| 成人午夜精品在线| 久久精品72免费观看| 天堂久久久久va久久久久| 亚洲欧美激情小说另类| 中文一区在线播放| 久久蜜臀中文字幕| 久久久久久久久一| 久久这里只精品最新地址| 日韩欧美中文字幕公布| 欧美日韩dvd在线观看| 欧美日韩亚洲丝袜制服| 欧美午夜在线观看| 欧美色综合天天久久综合精品| 94-欧美-setu| 色综合久久中文综合久久97| 成a人片国产精品| 9色porny自拍视频一区二区| youjizz久久| 91亚洲精品乱码久久久久久蜜桃| 成人av在线一区二区| 成人免费毛片app| 粉嫩绯色av一区二区在线观看| 国产成人免费视| 国产精品一区二区果冻传媒| 国产一区欧美二区| 成人永久免费视频| 99r精品视频| 欧美在线制服丝袜| 欧美色倩网站大全免费| 在线不卡a资源高清| 欧美一区午夜精品| 精品国产区一区| www国产成人| 中文字幕免费不卡| 亚洲男人的天堂一区二区| 一区二区免费视频| 日韩成人午夜电影| 国产在线不卡一区| 99久久久无码国产精品| 欧美性生活影院| 久久色.com| 亚洲欧美在线另类| 亚洲国产成人av| 精品一区二区三区蜜桃| 懂色av一区二区三区蜜臀| 日本精品一级二级| 在线不卡免费欧美| 国产日产欧美一区二区三区 | 久久精品国产成人一区二区三区| 国产呦精品一区二区三区网站| 成人性生交大片免费看在线播放| 99国产精品久久久久久久久久 | 国产精品久久久久一区二区三区共| 国产精品电影一区二区三区| 一区二区三区蜜桃网| 久久se这里有精品| 99riav一区二区三区| 欧美一区二区三区色| 中文字幕乱码亚洲精品一区| 亚洲一区二区三区免费视频| 久久精品国产免费| 一本色道亚洲精品aⅴ| 日韩欧美精品在线| 亚洲女爱视频在线| 激情综合网av| 日本道色综合久久| 久久婷婷国产综合国色天香| 亚洲五码中文字幕| 国产成+人+日韩+欧美+亚洲| 欧美日韩不卡一区二区| 国产精品久久久久婷婷二区次| 日韩中文欧美在线| 不卡av电影在线播放| 欧美一区二区视频在线观看2022 | 久久99九九99精品| 一本大道久久a久久综合| 日韩欧美国产电影| 亚洲在线视频免费观看| 成人免费毛片app| 日韩一区二区不卡| 亚洲一二三级电影| 成人精品免费网站| 精品久久人人做人人爽| 亚洲第一会所有码转帖| 波多野洁衣一区| 久久先锋影音av鲁色资源网| 亚洲成人精品一区二区| 99在线精品观看| 国产日本亚洲高清| 蜜桃一区二区三区在线| 欧美日韩一区二区三区四区五区| 中文字幕一区二区三区四区| 国产一区不卡在线| 日韩欧美国产成人一区二区| 午夜精品久久久久久| 色综合久久中文综合久久97| 国产精品全国免费观看高清| 激情图区综合网| 91精品国产欧美日韩| 午夜久久久影院| 色噜噜久久综合| 中文字幕在线观看一区| 成人黄色电影在线| 久久精品亚洲精品国产欧美kt∨| 精品一区二区三区免费毛片爱| 91精品国产综合久久久久| 一区二区三区日本| 色琪琪一区二区三区亚洲区| 综合色天天鬼久久鬼色| 99re视频精品| 亚洲伦在线观看| 91日韩精品一区| 成人欧美一区二区三区在线播放| 成人免费毛片app| 中文字幕字幕中文在线中不卡视频| 粉嫩13p一区二区三区| 久久久亚洲欧洲日产国码αv| 国产一区二区三区综合| 国产欧美一区二区精品性色超碰| 国产一区福利在线| 久久精品视频一区二区三区| 国产黑丝在线一区二区三区| 亚洲尤物在线视频观看| 色狠狠桃花综合| 亚洲va欧美va国产va天堂影院| 欧美日韩一级片网站| 日产精品久久久久久久性色| 日韩欧美一区二区久久婷婷| 久久se这里有精品| 国产调教视频一区| 成人av在线一区二区三区| 亚洲欧洲日韩女同| 在线欧美小视频| 午夜国产精品一区| 精品国产乱码久久久久久免费| 国产精品1区2区3区| 国产精品久久久久久久久久久免费看| 99视频精品全部免费在线| 依依成人精品视频| 91精品在线一区二区| 韩国女主播成人在线| 国产欧美日韩综合精品一区二区 | 日韩女同互慰一区二区| 国产高清视频一区| 亚洲欧美视频一区| 欧美视频在线观看一区| 久久99国产精品免费网站| 中文字幕国产一区| 在线观看av一区二区| 丝袜亚洲另类丝袜在线| 337p粉嫩大胆噜噜噜噜噜91av| 国产福利91精品| 一区二区三区中文字幕精品精品| 91精品国产欧美日韩| 国产91露脸合集magnet| 亚洲在线视频网站| 精品国产电影一区二区| 99re热这里只有精品免费视频| 日韩va欧美va亚洲va久久| 日本一区二区电影| 这里只有精品电影| 丁香亚洲综合激情啪啪综合| 亚洲国产精品一区二区久久| 亚洲精品一区二区三区四区高清 | 色综合久久精品| 久草中文综合在线| 亚洲激情av在线| 精品国产伦理网| 欧美网站大全在线观看| 国产尤物一区二区在线| 一二三区精品视频| 欧美精品一区在线观看| 欧美日韩一二区| 国产福利电影一区二区三区| 日韩在线一区二区| 自拍偷自拍亚洲精品播放| 精品日本一线二线三线不卡| 欧洲精品在线观看| 成人一区二区三区在线观看| 日韩国产欧美视频| 亚洲精品视频在线观看网站| 久久蜜桃香蕉精品一区二区三区| 欧美日韩国产123区| av不卡在线观看| 国产成人自拍高清视频在线免费播放|