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

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

?? bsvm2_mex.c

?? 用matlab實現的統(tǒng)計模式識別工具箱
?? 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一区二区三区免费野_久草精品视频
午夜精品久久久久久久久久| 欧美午夜视频网站| 欧美三级在线视频| 日本一区二区三区视频视频| 男人的天堂亚洲一区| 色综合激情久久| 国产偷v国产偷v亚洲高清| 日韩福利视频导航| 91黄视频在线观看| 国产精品家庭影院| 国产精品99久久久久久宅男| 7777精品伊人久久久大香线蕉的| 国产精品福利一区二区| 国产尤物一区二区在线| 精品欧美黑人一区二区三区| 日韩激情在线观看| 欧美疯狂做受xxxx富婆| 亚洲永久免费av| 色综合色狠狠天天综合色| 国产精品丝袜黑色高跟| 成人综合婷婷国产精品久久蜜臀 | 精品一区二区久久久| 欧美日韩国产综合久久| 亚洲免费电影在线| 91麻豆精东视频| 国产精品久久久久aaaa樱花| 成人网页在线观看| 中文字幕日本不卡| voyeur盗摄精品| 自拍偷拍亚洲激情| 91麻豆123| 亚洲欧美另类久久久精品2019| 丁香一区二区三区| 国产精品久久夜| 91浏览器在线视频| 一区二区视频在线看| 在线免费观看日韩欧美| 亚洲自拍偷拍麻豆| 欧美精品xxxxbbbb| 久久成人羞羞网站| 欧美国产一区二区| 99综合电影在线视频| 亚洲老妇xxxxxx| 欧美剧情片在线观看| 免费观看日韩av| 久久嫩草精品久久久精品一| 成人黄色在线看| 亚洲视频 欧洲视频| 欧美男同性恋视频网站| 裸体歌舞表演一区二区| 国产色婷婷亚洲99精品小说| 99久久99久久精品免费看蜜桃| 亚洲精品免费电影| 日韩欧美在线一区二区三区| 国产精品亚洲一区二区三区妖精| 国产精品久久久久天堂| 欧美性做爰猛烈叫床潮| 蜜臀av一级做a爰片久久| 国产肉丝袜一区二区| 欧洲精品在线观看| 蜜桃av一区二区三区电影| 国产精品视频九色porn| 欧美日韩在线一区二区| 国产一区二区调教| 亚洲精品成人天堂一二三| 制服丝袜中文字幕一区| 成人丝袜高跟foot| 日韩国产欧美视频| 日韩毛片一二三区| 精品动漫一区二区三区在线观看| 99久久综合99久久综合网站| 日韩成人午夜电影| 亚洲天堂免费在线观看视频| 精品国产亚洲在线| 欧美三区免费完整视频在线观看| 精品中文字幕一区二区| 亚洲一二三区在线观看| 国产日产欧美一区二区三区| 制服丝袜中文字幕一区| 91在线无精精品入口| 激情综合色综合久久| 亚洲最新视频在线播放| 国产精品全国免费观看高清| 日韩三级.com| 欧美色涩在线第一页| 99re8在线精品视频免费播放| 久久精品欧美一区二区三区不卡 | 国产亚洲欧美一级| 欧美裸体一区二区三区| 99热精品国产| 国产精品白丝av| 看电视剧不卡顿的网站| 亚洲国产欧美在线| 一区二区三区色| 国产精品视频一二三| 久久久亚洲高清| 日韩一级黄色片| 精品1区2区3区| 欧美亚洲国产一区二区三区va| aaa亚洲精品| 成人免费看的视频| 国产精品一区二区三区99| 久久精品国产亚洲一区二区三区| 五月天中文字幕一区二区| 亚洲精品成人a在线观看| 亚洲情趣在线观看| 亚洲欧美另类图片小说| 国产精品毛片久久久久久| 欧美精彩视频一区二区三区| 国产亚洲精品久| 日本一区二区三区在线不卡| 日本一区二区三区视频视频| 久久精品一区二区| 亚洲国产岛国毛片在线| 国产精品少妇自拍| 中文字幕一区二区三区不卡| 日韩美女啊v在线免费观看| 亚洲色图清纯唯美| 亚洲一区二区偷拍精品| 午夜视频在线观看一区| 日韩在线一区二区三区| 日本大胆欧美人术艺术动态| 精品在线观看视频| 国产麻豆精品视频| av一区二区不卡| 欧美综合色免费| 欧美一区二区在线免费观看| 欧美成人精品二区三区99精品| 精品国产一区二区三区四区四| 久久久电影一区二区三区| 国产精品免费看片| 一区二区三区 在线观看视频| 亚洲一区二区影院| 久久99久久99小草精品免视看| 国产精品亚洲一区二区三区妖精 | 偷拍一区二区三区四区| 麻豆视频观看网址久久| 粉嫩高潮美女一区二区三区| 99久久精品99国产精品| 欧美精品一级二级| 国产欧美一区二区精品性色超碰| 亚洲欧美日韩在线| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品一区二区不卡| 91激情在线视频| 精品久久久久一区| 亚洲少妇30p| 美女视频黄久久| 97精品久久久午夜一区二区三区| 欧美精品电影在线播放| 久久久精品中文字幕麻豆发布| 一区二区三区av电影| 国内成人自拍视频| 欧美性生活一区| 久久精品这里都是精品| 亚洲6080在线| 成人黄色大片在线观看| 88在线观看91蜜桃国自产| 欧美国产精品专区| 天天综合色天天综合色h| 国产91综合一区在线观看| 9191久久久久久久久久久| 国产精品天天看| 久久 天天综合| 欧美日本一区二区三区四区| 久久精品亚洲精品国产欧美 | www.欧美日韩国产在线| 欧美一级日韩一级| 一区二区三区四区视频精品免费| 国产电影一区二区三区| 91精品国产综合久久精品| 一区二区三区四区激情| 懂色av一区二区三区蜜臀| 日韩一区二区精品葵司在线| 亚洲一区二区三区四区不卡| 成人免费高清在线| 久久精品视频免费观看| 久久se精品一区二区| 这里只有精品电影| 一个色妞综合视频在线观看| 成人a级免费电影| 国产三级精品三级在线专区| 国产在线国偷精品免费看| 日韩免费观看高清完整版在线观看| 亚洲国产成人av网| 欧美综合欧美视频| 一区二区三区国产| 色婷婷综合五月| 亚洲欧美另类久久久精品2019| 99久久精品免费看| 成人免费在线观看入口| av资源网一区| 自拍偷拍国产精品| 一本大道久久a久久精二百| 亚洲视频一区二区免费在线观看 | 亚洲乱码国产乱码精品精小说 | 久久精品噜噜噜成人av农村| 日韩一级在线观看| 久久99精品国产.久久久久久| 678五月天丁香亚洲综合网|