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

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

?? pr_loqo.c

?? SVM的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一区二区三区免费野_久草精品视频
欧美电影免费观看高清完整版在线观看| 国产精品成人在线观看| 久久久久久黄色| 亚洲一卡二卡三卡四卡无卡久久| 老司机免费视频一区二区三区| 色综合中文综合网| 美女网站一区二区| 99久久精品国产网站| 久久久噜噜噜久久中文字幕色伊伊 | 2014亚洲片线观看视频免费| 午夜电影久久久| 91麻豆免费在线观看| 中文字幕免费观看一区| 国产一区二区三区在线观看免费视频 | 亚洲h动漫在线| 色婷婷久久综合| 中文字幕一区二区三区不卡在线| 国产黑丝在线一区二区三区| 日韩欧美亚洲一区二区| 亚洲国产精品影院| 色欧美片视频在线观看| 亚洲视频 欧洲视频| 成人av在线网站| 国产丝袜欧美中文另类| 九色|91porny| 日韩欧美成人激情| 韩国女主播成人在线| 日韩一级大片在线观看| 男男成人高潮片免费网站| 欧美男女性生活在线直播观看 | 国产日韩欧美综合在线| 九色|91porny| 国产欧美日韩另类一区| 国产精品综合久久| 欧美激情一区在线观看| 丁香六月综合激情| 国产精品美女久久久久av爽李琼| 国产v综合v亚洲欧| 国产精品三级在线观看| 成人av集中营| 1区2区3区欧美| 欧美影院午夜播放| 日韩一区精品视频| 久久综合五月天婷婷伊人| 国产乱一区二区| 国产精品美女一区二区三区| 色综合久久66| 偷拍日韩校园综合在线| 日韩欧美国产一区二区在线播放 | 久久免费视频色| 成人小视频免费在线观看| 日韩一区在线看| 欧美性生活久久| 三级成人在线视频| 久久你懂得1024| 色域天天综合网| 日韩av在线发布| 国产亚洲欧美一区在线观看| 91最新地址在线播放| 肉丝袜脚交视频一区二区| 国产亚洲制服色| 欧美亚洲愉拍一区二区| 精品系列免费在线观看| 亚洲视频 欧洲视频| 日韩丝袜美女视频| 99久久国产综合精品麻豆| 日韩福利视频网| 中文字幕中文字幕在线一区| 欧美区在线观看| 国产一区三区三区| 一区二区三区在线视频免费观看| 5月丁香婷婷综合| 99久久综合精品| 美美哒免费高清在线观看视频一区二区| 国产日韩欧美精品在线| 精品视频资源站| 国产精品一线二线三线| 亚洲自拍欧美精品| 国产日韩影视精品| 91精品国产色综合久久不卡蜜臀 | 国产成人激情av| 日韩国产精品久久久久久亚洲| 中文字幕欧美国产| 欧美一区二区三区四区视频| 色噜噜狠狠一区二区三区果冻| 九九九久久久精品| 视频一区视频二区中文| 亚洲欧洲日产国码二区| 日韩免费一区二区| 欧美色区777第一页| gogogo免费视频观看亚洲一| 精品制服美女久久| 日韩在线a电影| 亚洲自拍偷拍网站| 亚洲人一二三区| 国产欧美日本一区二区三区| 日韩小视频在线观看专区| 欧美天堂一区二区三区| 99久久精品国产网站| 国产成人aaa| 国产美女精品在线| 韩国成人精品a∨在线观看| 视频一区视频二区中文字幕| 午夜精品国产更新| 亚洲午夜日本在线观看| 一区二区三区小说| 亚洲人一二三区| 亚洲人妖av一区二区| 亚洲日本va在线观看| 中文字幕一区二区三| 国产精品白丝在线| 亚洲私人黄色宅男| 亚洲精品视频自拍| 亚洲精品成人少妇| 亚洲一区av在线| 丝袜a∨在线一区二区三区不卡| 亚洲欧美另类久久久精品2019| 亚洲乱码中文字幕| 亚洲狠狠爱一区二区三区| 亚洲成a天堂v人片| 狂野欧美性猛交blacked| 久久99在线观看| 国产精品一级在线| 福利一区福利二区| 不卡的av电影| 在线日韩一区二区| 欧美电影在哪看比较好| 日韩一区国产二区欧美三区| 日韩免费一区二区| 国产精品美日韩| 亚洲一区二区三区三| 日本欧美在线看| 国产麻豆欧美日韩一区| 风流少妇一区二区| 在线亚洲一区二区| 91精品啪在线观看国产60岁| 精品国产乱码久久久久久1区2区| 久久久精品影视| 一区视频在线播放| 日韩电影在线免费看| 国产夫妻精品视频| 91视频你懂的| 日韩一二三四区| 18欧美亚洲精品| 日日骚欧美日韩| 成人在线视频一区| 欧美日韩国产在线观看| 久久免费午夜影院| 亚洲一区二区精品3399| 国产成人精品亚洲777人妖 | 日韩视频在线永久播放| 中文av一区特黄| 日韩电影在线免费| 91无套直看片红桃| 精品免费一区二区三区| 亚洲精品国产a久久久久久| 美女任你摸久久| 在线欧美日韩精品| 国产日韩精品久久久| 日韩中文字幕麻豆| 成人91在线观看| 日韩美一区二区三区| 一区二区三区资源| 国产精品456露脸| 欧美精品久久99| 国产精品国产三级国产专播品爱网 | 亚洲一区二区不卡免费| 丁香婷婷综合五月| 日韩欧美亚洲国产另类| 一区二区三区中文字幕| 国产成人在线看| 日韩精品在线一区| 性感美女极品91精品| 91污在线观看| 成人欧美一区二区三区黑人麻豆 | 欧美精品一区二区三区很污很色的| 亚洲人一二三区| 成人在线一区二区三区| 久久久噜噜噜久噜久久综合| 麻豆极品一区二区三区| 欧美日韩中文字幕一区| 亚洲视频在线观看三级| 丁香激情综合国产| ww亚洲ww在线观看国产| 精品亚洲国内自在自线福利| 欧美一三区三区四区免费在线看| 一区二区三区欧美亚洲| 97se狠狠狠综合亚洲狠狠| 国产精品你懂的| 99久久久久免费精品国产| 中文字幕乱码日本亚洲一区二区 | 日本一区二区三区高清不卡| 久久精品国产精品青草| 日韩欧美亚洲国产精品字幕久久久| 亚洲成人免费在线观看| 欧美精品亚洲一区二区在线播放| 亚洲一区二区三区在线看| 欧美在线free| 亚洲国产aⅴ成人精品无吗| 精品视频免费看|