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

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

?? bsvm2_mex.c

?? 用matlab實現的統計模式識別工具箱
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*---------------------------------------------------------------------------
 bsvm2_mex.c: MEX-file for multi-class B-SVM with L2-soft margin.

 Compile: 
  mex new_bsvm2_mex.c qpcsolver.c kernel_fun.c

 Synopsis:
  [Alpha,bias,exitflag,kercnt,access,trnerr,t,NA,UB,LB,History] = 
     new_bsvm2_mex(data,labels,ker,arg,C,solver,tmax,tolabs,tolrel,cache,verb)

 Input:
  data [dim x num_data] Training vectors.
  labels [1 x num_data] Labels.
  ker [string] Kernel identifier.
  arg [1 x nargs] Kernel argument.
  C [1x1] Regularization constant.
  solver [string] Solver; options are 'mdm','imdm','iimdm'
     'keerthi','kowalczyk'.
  tmax [1x1] Maximal number of iterations.
  tolabs [1x1] Absolute tolerance stopping condition.
  tolrel [1x1] Relaitve tolerance stopping condition.
  cache [1x1] Number of columns of kernel matrix to be cached.
    It takes cache*num_data*size(double) bytes of memory.
  verb [1x1] If 1 then some info about the training is printed.

 Output:
  Alpha [nclass x num_data] Weights.
  bias [1x1] Bias.
  exitflag [1x1] Indicates which stopping condition was used:
    UB-LB <= tolabs           ->  exit_flag = 1   Abs. tolerance.
    (UB-LB)/(LB+1) <= tolrel  ->  exit_flag = 2   Relative tolerance.
    t >= tmax                 ->  exit_flag = 0   Number of iterations.
  kercnt [1x1] Number of kernel evaluations.
  access [1x1] Number of requested columns of virtual kernel matrix.
  trnerr [1x1] Training error.
  t [1x1] Number of iterations.
  NA [1x1] Number of non-zero alphas returned by the QP solver.
  UB [1x1] Upper bound on the optimal solution.
  LB [1x1] Lower bound on the optimal solution.
  History [2x(t+1)] UB and LB with respect to number of iterations.

  About: Statistical Pattern Recognition Toolbox
  (C) 1999-2004, Written by Vojtech Franc and Vaclav Hlavac
  <a href="http://www.cvut.cz">Czech Technical University Prague</a>
  <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a>
  <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a>

 Modifications:
 28-nov-2004, VF
 26-nov-2004, VF
 24-nov-2004, VF
 20-nov-2004, VF
 31-may-2004, VF
 25-jan-2003, VF
 24-jan-2003, VF
 23-jan-2003, VF
-------------------------------------------------------------------- */

#include "mex.h"
#include "matrix.h"
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>

#include "kernel_fun.h"

#define INDEX(ROW,COL,DIM) ((COL*DIM)+ROW)

#define MINUS_INF INT_MIN
#define PLUS_INF  INT_MAX

#define KDELTA(A,B) (A==B)
#define KDELTA4(A1,A2,A3,A4) ((A1==A2)||(A1==A3)||(A1==A4)||(A2==A3)||(A2==A4)||(A3==A4))


/* Declaration of global variables */

unsigned long access_cnt;
long num_classes;      
long num_virt_data;  /* number of virtual "single-class" examples */
long num_data;       /* number of input training examples */
double kernel_diag;  /* regularization constant */
double *labels;      /* Pointer to labels */

long Cache_Size;     /* number of cached columns (min 1) */

/* cache (FIFO) for columns of the kernel matrix */
long *cache_index;                  /* indices cached of kernel columns */
long first_kernel_inx;              /* index of first inserted column */
double **kernel_columns;            /* pointers at cached columns */

/* cache for three columns of the virtual kernel matrix */
int first_virt_inx;                 /* index of first used column */
double *virt_columns[3];            /* cache for three columns*/

/* ------------------------------------------------------------
  Returns pointer at a-th column of the kernel matrix.
  This function maintains FIFO cache of kernel columns.
------------------------------------------------------------ */
void *get_kernel_col( long a ) 
{
  double *col_ptr;
  long i;
  long inx;

  inx = -1;
  for( i=0; i < Cache_Size; i++ ) {
    if( cache_index[i] == a ) { inx = i; break; }
  }
    
  if( inx != -1 ) {
    col_ptr = kernel_columns[inx];
    return( col_ptr );
  }
   
  col_ptr = kernel_columns[first_kernel_inx];
  cache_index[first_kernel_inx] = a;

  first_kernel_inx++;
  if( first_kernel_inx >= Cache_Size ) first_kernel_inx = 0;

  for( i=0; i < num_data; i++ ) {
    col_ptr[i] = kernel(i,a);
  }

  return( col_ptr );
}

