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

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

?? mdm.c~

?? 一個工具包
?? C~
字號:
/*-----------------------------------------------------------------------
 Mitchell-Demyanov-Malozemov (MDM) algorithm for separable single-class 
 SVM problem. 

 int single_mdm(TKerFun ker,
             long num_data,
             long tmax,
             double tolabs,
             double tolrel,
             double *Alpha,
             double *UB,
             double *LB,
             long *t,
             double *History)

 tmax, tolabs, tolrel ... Define stopping conditions: 

    UB <= tolabs              ->  exit_flag = 1   Abs. tolerance.
    (UB-LB)/(LB+1) <= tolrel  ->  exit_flag = 2   Relative tolerance.
    t >= tmax                 ->  exit_flag = 0   Number of iterations.
 
 Alpha ... Lagrangians defining found decision rule. 
 UB ... Achieved upper bound on the optimal solution.
 LB ... Achieved lower bound on the optimal solution.
 t  ... Number of iterations.
 History ... Value of LB and UB wrt. number of iterations.

 Modifications:
 31-may-2004, VF
 23-Jan-2004, VF

-------------------------------------------------------------------- */

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

#define HISTORY_BUF 1000000

#define MINUS_INF INT_MIN
#define PLUS_INF  INT_MAX

#define ABS(A) ((A >= 0) ? A : -A)
#define MIN(A,B) ((A < B) ? A : B)
#define INDEX(ROW,COL,DIM) ((COL*DIM)+ROW)

/* ==============================================================
 Kernel MDM algorithm.
============================================================== */

