亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品福利av导航| 亚洲欧美综合色| 91黄色免费版| 国产剧情av麻豆香蕉精品| 亚洲精品视频在线看| 欧美精品一区二区三区在线播放| 91在线精品一区二区| 国内精品嫩模私拍在线| 亚洲欧美成aⅴ人在线观看| 精品国产三级a在线观看| 91女厕偷拍女厕偷拍高清| 韩国精品在线观看| 天涯成人国产亚洲精品一区av| ●精品国产综合乱码久久久久| 日韩女优毛片在线| 欧美美女黄视频| 91久久精品网| 99re成人在线| 国产ts人妖一区二区| 黄网站免费久久| 美国十次综合导航| 五月天欧美精品| 一区二区三区四区不卡在线| 国产精品久久久爽爽爽麻豆色哟哟 | 韩国毛片一区二区三区| 欧美aa在线视频| 日韩精品一级二级| 亚洲成人自拍偷拍| 亚洲五码中文字幕| 亚洲最色的网站| 亚洲另类一区二区| 亚洲美女免费视频| 亚洲视频每日更新| 亚洲天堂中文字幕| 国产精品国产三级国产有无不卡| 久久精品视频一区| 久久综合色之久久综合| 精品捆绑美女sm三区| 日韩欧美一级二级| 欧美不卡一区二区三区四区| 日韩三级视频在线看| 51久久夜色精品国产麻豆| 欧美久久免费观看| 91麻豆精品国产91久久久资源速度| 欧美三级电影一区| 欧美日韩高清一区二区三区| 56国语精品自产拍在线观看| 欧美一区二区在线视频| 日韩一区二区三区视频在线| 精品国偷自产国产一区| 国产欧美日韩在线| 国产精品视频在线看| 亚洲欧美综合在线精品| 亚洲一区二区美女| 日韩成人av影视| 黄色精品一二区| 东方aⅴ免费观看久久av| 99久久精品免费精品国产| 欧美在线一区二区| 日韩一区二区电影在线| 久久这里只有精品视频网| 国产精品久久久久久户外露出| 亚洲欧洲日产国码二区| 亚洲成人综合在线| 狠狠色综合日日| 91在线观看地址| 91精品国产麻豆| 国产欧美精品一区二区三区四区| 最新欧美精品一区二区三区| 亚洲综合一区在线| 美女国产一区二区| 99这里只有久久精品视频| 91麻豆精品国产91久久久久久| 精品国精品国产| 亚洲美女在线一区| 日本aⅴ亚洲精品中文乱码| 国产盗摄精品一区二区三区在线| 91美女片黄在线观看91美女| 51精品视频一区二区三区| 久久久精品免费网站| 亚洲一区在线观看视频| 国产又粗又猛又爽又黄91精品| 9l国产精品久久久久麻豆| 欧美一区二区三区系列电影| 国产精品久久久久天堂| 蜜桃视频一区二区三区在线观看| 国产成人亚洲精品青草天美| 欧美日韩在线播放三区四区| 久久久国产午夜精品| 午夜精品在线看| 国产91精品一区二区麻豆亚洲| 91福利资源站| 国产精品网站在线播放| 美女一区二区视频| 色婷婷精品久久二区二区蜜臀av| 日韩一级免费观看| 亚洲色图色小说| 国产一区美女在线| 91精品欧美久久久久久动漫 | 国产精品1区二区.| 欧美日韩一区二区在线观看视频| 久久久国产午夜精品 | 经典一区二区三区| 在线免费观看成人短视频| 久久久.com| 久草这里只有精品视频| 欧美日韩国产综合一区二区| 日韩伦理免费电影| 国产福利一区在线| 精品成人一区二区三区| 日本亚洲三级在线| 欧美天堂亚洲电影院在线播放| 国产精品久久久久久久久晋中 | 国产专区欧美精品| 欧美精品 国产精品| 一区二区成人在线| av在线一区二区三区| 欧美激情自拍偷拍| 韩国欧美国产一区| 欧美精品一区二| 美日韩一区二区三区| 欧美久久一区二区| 五月婷婷久久丁香| 欧美久久免费观看| 日韩国产成人精品| 337p亚洲精品色噜噜| 无吗不卡中文字幕| 欧美日韩亚洲高清一区二区| 亚洲一区二区三区三| 欧美这里有精品| 亚洲影院在线观看| 欧美中文字幕一区| 亚洲无人区一区| 欧美人与z0zoxxxx视频| 日韩国产高清影视| 日韩欧美国产综合在线一区二区三区| 美女视频网站久久| 精品国产三级电影在线观看| 老司机精品视频线观看86| 欧美成人性战久久| 韩国视频一区二区| 欧美激情一区二区| 成人18精品视频| 国产精品国产a| 在线亚洲免费视频| 天天射综合影视| 日韩视频免费观看高清完整版在线观看 | 99久久免费国产| 一区二区三国产精华液| 欧美三级欧美一级| 免费在线观看一区| 日本一区二区成人| 色老头久久综合| 五月婷婷色综合| 久久综合九色综合欧美就去吻| 国产精品一二三四| 亚洲视频狠狠干| 9191成人精品久久| 国产一区二区三区久久久| 国产精品午夜久久| 91蜜桃传媒精品久久久一区二区| 亚洲成a人v欧美综合天堂下载| 日韩欧美国产精品一区| 福利一区在线观看| 亚洲免费av高清| 日韩一区二区免费在线电影| 国产成人午夜高潮毛片| 一区二区在线免费| 精品欧美一区二区久久| 99久久精品国产精品久久| 日韩成人精品视频| 中文字幕国产一区| 在线播放日韩导航| 国产精品 欧美精品| 亚洲精品成人a在线观看| 欧美一区二区三区四区久久| 懂色av中文一区二区三区| 图片区日韩欧美亚洲| 国产日韩欧美不卡| 欧美日本在线一区| 丰满白嫩尤物一区二区| 婷婷丁香久久五月婷婷| 国产精品麻豆网站| 欧美一区二区在线免费播放| 99精品久久免费看蜜臀剧情介绍| 视频一区二区三区中文字幕| 欧美高清在线精品一区| 欧美一卡2卡三卡4卡5免费| 成人av影院在线| 精品午夜一区二区三区在线观看| 亚洲欧美电影一区二区| 久久久久久夜精品精品免费| 欧美日韩亚洲不卡| 成人午夜电影久久影院| 日本欧美一区二区三区乱码| 亚洲欧美偷拍另类a∨色屁股| 精品美女在线播放| 欧美日韩在线观看一区二区 | 色偷偷88欧美精品久久久| 精久久久久久久久久久|