/* ------------------------------------------------------------
  Computes index of input example and its class label from 
  index of virtual "single-class" example.
------------------------------------------------------------ */
void get_indices2( long *index, long *class, long i )
{
   *index = i / (num_classes-1);
 
   *class = (i % (num_classes-1))+1;
   if( *class >= labels[ *index ]) (*class)++;

   return;
}

/* ------------------------------------------------------------
  Retures (a,b)-th element of the virtual kernel matrix 
  of size [num_virt_data x num_virt_data]. 
------------------------------------------------------------ */
double kernel_fce( long a, long b )
{
  double value;
  long i1,c1,i2,c2;

  get_indices2( &i1, &c1, a );
  get_indices2( &i2, &c2, b );

  if( KDELTA4(labels[i1],labels[i2],c1,c2) ) {
    value = (+KDELTA(labels[i1],labels[i2]) 
             -KDELTA(labels[i1],c2)
             -KDELTA(labels[i2],c1)
             +KDELTA(c1,c2)
            )*(kernel( i1, i2 )+1);
  }
  else
  {
    value = 0;
  }

  if(a==b) value += kernel_diag; 

  return( value );
}

/* ------------------------------------------------------------
  Returns pointer at the a-th column of the virtual K matrix.

  (note: the b-th column must be preserved in the cache during 
   updating but b is from (a(t-2), a(t-1)) where a=a(t) and
   thus FIFO with three columns does not have to take care od b.)
------------------------------------------------------------ */
void *get_col( long a, long b )
{
  long i;
  long inx;
  long min_usage; 
  double *col_ptr;
  double *ker_ptr;
  double value;
  long i1,c1,i2,c2;

  access_cnt = access_cnt + 1;

  col_ptr = virt_columns[first_virt_inx++];
  if( first_virt_inx >= 3 ) first_virt_inx = 0;

  get_indices2( &i1, &c1, a );
  ker_ptr = (double*) get_kernel_col( i1 );

  for( i=0; i < num_virt_data; i++ ) {
    get_indices2( &i2, &c2, i );

    if( KDELTA4(labels[i1],labels[i2],c1,c2) ) {
      value = (+KDELTA(labels[i1],labels[i2]) 
               -KDELTA(labels[i1],c2)
               -KDELTA(labels[i2],c1)
               +KDELTA(c1,c2)
              )*(ker_ptr[i2]+1);
    }
    else
    {
      value = 0;
    }

    if(a==i) value += kernel_diag; 

    col_ptr[i] = value;
  }
  
  return( col_ptr );
}