int single_mdm(const double (*kernel_fce)(long, long),
            long num_data, 
            long tmax,
            double tolabs,
            double tolrel,
            double **out_Alpha,
            double *out_UB,
            double *out_LB,
            long  *out_t,
            double **out_History)
{
  double *Alpha;
  double *History;
  double LB;
  double UB2;
  double tmp, tmp1, tmp2;
  double k11, k12, k22;
  double kernel_diag;
  double *ProjX;
  double *K_Diag;
  double lambda;
  double *tmp_ptr;
  long min_inx;
  long max_inx;
  long new_min_inx;
  long new_max_inx;
  long i;
  long t;
  long History_size;
  int exitflag;

  /* allocate memory */
  Alpha = mxCalloc(num_data, sizeof(double));
  if( Alpha == NULL ) mexErrMsgTxt("Not enough memory.");

  ProjX = mxCalloc(num_data, sizeof(double));
  if( ProjX == NULL ) mexErrMsgTxt("Not enough memory.");

  K_Diag = mxCalloc(num_data, sizeof(double));
  if( K_Diag == NULL ) mexErrMsgTxt("Not enough memory.");

  History_size = (tmax < HISTORY_BUF ) ? tmax+1 : HISTORY_BUF;
  History = mxCalloc(History_size*2,sizeof(double));
  if( History == NULL ) mexErrMsgTxt("Not enough memory.");

  /* == Inicialization == */
  for( LB =  PLUS_INF, i = 0; i < num_data; i++ ) 
  {
    Alpha[i] = 0;

    ProjX[i] = kernel_fce( 0, i );

    K_Diag[i] = kernel_fce( i, i );

    if( ProjX[i] < LB ) {
      LB = ProjX[i];
      min_inx = i;
    }
  }

  max_inx = 0;
  UB2 = K_Diag[0];
  LB = LB/sqrt(UB2);
  Alpha[0] = 1;
  t = 0;
  History[INDEX(0,0,2)] = LB;
  History[INDEX(1,0,2)] = sqrt(UB2);

  /* Stopping conditions */
  if( sqrt(UB2) <= tolabs ) exitflag = 1;
  else if((sqrt(UB2)-LB)/(ABS(LB)+1) <= tolrel ) exitflag = 2;
  else exitflag = -1;

  /* == Main cycle == */

  while( exitflag == -1 ) 
  {
    t++;     

    /* Adaptation rule and update */
    k11 = K_Diag[max_inx];
    k22 = K_Diag[min_inx];
    k12 = kernel_fce(max_inx,min_inx);

    lambda = (ProjX[max_inx]-ProjX[min_inx])/(Alpha[max_inx]*(k11 - 2*k12 + k22));
    if( lambda < 0 ) lambda = 0; else if (lambda > 1) lambda = 1;

    UB2 = UB2 + 2*lambda*Alpha[max_inx]*(ProjX[min_inx]-ProjX[max_inx]) + 
          lambda*lambda*Alpha[max_inx]*Alpha[max_inx]*(k11 - 2*k12 + k22);

    tmp1 = Alpha[max_inx];
    Alpha[min_inx]=Alpha[min_inx]+lambda*Alpha[max_inx];
    Alpha[max_inx]=Alpha[max_inx]*(1-lambda);

    LB = PLUS_INF;
    tmp2 = MINUS_INF;
    for( i = 0; i < num_data; i++ ) 
    {

       ProjX[i] = ProjX[i] + lambda*tmp1*
          (kernel_fce(i,min_inx) - kernel_fce(i,max_inx));

       if( Alpha[i] !=0 && tmp2 < ProjX[i]) 
       {
         new_max_inx = i;
         tmp2 = ProjX[i];
       }

       if( ProjX[i] < LB ) 
       { 
         LB = ProjX[i];
         new_min_inx = i;
       }
    }    

    LB = LB/sqrt(UB2);
    min_inx = new_min_inx;    
    max_inx = new_max_inx;

    /* Stopping conditions */
    if( sqrt(UB2) <= tolabs ) exitflag = 1; 
    else if( ((sqrt(UB2)-LB)/(ABS(LB)+1)) <= tolrel ) exitflag = 2; 
    else if(t >= tmax) exitflag = 0; 

    /* Store selected values */
    if( t < History_size ) {
      History[INDEX(0,t,2)] = LB;
      History[INDEX(1,t,2)] = sqrt(UB2);
    }
    else {
      tmp_ptr = mxCalloc((History_size+HISTORY_BUF)*2,sizeof(double));
      if( tmp_ptr == NULL ) mexErrMsgTxt("Not enough memory.");
      for( i = 0; i < History_size; i++ ) {
        tmp_ptr[INDEX(0,i,2)] = History[INDEX(0,i,2)];
        tmp_ptr[INDEX(1,i,2)] = History[INDEX(1,i,2)];
      }
      tmp_ptr[INDEX(0,t,2)] = LB;
      tmp_ptr[INDEX(1,t,2)] = sqrt(UB2);
      
      History_size += HISTORY_BUF;
      mxFree( History );
      History = tmp_ptr;
    }
  }

  /* transform Alphas to obtain canonical hyperplane representation */
  for( i = 0; i < num_data; i++ ) {
    Alpha[i] = Alpha[i] / (LB*sqrt(UB2));
  }

  /* outputs */
  (*out_Alpha) = Alpha;
  (*out_UB) = sqrt(UB2);
  (*out_LB) = LB;
  (*out_t) = t;
  (*out_History) = History;

  /**/
  mxFree( ProjX );
  mxFree( K_Diag );

  return( exitflag ); 
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品水蜜桃| www.日韩av| 日韩国产在线一| 亚洲一卡二卡三卡四卡无卡久久| 欧美韩国日本综合| 国产欧美精品一区| 国产精品日日摸夜夜摸av| 久久亚洲精品小早川怜子| 精品99一区二区| 精品久久久久久久久久久久久久久久久 | 亚洲va欧美va人人爽| www.欧美色图| 91在线观看高清| 欧美影院一区二区| 欧美色偷偷大香| 欧美一区二区美女| 精品国产免费久久| 欧美—级在线免费片| 中文字幕在线不卡一区| 亚洲宅男天堂在线观看无病毒 | 91在线播放网址| 色天使久久综合网天天| 欧美日韩亚州综合| 欧美一区二区三区四区在线观看| 在线成人av影院| 337p粉嫩大胆噜噜噜噜噜91av| 国产午夜亚洲精品不卡| 国产精品女同一区二区三区| 亚洲美女免费在线| 日韩精品亚洲专区| 国产麻豆精品95视频| 成人免费视频视频在线观看免费| 色妹子一区二区| 日韩视频免费直播| 日本一区二区三区在线观看| 艳妇臀荡乳欲伦亚洲一区| 日本最新不卡在线| 国产成人在线免费观看| 99在线视频精品| 欧美久久久一区| 久久精品欧美一区二区三区不卡| 亚洲欧美综合色| 琪琪一区二区三区| 成人精品一区二区三区四区| 欧美色男人天堂| 久久九九影视网| 香蕉影视欧美成人| 福利电影一区二区三区| 欧美性xxxxxxxx| 久久久综合网站| 香蕉久久夜色精品国产使用方法| 国精品**一区二区三区在线蜜桃| www.av精品| 日韩精品资源二区在线| 一区二区视频在线| 国产乱妇无码大片在线观看| 欧美在线三级电影| 中文字幕乱码一区二区免费| 午夜国产精品一区| 欧美激情一区二区三区全黄| 亚洲动漫第一页| 本田岬高潮一区二区三区| 91精品国产综合久久精品图片| 亚洲欧美在线高清| 九九**精品视频免费播放| 色婷婷av一区二区三区大白胸| 精品久久久久久久久久久院品网| 亚洲一区二区三区精品在线| 国产精品性做久久久久久| 欧美午夜在线观看| 一区二区中文视频| 国产一区久久久| 91.com视频| 一区二区三区产品免费精品久久75| 国产成人免费视频精品含羞草妖精| 91精品国产91热久久久做人人 | 紧缚奴在线一区二区三区| 91丨porny丨在线| 久久久久久久一区| 蜜桃视频一区二区三区在线观看| 一本到三区不卡视频| 国产欧美一区二区三区沐欲| 久久电影网站中文字幕| 91精品国产色综合久久不卡电影| 亚洲免费在线观看| 99精品欧美一区| 亚洲国产精品二十页| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧洲一区二区三区在线| 亚洲精选视频免费看| 国产精品入口麻豆原神| 国产精品一区二区在线看| 欧美本精品男人aⅴ天堂| 日韩福利视频网| 欧美人体做爰大胆视频| 亚洲h在线观看| 欧美剧情片在线观看| 视频一区欧美精品| 欧美日韩一区高清| 亚洲成人av福利| 欧美丰满嫩嫩电影| 亚洲成在人线免费| 欧美三级乱人伦电影| 亚洲成人免费观看| 欧美日韩精品三区| 日本午夜精品一区二区三区电影| 欧美剧情片在线观看| 日韩高清国产一区在线| 日韩精品一区在线| 国产精品一区专区| 国产精品国模大尺度视频| 成人激情小说网站| 亚洲免费伊人电影| 欧美日韩精品一区视频| 日本va欧美va精品发布| 精品美女被调教视频大全网站| 精品一区二区三区在线播放| 精品国产三级电影在线观看| 国产一区二区0| 国产精品色婷婷久久58| 91视频免费观看| 亚洲国产日韩a在线播放性色| 欧美日韩一区二区三区免费看| 欧美日韩美女一区二区| 免费亚洲电影在线| 国产亚洲一区二区在线观看| 国产91高潮流白浆在线麻豆| 国产精品久久久久7777按摩| 91麻豆产精品久久久久久 | 国产成人免费视| 亚洲丝袜自拍清纯另类| 欧美日韩国产一区二区三区地区| 日本aⅴ精品一区二区三区 | 中文字幕免费一区| 在线日韩av片| 激情偷乱视频一区二区三区| 国产精品久久久久一区二区三区共| 在线观看亚洲a| 久久国产精品72免费观看| 国产精品久久久久影院亚瑟| 在线中文字幕不卡| 久久精品99国产精品| 国产精品黄色在线观看| 538prom精品视频线放| 激情亚洲综合在线| 亚洲视频在线一区| 日韩欧美中文字幕制服| av爱爱亚洲一区| 免费在线一区观看| 综合久久国产九一剧情麻豆| 69久久99精品久久久久婷婷| 成人在线视频首页| 欧美老女人第四色| 成熟亚洲日本毛茸茸凸凹| 亚洲成人免费视频| 亚洲国产岛国毛片在线| 欧美一区二区精美| av一区二区久久| 美女视频黄a大片欧美| 日韩一区在线看| 欧美变态tickle挠乳网站| 在线免费av一区| 国产成人午夜视频| 日韩av二区在线播放| 亚洲欧美日韩在线| 欧美精品一区二区三区一线天视频| 色婷婷精品大在线视频| 国产一区二区91| 奇米色一区二区| 亚洲一区二区三区美女| 国产精品久线在线观看| 精品国产伦一区二区三区免费| 欧美日韩黄视频| 色先锋资源久久综合| 国产成人av影院| 久久99精品久久久久久| 亚洲不卡av一区二区三区| 中文字幕一区二| 337p日本欧洲亚洲大胆精品 | 一色桃子久久精品亚洲| www国产成人| 91精品婷婷国产综合久久| 色综合久久综合网| 成人爱爱电影网址| 精品一区二区三区视频在线观看 | 精品一区精品二区高清| 亚洲国产日韩av| 亚洲欧洲av一区二区三区久久| 精品国产凹凸成av人网站| 在线电影欧美成精品| 欧日韩精品视频| 99久久er热在这里只有精品15| 国产最新精品免费| 麻豆精品在线看| 青青草原综合久久大伊人精品 | 亚洲一区二区三区自拍| 中文字幕在线观看一区二区| 国产色产综合色产在线视频| www国产精品av| 久久久久99精品一区|