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

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

?? pr_loqo.c

?? 用matlab實現支持向量機的程序,歡迎大家提出寶貴意見
?? 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一区二区三区免费野_久草精品视频
国产成人自拍网| 一区二区三区视频在线看| 色8久久人人97超碰香蕉987| 国产曰批免费观看久久久| 丝袜美腿亚洲一区二区图片| 日韩精品一区第一页| 亚洲国产成人av| 爽爽淫人综合网网站| 日韩av一区二区在线影视| 视频在线在亚洲| 免费在线看一区| 精品一区二区三区久久| 蜜桃91丨九色丨蝌蚪91桃色| 久国产精品韩国三级视频| 国内成人自拍视频| 国产米奇在线777精品观看| 丰满岳乱妇一区二区三区| 成人自拍视频在线| 色先锋aa成人| 欧美一区二区成人6969| 久久女同性恋中文字幕| 国产精品毛片久久久久久久| 亚洲激情图片qvod| 婷婷成人激情在线网| 日精品一区二区| 国产精品一区二区你懂的| 粉嫩绯色av一区二区在线观看| 91香蕉视频污在线| 欧美一区二区在线视频| 亚洲国产高清aⅴ视频| 亚洲欧美日韩国产综合| 久久精品国产99国产| 成人av在线资源网站| 欧美午夜片在线观看| 久久久久久久电影| 一区二区三区在线影院| 精品一区二区三区在线播放 | 日本免费新一区视频| 国产精品123| 色88888久久久久久影院野外| 91免费在线看| 欧美精品黑人性xxxx| 成人av在线一区二区| 欧美日韩另类一区| 欧美国产国产综合| 婷婷综合久久一区二区三区| 成人午夜电影网站| 欧美电影在哪看比较好| 国产精品久久精品日日| 久久国内精品视频| 欧美无砖砖区免费| 亚洲欧洲成人av每日更新| 美女精品自拍一二三四| 在线免费观看一区| 亚洲人成网站色在线观看| 国产在线不卡视频| 日韩一区二区免费在线观看| 亚洲资源中文字幕| 成人免费福利片| 欧美精品一区二区不卡 | 美女国产一区二区三区| 99国产欧美另类久久久精品| 欧美变态凌虐bdsm| 日韩成人一区二区三区在线观看| 97久久超碰国产精品| 国产无一区二区| 久久精品国产第一区二区三区| 色婷婷久久久综合中文字幕| 中文字幕va一区二区三区| 国产乱一区二区| 欧美不卡在线视频| 精品一区二区在线播放| 91精品欧美福利在线观看| 亚洲专区一二三| 欧美性高清videossexo| 亚洲一级二级三级| 欧美日韩精品一区二区三区| 一区二区在线观看视频在线观看| 91国偷自产一区二区三区成为亚洲经典| 亚洲国产高清aⅴ视频| 国产高清在线精品| 亚洲美女精品一区| 午夜欧美电影在线观看| 五月激情丁香一区二区三区| 久久国产剧场电影| 欧美熟乱第一页| 2023国产精品| 日韩成人午夜电影| av电影在线观看不卡| 2017欧美狠狠色| 久久久无码精品亚洲日韩按摩| 欧美激情一区三区| 99国产一区二区三精品乱码| 亚洲国产乱码最新视频| 欧美日本在线播放| 久久99国产精品麻豆| 国产成人精品综合在线观看| 久久嫩草精品久久久久| 成人在线视频首页| 亚洲色图.com| 欧美精品九九99久久| 看电影不卡的网站| 国产色婷婷亚洲99精品小说| 99精品在线观看视频| 午夜在线成人av| 久久这里只有精品6| 91小视频免费观看| 免费成人在线观看视频| 国产精品网站在线观看| 欧美日韩午夜精品| 国产成人午夜片在线观看高清观看| 中文字幕一区不卡| 欧美一区二区网站| av电影天堂一区二区在线观看| 日日摸夜夜添夜夜添亚洲女人| 久久精品亚洲一区二区三区浴池| 色综合久久综合| 久久99精品网久久| 一区二区三区精品视频在线| 久久这里只有精品首页| 欧美日韩视频专区在线播放| 丁香另类激情小说| 麻豆中文一区二区| 亚洲自拍偷拍麻豆| 国产精品久久久久久久久久久免费看| 欧美日韩二区三区| 99久久国产综合精品色伊| 韩国一区二区三区| 天堂资源在线中文精品| 国产精品国产三级国产有无不卡 | 亚洲成人av福利| 国产精品青草久久| 日韩一区二区三区精品视频| 在线欧美日韩国产| 91天堂素人约啪| 成人精品鲁一区一区二区| 毛片一区二区三区| 热久久一区二区| 亚洲va欧美va国产va天堂影院| 亚洲色大成网站www久久九九| 国产欧美视频一区二区| 欧美mv和日韩mv国产网站| 欧美色精品天天在线观看视频| 91影院在线观看| 成人aaaa免费全部观看| 丁香亚洲综合激情啪啪综合| 国产在线精品一区在线观看麻豆| 蜜臀av亚洲一区中文字幕| 午夜久久久影院| 亚洲mv大片欧洲mv大片精品| 亚洲一区二区av在线| 亚洲精品国产a久久久久久| 亚洲精品菠萝久久久久久久| 亚洲丝袜自拍清纯另类| 亚洲丝袜自拍清纯另类| 一区二区三区四区高清精品免费观看 | 麻豆国产欧美日韩综合精品二区| 亚洲二区在线观看| 午夜精品福利久久久| 亚洲国产欧美一区二区三区丁香婷| 亚洲色图.com| 婷婷开心久久网| 日韩av电影天堂| 国模一区二区三区白浆| 国产一区不卡精品| www.成人网.com| 欧美在线综合视频| 91精品婷婷国产综合久久| 欧美一区二区视频在线观看2020 | 国产一区二区在线影院| 国产呦萝稀缺另类资源| 国产91丝袜在线播放| 播五月开心婷婷综合| 91同城在线观看| 91精品国产一区二区人妖| 2021国产精品久久精品| 中文字幕一区二区三区在线播放 | 成人小视频免费在线观看| 成人动漫中文字幕| 91成人免费在线| 精品美女一区二区| 1024成人网| 日本免费新一区视频 | 夜夜嗨av一区二区三区| 三级不卡在线观看| 国产成人综合精品三级| 欧美性色黄大片| 国产亚洲女人久久久久毛片| ㊣最新国产の精品bt伙计久久| 图片区日韩欧美亚洲| 成人av在线一区二区| 欧美一区二区三区色| 国产精品国产馆在线真实露脸 | 一区二区激情小说| 韩国一区二区三区| 欧美体内she精高潮| 国产亚洲综合av| 日韩经典中文字幕一区| 成人夜色视频网站在线观看| 日韩西西人体444www|