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

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

?? bsvm2_mex.c~

?? 一個工具包
?? 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] Access to the 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 + num_virt_data;

  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一区二区三区免费野_久草精品视频
亚洲一区二区三区国产| 国产成人免费网站| 99久久综合狠狠综合久久| 欧美高清视频不卡网| 国内成+人亚洲+欧美+综合在线 | 久久99精品视频| 91麻豆国产福利在线观看| 精品乱人伦小说| 亚洲观看高清完整版在线观看| 国产精品综合一区二区| 91精品国产欧美日韩| 综合久久久久综合| 国产成人亚洲综合a∨婷婷| 欧美日韩国产天堂| 亚洲精品乱码久久久久久| 激情国产一区二区| 日韩视频免费观看高清完整版| 一区二区三区在线免费播放| av男人天堂一区| 欧美最新大片在线看| 国产精品三级久久久久三级| 国产女人18水真多18精品一级做| 免费一级片91| 制服丝袜亚洲网站| 图片区小说区区亚洲影院| 色一区在线观看| 亚洲天堂免费在线观看视频| 国产成人精品午夜视频免费| 久久欧美一区二区| 国产精品一二二区| 欧美激情综合在线| 成人sese在线| 亚洲欧美日韩人成在线播放| 99久久精品国产观看| 国产精品免费视频网站| 成人国产精品免费观看动漫| 国产精品美女久久久久久久| 成人精品免费视频| 成人欧美一区二区三区视频网页| 成人黄色777网| 亚洲黄色在线视频| 91麻豆6部合集magnet| 日韩视频在线你懂得| 69久久夜色精品国产69蝌蚪网| 成人av网站在线观看免费| 欧美日韩色一区| 亚洲国产成人高清精品| 69精品人人人人| 精品综合久久久久久8888| 久久久综合激的五月天| 成人av免费在线| 亚洲麻豆国产自偷在线| 欧美卡1卡2卡| 国产激情91久久精品导航| 国产精品卡一卡二卡三| 99久久免费视频.com| 一区二区三区在线高清| 日韩一区二区免费高清| 国产精品一区二区免费不卡 | 91免费看`日韩一区二区| 亚洲精品久久久蜜桃| 欧美精品v日韩精品v韩国精品v| 蜜桃在线一区二区三区| 中文字幕不卡一区| 欧美日韩国产精品自在自线| 国内精品自线一区二区三区视频| 国产精品视频yy9299一区| 欧美无乱码久久久免费午夜一区| 久久99国产精品尤物| 国产精品久久久久7777按摩 | 日本成人在线网站| 欧美激情在线观看视频免费| 欧美三级三级三级爽爽爽| 国产精品一区二区男女羞羞无遮挡| 亚洲免费观看高清完整版在线| 日韩一区二区在线看片| av一本久道久久综合久久鬼色| 免费高清在线视频一区·| 成人免费在线视频观看| 日韩你懂的在线观看| 色八戒一区二区三区| 精品一区精品二区高清| 亚洲一区二区视频在线观看| 国产三级一区二区| 欧美三级电影在线观看| 成人性色生活片免费看爆迷你毛片| 婷婷成人综合网| 国产精品另类一区| 欧美精品一区在线观看| 欧美日韩亚洲综合一区| 一本色道久久加勒比精品| 韩国视频一区二区| 男女激情视频一区| 亚洲成av人片在www色猫咪| 国产精品毛片无遮挡高清| 日韩欧美成人一区| 欧美人妖巨大在线| 色婷婷久久久久swag精品| 国产成人免费高清| 久久99国产精品麻豆| 日韩高清不卡在线| 亚洲国产成人精品视频| 亚洲人成网站精品片在线观看| 欧美国产视频在线| 久久久久久久精| 精品久久久久一区| 日韩欧美黄色影院| 精品区一区二区| 日韩丝袜美女视频| 欧美一区2区视频在线观看| 在线免费亚洲电影| 在线影视一区二区三区| www.99精品| 91视频在线观看免费| 不卡在线观看av| 99久精品国产| 色婷婷综合久久久久中文一区二区 | 国产资源精品在线观看| 久久精品久久久精品美女| 麻豆视频一区二区| 蜜桃久久久久久| 老司机午夜精品| 国产一区二区不卡老阿姨| 国产乱人伦偷精品视频不卡| 国产成人精品亚洲777人妖| 国产宾馆实践打屁股91| 床上的激情91.| 色视频一区二区| 欧美三级在线看| 欧美一级二级三级乱码| 久久先锋影音av| 国产精品女主播av| 夜夜嗨av一区二区三区四季av| 亚洲一区二区三区激情| 麻豆精品视频在线观看| 国产成人一区二区精品非洲| 丁香天五香天堂综合| 色呦呦国产精品| 日韩一区二区三区免费观看| 久久综合九色综合欧美亚洲| 中文字幕精品综合| 亚洲高清视频中文字幕| 极品尤物av久久免费看| 成人精品视频一区二区三区尤物| 在线区一区二视频| 久久婷婷综合激情| 日韩理论在线观看| 免费成人美女在线观看.| 国产成a人亚洲| 欧美三级资源在线| 日韩高清在线观看| 日本伊人色综合网| 视频一区二区三区入口| 麻豆国产精品视频| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美在线小视频| 久久天天做天天爱综合色| 国产精品欧美极品| 蜜桃精品在线观看| 91麻豆精品视频| 欧美精品一区二区蜜臀亚洲| 伊人一区二区三区| 国产精品一区在线| 欧美日韩精品二区第二页| 久久精品亚洲乱码伦伦中文| 亚洲香肠在线观看| 成人午夜精品一区二区三区| 91精品国产美女浴室洗澡无遮挡| 国产精品国产三级国产| 日本在线观看不卡视频| 99久久伊人网影院| 久久在线观看免费| 午夜精品爽啪视频| 99国产精品久久| 国产午夜亚洲精品不卡| 日韩精品电影在线| 色猫猫国产区一区二在线视频| 久久一夜天堂av一区二区三区 | 国产精品久久久久精k8| 久久黄色级2电影| 欧美肥妇毛茸茸| 亚洲伦理在线免费看| 成人福利视频网站| 日韩激情视频在线观看| 波多野结衣亚洲| 久久久精品天堂| 精品一区二区免费在线观看| 欧美日韩一区二区三区不卡| 亚洲女爱视频在线| a4yy欧美一区二区三区| 久久久高清一区二区三区| 久久精品国产久精国产爱| 精品视频一区 二区 三区| 亚洲精品视频自拍| 日本韩国一区二区三区视频| 亚洲三级理论片| 91国产丝袜在线播放| 亚洲久草在线视频| 91美女片黄在线观看91美女| 亚洲日本免费电影|