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

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

?? 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));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人午夜视频| 久久久一区二区| 欧美tickling网站挠脚心| 国产精品乱码妇女bbbb| 美腿丝袜在线亚洲一区 | 一区二区三区视频在线看| 日本亚洲电影天堂| 色天天综合久久久久综合片| 精品国产免费一区二区三区四区| 亚洲国产日韩综合久久精品| 高清国产一区二区| 欧美va亚洲va| 午夜成人在线视频| 色悠悠久久综合| 国产日韩欧美综合一区| 免费在线看成人av| 欧美精品亚洲二区| 伊人婷婷欧美激情| 99国产精品久| 中文字幕不卡的av| 国产一区二区三区在线观看精品| 91.com在线观看| 亚洲在线成人精品| 在线视频观看一区| 亚洲免费观看高清完整版在线 | 91丨porny丨最新| 国产精品视频看| 国产成人超碰人人澡人人澡| 精品国产亚洲一区二区三区在线观看| 亚洲成人av电影在线| 欧美影院精品一区| 一区二区三区不卡视频在线观看 | 久久99精品国产麻豆婷婷| 日韩美女视频在线| 日韩国产高清影视| 日韩亚洲国产中文字幕欧美| 蜜臀av一区二区| 日韩一区二区免费在线观看| 日韩精品午夜视频| 欧美成人精品1314www| 激情五月婷婷综合| 久久精品日产第一区二区三区高清版| 麻豆免费精品视频| 久久精品一二三| 成人毛片视频在线观看| 亚洲天堂av一区| 色狠狠综合天天综合综合| 一级女性全黄久久生活片免费| 在线一区二区三区四区| 午夜国产精品一区| 久久综合久久综合亚洲| proumb性欧美在线观看| 一区二区三区四区在线| 欧美一级久久久| 国产精品一区二区x88av| 中文字幕在线免费不卡| 欧洲精品一区二区| 日韩电影在线观看电影| 久久久久久电影| 色国产综合视频| 青青国产91久久久久久| 中文一区在线播放| 欧美天天综合网| 精品一区二区在线视频| 国产精品乱人伦一区二区| 欧洲生活片亚洲生活在线观看| 麻豆精品久久久| 亚洲人一二三区| 欧美成人bangbros| 一本一道波多野结衣一区二区| 日本中文一区二区三区| 中文欧美字幕免费| 制服.丝袜.亚洲.另类.中文| 国产91富婆露脸刺激对白| 一区二区三区自拍| 久久精品一区四区| 欧美日韩国产123区| 成人久久久精品乱码一区二区三区| 亚洲精品免费播放| 国产清纯白嫩初高生在线观看91 | 日本亚洲一区二区| 国产精品久久久久影视| 欧美一区二区三区免费视频| 成人av在线一区二区三区| 视频一区二区国产| ...av二区三区久久精品| 欧美tk丨vk视频| 欧美日韩小视频| 91丨国产丨九色丨pron| 国产成人亚洲综合a∨猫咪| 视频一区欧美日韩| 亚洲一区二区3| 亚洲天堂精品在线观看| 国产亚洲精品资源在线26u| 日韩亚洲欧美中文三级| 欧美视频三区在线播放| 97久久精品人人澡人人爽| 国产呦精品一区二区三区网站| 日韩精品成人一区二区三区 | 午夜影视日本亚洲欧洲精品| 1024精品合集| 国产精品人妖ts系列视频| 久久综合国产精品| 9191久久久久久久久久久| 在线欧美日韩国产| 色综合中文字幕| 不卡av在线网| 成人app在线观看| 成人一区在线看| 国产成人三级在线观看| 狠狠久久亚洲欧美| 久久av中文字幕片| 久久国产精品露脸对白| 精品影院一区二区久久久| 毛片av一区二区| 另类综合日韩欧美亚洲| 九九**精品视频免费播放| 美国十次综合导航| 久久电影网电视剧免费观看| 久久se这里有精品| 国产精品一区专区| 成人美女在线观看| 91免费国产视频网站| 一本大道av一区二区在线播放| 99re成人在线| 欧美日韩欧美一区二区| 欧美一级国产精品| 欧美va亚洲va国产综合| 国产欧美精品区一区二区三区| 欧美国产激情二区三区| 最新成人av在线| 亚洲一区中文日韩| 青青草原综合久久大伊人精品优势| 捆绑变态av一区二区三区| 国内欧美视频一区二区| 成人免费高清在线| 在线一区二区三区做爰视频网站| 精品视频在线免费观看| 日韩视频免费观看高清在线视频| 亚洲精品一区二区三区影院| 久久久亚洲精华液精华液精华液| 国产精品丝袜在线| 亚洲成a人v欧美综合天堂下载 | 日韩欧美一二区| 久久精品无码一区二区三区| 亚洲人成精品久久久久| 日本午夜一区二区| 粉嫩嫩av羞羞动漫久久久| 91蜜桃网址入口| 欧美一区二区三区视频免费播放 | 亚洲另类色综合网站| 午夜av电影一区| 国产精品69毛片高清亚洲| 一本大道久久a久久精品综合| 日韩一区二区三区视频| 日韩一区在线看| 久久国产视频网| 一本大道综合伊人精品热热| 日韩免费高清电影| 亚洲自拍另类综合| 粉嫩av一区二区三区在线播放| 欧美性生活大片视频| 久久精品欧美一区二区三区不卡| 亚洲午夜视频在线| 国产盗摄视频一区二区三区| 欧美日韩在线精品一区二区三区激情| 久久精品一二三| 日本大胆欧美人术艺术动态 | 一区二区三区在线视频播放| 精品一区二区三区视频在线观看 | 国产69精品久久久久777| 在线观看日韩精品| 国产精品私人自拍| 精品在线免费视频| 欧美日韩国产美| 亚洲六月丁香色婷婷综合久久| 国产乱对白刺激视频不卡| 欧美一区二区三区色| 亚洲国产精品精华液网站| 99久久久久久| 中文字幕精品一区二区精品绿巨人| 蜜臀av性久久久久蜜臀av麻豆| 在线观看国产日韩| 国产精品成人免费在线| 国产一区福利在线| 精品国产乱码91久久久久久网站| 亚洲国产另类精品专区| 在线精品视频小说1| 亚洲精品免费在线| 91天堂素人约啪| 亚洲欧洲av一区二区三区久久| 国产精品一区二区三区99| wwww国产精品欧美| 国产一区二区三区观看| 欧美精品一区二区高清在线观看| 人人狠狠综合久久亚洲| 日韩精品自拍偷拍| 激情综合色播五月| 国产亚洲欧洲一区高清在线观看| 日本不卡高清视频|