/* -------------------------------------------------------------------
 Main MEX function - interface to Matlab.
-------------------------------------------------------------------- */
void mexFunction( int nlhs, mxArray *plhs[],int nrhs, const mxArray*prhs[] )
{
  char solver[20];   /* solver identifier */
  int exitflag;      /* output arg */
  int *err_bit;      /* axiliary cache for computation of trn errors*/
  int buf_len;       /* real length of the solver identifier */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa欧美大片| 成人性生交大片免费看视频在线| 中文字幕在线不卡视频| 精品91自产拍在线观看一区| 3atv在线一区二区三区| 91精品国产黑色紧身裤美女| 欧美视频在线一区| 91精品国产手机| 精品精品欲导航| wwww国产精品欧美| 中文字幕精品综合| 亚洲欧美另类久久久精品2019| 综合久久久久久| 亚洲一区二区在线免费观看视频 | 国产999精品久久久久久绿帽| 国产在线精品免费| 成人黄色在线网站| 欧美三级视频在线| 日韩一区二区三区视频在线观看| 精品国产成人在线影院| 国产欧美日韩亚州综合| 亚洲伦在线观看| 视频一区国产视频| 国产综合久久久久影院| 成人av在线资源网| 欧美日韩一区二区在线视频| 制服丝袜亚洲网站| 欧美激情一区二区三区蜜桃视频| 亚洲欧洲www| 日本不卡不码高清免费观看| 国产一区二区三区免费看 | 亚洲成av人片| 激情综合网最新| 96av麻豆蜜桃一区二区| 91麻豆精品国产91久久久久| 日本一区二区三区在线不卡| 亚洲成a人片在线观看中文| 精品午夜久久福利影院| 97超碰欧美中文字幕| 日韩视频免费观看高清完整版在线观看 | 一本一道综合狠狠老| 日韩欧美国产综合一区 | 精品少妇一区二区| 亚洲日韩欧美一区二区在线| 日韩精品一二三| 成人午夜视频福利| 日韩欧美国产系列| 樱花影视一区二区| 国产福利一区在线观看| 91精品国产高清一区二区三区| 欧美激情一区二区在线| 久久99精品视频| 欧美日韩电影在线| 亚洲精品大片www| 丁香婷婷综合激情五月色| 欧美一区二区三区视频| 亚洲黄色av一区| 丁香亚洲综合激情啪啪综合| 精品久久久久久久久久久久包黑料 | 日韩欧美国产午夜精品| 夜夜揉揉日日人人青青一国产精品| 国产精品资源站在线| 91麻豆精品国产91久久久使用方法 | 亚洲最新在线观看| 99久久综合国产精品| 久久精品一区二区三区av| 免费看精品久久片| 欧美顶级少妇做爰| 无吗不卡中文字幕| 在线电影国产精品| 日韩—二三区免费观看av| 欧美日韩在线播放三区四区| 亚洲一区二区高清| 欧美最猛黑人xxxxx猛交| 亚洲日本一区二区| 91黄视频在线| 亚洲激情成人在线| 在线一区二区三区四区| 亚洲精品成人在线| 欧美日韩精品欧美日韩精品| 午夜精品一区二区三区三上悠亚| 在线视频你懂得一区| 亚洲午夜在线视频| 91精品国产综合久久蜜臀| 午夜精品久久久久久不卡8050| 欧美精品亚洲二区| 精品一区二区在线看| 久久久蜜桃精品| 风间由美性色一区二区三区| 一区在线观看免费| 欧美日韩专区在线| 麻豆成人久久精品二区三区红| 欧美xxxxx裸体时装秀| 国产一区二区在线免费观看| 久久精品人人做| 一本久久a久久精品亚洲| 亚洲香肠在线观看| 日韩精品一区二区三区swag | 伊人一区二区三区| 欧美人成免费网站| 国产黄色精品视频| 亚洲精品视频在线观看网站| 欧美日本乱大交xxxxx| 国产在线播放一区三区四| 国产精品丝袜一区| 欧美久久一区二区| 福利一区二区在线观看| 亚洲一二三四久久| 久久综合九色综合97_久久久| 91网站最新网址| 日本伊人精品一区二区三区观看方式| 久久视频一区二区| 欧美性猛交xxxxxxxx| 国产麻豆成人精品| 亚洲国产精品一区二区www在线| 日韩欧美电影一二三| 99热国产精品| 久久国产精品72免费观看| 亚洲日本中文字幕区| 欧美videofree性高清杂交| 97精品国产露脸对白| 久久99日本精品| 性感美女久久精品| 中文字幕在线不卡视频| 日韩精品一区二区三区在线 | 一区av在线播放| 久久精品日韩一区二区三区| 欧美亚洲日本国产| 成人看片黄a免费看在线| 男人的天堂久久精品| 亚洲一二三区视频在线观看| 国产欧美综合在线观看第十页 | 久久99精品久久久久婷婷| 一区二区三区高清在线| 中文字幕av一区二区三区高| 日韩精品一区二| 91精品国产综合久久久久久久久久| 99精品视频一区二区| 国产成人免费视频网站| 美女高潮久久久| 日本不卡一区二区| 午夜精品久久久久| 亚洲综合色在线| 尤物视频一区二区| 亚洲精品网站在线观看| 中文字幕一区二区视频| 欧美激情在线免费观看| 久久精品亚洲乱码伦伦中文 | 国产麻豆精品视频| 国内精品久久久久影院色| 另类小说综合欧美亚洲| 日本免费新一区视频| 免费在线欧美视频| 日韩在线播放一区二区| 日韩国产欧美三级| 日日摸夜夜添夜夜添国产精品| 一区二区三区成人在线视频 | 欧美日韩国产片| 91麻豆精品国产自产在线| 欧美日韩国产123区| 538在线一区二区精品国产| 欧美老年两性高潮| 日韩欧美自拍偷拍| 久久亚洲精精品中文字幕早川悠里| 精品免费视频一区二区| 国产网站一区二区| 中文字幕亚洲区| 亚洲精品欧美专区| 午夜视频在线观看一区| 欧美96一区二区免费视频| 韩国三级电影一区二区| 懂色av中文一区二区三区| 91老司机福利 在线| 欧美日韩不卡在线| 欧美大片顶级少妇| 国产精品美女久久久久aⅴ | 中文字幕免费观看一区| 悠悠色在线精品| 久久精品国产第一区二区三区| 激情综合色综合久久| gogo大胆日本视频一区| 欧美日韩视频第一区| 久久久久国产精品麻豆| 亚洲人成伊人成综合网小说| 日产欧产美韩系列久久99| 国产乱国产乱300精品| 日本二三区不卡| 精品美女在线观看| 亚洲精品一二三区| 黄色小说综合网站| 日本高清不卡aⅴ免费网站| 欧美一区二区成人| 中文字幕一区二| 久久国内精品自在自线400部| 成人动漫一区二区三区| 欧美高清www午色夜在线视频| 中文一区一区三区高中清不卡| 亚洲福利视频一区| 成人伦理片在线| 精品电影一区二区|