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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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] 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 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影免费一区| 国产午夜久久久久| 国产香蕉久久精品综合网| 亚洲欧洲制服丝袜| 男女视频一区二区| 色婷婷精品大视频在线蜜桃视频 | 亚洲视频一二三| 亚洲一区二区三区精品在线| 激情图片小说一区| 欧美日韩精品一区视频| 国产精品伦一区| 韩国精品主播一区二区在线观看| 欧美性猛交xxxx黑人交| 亚洲国产精品精华液2区45| 青青草精品视频| 精品视频色一区| 亚洲色图欧洲色图婷婷| 国产成人8x视频一区二区| 欧美一级精品大片| 日韩黄色小视频| 欧美在线高清视频| 亚洲女性喷水在线观看一区| 成人免费精品视频| 国产精品欧美久久久久无广告| 精品一区二区三区蜜桃| 日韩三级电影网址| 久久激情五月婷婷| 2023国产精品自拍| 久久国产精品99久久久久久老狼| 欧美日韩一本到| 五月婷婷综合网| 8v天堂国产在线一区二区| 亚洲猫色日本管| 色综合久久综合网97色综合| 亚洲三级视频在线观看| 成人福利在线看| 国产精品久久久久天堂| 国产三级精品三级| 日韩精品一区二区在线观看| 日日夜夜免费精品| 日韩一区二区三区在线观看| 日韩电影免费一区| 91精品国产综合久久久久| 日韩成人免费看| 日韩欧美视频一区| 国产福利一区二区三区视频在线| 久久综合久久久久88| 国产iv一区二区三区| 国产午夜精品理论片a级大结局| 国产成人综合精品三级| 中日韩av电影| 99re亚洲国产精品| 一区二区三区国产豹纹内裤在线| 欧美日韩一区高清| 国产真实乱子伦精品视频| 国产日韩在线不卡| 欧美综合久久久| 人人狠狠综合久久亚洲| 亚洲精品一区二区三区福利| www.激情成人| 日本色综合中文字幕| 久久精品一区蜜桃臀影院| 91欧美激情一区二区三区成人| 亚洲国产另类av| 久久久久国产一区二区三区四区| av男人天堂一区| 日韩精品一二三| 国产精品的网站| 欧美一区二区网站| 成人激情文学综合网| 午夜av区久久| 亚洲一线二线三线视频| 91黄色免费网站| 美脚の诱脚舐め脚责91| 中文字幕在线视频一区| 91精品国产一区二区| 成人动漫av在线| 男人操女人的视频在线观看欧美| 国产精品三级视频| 日韩午夜激情免费电影| 91视频xxxx| 国内精品久久久久影院薰衣草| 国产精品美女久久久久av爽李琼| 91精品国产一区二区人妖| 99久久99久久综合| 蜜桃精品在线观看| 亚洲午夜一区二区| 欧美激情一区二区| 91麻豆精品国产91久久久久久 | 亚洲成a人片综合在线| 国产日韩精品视频一区| 欧美夫妻性生活| 在线精品亚洲一区二区不卡| 成人永久aaa| 韩国精品主播一区二区在线观看| 亚洲6080在线| 亚洲已满18点击进入久久| 最新中文字幕一区二区三区| 日韩精品一区二区三区视频在线观看| 一本大道综合伊人精品热热 | 性欧美疯狂xxxxbbbb| 国产精品高清亚洲| 久久久久成人黄色影片| 日韩免费看的电影| 欧美一区二区视频观看视频| 日本道精品一区二区三区| 日本久久电影网| 日韩va亚洲va欧美va久久| 亚洲综合色自拍一区| 国产精品动漫网站| 国产精品成人免费| 国产精品传媒入口麻豆| 欧美国产日韩a欧美在线观看| 日韩一级视频免费观看在线| 3d成人动漫网站| 欧美日韩国产免费| 欧美色图片你懂的| 欧美午夜精品一区二区蜜桃| 在线欧美小视频| 在线视频中文字幕一区二区| 91国内精品野花午夜精品| 一本大道久久a久久综合婷婷 | 激情图片小说一区| 精品在线亚洲视频| 麻豆91精品91久久久的内涵| 久久精品久久综合| 国产精品主播直播| 99久久er热在这里只有精品15 | 狠狠色丁香婷婷综合| 老司机精品视频在线| 国产一区二区在线观看视频| 国产精品正在播放| 99免费精品在线观看| 91美女视频网站| 欧美精品v日韩精品v韩国精品v| 欧美高清视频一二三区| 91精品国产综合久久久久久| 亚洲精品一区二区三区99| 国产三级精品在线| 一区二区三区日本| 美女mm1313爽爽久久久蜜臀| 99久久精品国产网站| 国产成人免费xxxxxxxx| 91网上在线视频| 欧美高清视频在线高清观看mv色露露十八 | 中文字幕中文乱码欧美一区二区 | 久久久777精品电影网影网| 综合网在线视频| 天天色天天操综合| 国产精品1024久久| 欧美最新大片在线看| 精品国产污污免费网站入口| 国产精品福利一区二区三区| 日精品一区二区| 国产精品一二三区| 欧美天天综合网| 久久精品夜夜夜夜久久| 亚洲午夜影视影院在线观看| 国产一区二三区好的| 欧美久久久久久蜜桃| 欧美激情资源网| 日韩av成人高清| 不卡的av电影| 精品电影一区二区三区 | 国产精品日产欧美久久久久| 亚洲国产精品自拍| 成人国产在线观看| 精品免费日韩av| 亚洲精品国产精品乱码不99| 激情国产一区二区| 在线播放91灌醉迷j高跟美女| 欧美国产日韩在线观看| 日韩午夜av电影| 不卡视频免费播放| 欧美一区二区三区日韩视频| 中文字幕一区二区三区四区| 久久精品国产99| 欧美精品色一区二区三区| 1024成人网| 国产99久久久国产精品潘金 | 色婷婷精品大在线视频| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美无砖专区一中文字| 国产精品久久久久影院色老大| 美女国产一区二区| 欧美日韩国产一级二级| 亚洲综合小说图片| 91色视频在线| 中文字幕欧美一区| 成人免费福利片| 中文字幕精品—区二区四季| 久久福利视频一区二区| 日韩一区二区三区精品视频| 亚洲一区二区影院| 色94色欧美sute亚洲线路二| 中文字幕欧美一| 色综合婷婷久久| 一区二区三区在线看| 在线一区二区三区四区| 悠悠色在线精品|