Zinniaã®å¤ã¯ã©ã¹å顿³
ãZinniaã¨ããSVMãã¼ã¹ã®æ°ããææ¸ãæåèªèã¨ã³ã¸ã³ããªãªã¼ã¹ãããã®ã§ãæ©éã½ã¼ã¹ã³ã¼ããå°ãèªãã§ã¿ãã
ãæåèªèã¨ããã®ã¯ãæ©æ¢°å¦ç¿ã§ã¯å¤ã¯ã©ã¹åé¡ã¨ããåé¡ã«åé¡ãããããããã¯ã©ã¹æ°ãèªèãããæåæ°ï¼æ°åæåç¨åº¦ã ããï¼åã ãåå¨ããã¨ããããªããªãè¨ç®éçã«å³ããåé¡ã§ãããäºå¤åé¡å¨ã使ã£ã¦å¤å¤åé¡å¨ãæ§æããæ¹æ³ã«ã¯one vs rest, one vs one, ãã®ä»ã«ãããããããããããããã®ä¸ã®ã©ãã使ã£ã¦ããã®ãã¨ããã¨ããã«èå³ããã£ããWebã«ããã¨ã50ã100æå/ç§ã®èªèéåº¦ã¨æ¸ãã¦ãã£ãã®ã§ãã³ã¼ããèªãåã®äºæ¸¬ã¨ãã¦ã¯ãone vs oneããªã¼ã¨æã£ã¦ãããï¼é度çã«ã¯one vs oneã®æ¹ãone vs restããéããï¼
ããããããããªäºæ³ãè£åããrecognizer.cppã®148è¡ããããããã«ã¯ä»¥ä¸ã®ãããªã³ã¼ããæ¸ãã¦ãã£ãã
for (size_t i = 0; i < model_.size(); ++i) { results[i].first = model_[i].bias + dot(model_[i].x, x); results[i].second = model_[i].character; }
ãdotã®å®è£ ã確èªããããé常ã®å ç©ãªã®ã§ãKernelã使ã£ã¦ãã£ãã·ã¥ãäºã ã¨ãã話ã¯ä»åã¯é¢ä¿ãªããã³ã¼ãã¯çç¥ããããã©ããã®å¾ã¯ãresultsãpartial_sortã§ã½ã¼ããã¦nbestãæ±ãã¦ãããã¤ã¾ãone vs restã ãæè¿ã®ãã·ã³ã ã¨ãåç´ã«one vs restã§è¨ç®ãã¦ãæ¯ç§æ°åæåç¨åº¦ã¯ååã«å¦çã§ããã¨ããäºãããããªãã¨ããããèªåã®è¦ç©ãã®çããæãç¥ããããããã£ã±ãã£ã¨èªåã§å®éã«ã³ã¼ãæ¸ãã¦çµé¨ãç©ã¾ãªãããã¡ã ãªã