À̹ø½Ã°£¿¡´Â ¼Æ÷Æ® º¤ÅÍ ¸Ó½Å(support vector machine, SVM)¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸°Ú½À´Ï´Ù.
SVMÀº ºÐ·ù³ª ȸ±ÍºÐ¼®¿¡ ¾²ÀÏ ¼ö ÀÖ´Â ÁöµµÇнÀ ¸ðµ¨ÀÔ´Ï´Ù. µÎ°¡Áö ¹üÁÖ·Î ³ª´ ¼ö ÀÖ´Â ÇнÀµ¥ÀÌÅÍ·Î ¸¸µé¾îÁö¸ç »õ·Î¿î µ¥ÀÌÅͰ¡ µé¾î¿ÔÀ» ¶§ ºñÈ®·üÀû ÀÌÁø ¼±Çü ºÐ·ù¸¦
ÇÕ´Ï´Ù. pÂ÷¿ø °ø°£¼ÓÀÇ Á¡À¸·Î µ¥ÀÌÅ͵éÀ» Ç¥ÇöÇϰí ÀÌ Á¡µéÀÌ °¢°¢ µÎ°³ÀÇ Å¬·¡½º Áß Çϳª¿¡ ¼ÓÇÒ ¶§
´ÙÀ½°ú °°ÀÌ Á¡µéÀ» ºÐ¸®ÇÏ´Â (p-1)Â÷¿øÀÇ ºÐ¸® ÃÊÆò¸é(hyperplane)À»
ã´Â °ÍÀÌ ±âº»ÀûÀÎ ¸ñÀûÀÔ´Ï´Ù.

Margin
ÇÏÁö¸¸
´Ü¼øÈ÷ µ¥ÀÌÅÍÆ÷ÀÎÆ®µéÀ» ºÐ¸®¸¸ ÇÏ´Â hyperplaneÀº ¹«¼öÈ÷ ¸¹½À´Ï´Ù.
ÃÖÀûÀÇ ºÐ¸® ÃÊÆò¸éÀ»
±¸Çϱâ À§ÇØ ¸¶ÁøÀ̶ó´Â Á÷°üÀûÀÎ °³³äÀ» ÀÌÇØÇØ¾ß ÇÕ´Ï´Ù. ¸¶ÁøÀº hyperplane°ú
°¡Àå °¡±î¿î µ¥ÀÌÅÍÆ÷ÀÎÆ®±îÁöÀÇ °Å¸®¸¦ ¶æÇÕ´Ï´Ù. SVMÀº Ãִ븶ÁøÀ» °¡Áö´Â hyperplaneÀ» ±¸ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í À̶§ hyperplaneÀ» °áÁ¤ÇÏ´Â µ¥ÀÌÅÍÆ÷ÀÎÆ®µéÀÌ
¹Ù·Î SVM¿¡¼ SV°¡ ÀǹÌÇÏ´Â Support Vector°¡
µË´Ï´Ù.

Hard margin SVM

Hard margin SVMÀº ´Ü¾î ±×´ë·Î hardÇÏ°Ô ºÐ·ù¸¦ ÇÏ´Â SVMÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. hard´Â ¼±ÇüÆÇº°À» ÇÒ ¶§ ¿ÀÂ÷, Áï ¸¶ÁøÀÇ ¾ÈÀ̳ª ¹Û¿¡ ±âÁذú
¸ÂÁö ¾Ê´Â µ¥ÀÌÅ͸¦ Àý´ë Çã¿ëÇÏÁö ¾ÊÀ» Á¤µµ·Î À¯¿¬ÇÏÁö ¾Ê´Ù´Â ¶æÀ¸·Î Ç®¾î¼ ÇØ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. Hard
margin SVMÀº ´ÙÀ½°ú °°Àº °áÁ¤°æ°è½ÄÀ» °¡Áý´Ï´Ù.

¿©±â¼ ´Â ÃÊÆò¸éÀÇ ¹ý¼±º¤ÅÍÀÌ°í ´Â ¿øÁ¡±îÁöÀÇ °Å¸®¸¦ °áÁ¤ÇÏ´Â °ªÀÔ´Ï´Ù. ÀÌ·± °áÁ´°æ°è½Ä¿¡¼ dÀÇ ºÎÈ£·Î µ¥ÀÌÅ͸¦ ±¸ºÐÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ 0º¸´Ù Å©¸é ·Î, 0º¸´Ù ÀÛÀ¸¸é ·Î ºÐ·ùÇÕ´Ï´Ù.

ÃÊÆò¸éÀÇ ¾çÂÊ
¿µ¿ªÀÇ ¼Æ÷Æ®º¤ÅÍµé ±îÁöÀÇ °Å¸®°¡ °°¾Æ¾ß ÇÏ¸ç °è»êÀÇ ÆíÀǸ¦ À§ÇØ °Å¸®¸¦ 1·Î ÇÏ¸é °áÁ¤°æ°è½ÄÀ» ´ÙÀ½°ú
°°ÀÌ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.

µÎ ¿µ¿ªÀÇ ¼Æ÷Æ®º¤ÅÍ¿¡¼
ÃÊÆò¸é±îÁö °Å¸®¸¦ Àý´ë°ªÀ¸·Î º¯È¯ÇÏ¿© ´õÇÏ¸é ´ÙÀ½°ú °°Àº ½ÄÀ¸·Î Ç¥ÇöµÇ°í ÀÌ´Â ¸¶ÁøÀÇ Å©±â¿Í °°½À´Ï´Ù.

µû¶ó¼ ¸¶ÁøÀ» ÃÖ´ë·Î Çϱâ À§Çؼ´Â ¸¦ ÃÖ¼ÒÈÇÏ´Â ¸ñÀûÇÔ¼ö¸¦ ±¸ÇÏ¸é µË´Ï´Ù.
¸ñÀûÇÔ¼ö´Â °è»ê»óÀÇ ÆíÀǼºÀ» À§ÇØ ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³À´Ï´Ù.

ÇÏÁö¸¸
ÀÌ ¸ñÀûÇÔ¼ö¸¸ °¡Áö°í´Â µ¥ÀÌÅ͵éÀ» ¿Ïº®È÷ ºÐ·ùÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼ ´ÙÀ½°ú °°Àº Á¦¾à½ÄÀÌ ÇÊ¿äÇÕ´Ï´Ù.

¸ñÀûÇÔ¼ö¿Í Á¦¾à½ÄÀ» ÇѲ¨¹ø¿¡ µÎ°í °è»êÇϱâ À§ÇØ ¶ó±×¶ûÁÖ ½Â¼ö¹ýÀ» »ç¿ëÇÕ´Ï´Ù.
¶ó±×¶ûÁÖ ½Â¼ö¹ýÀº Á¦¾àÁ¶°ÇÀÌ ÀÖ´Â ÃÖÀûÈ ¹®Á¦¸¦ ´Ù·ê ¶§ »ç¿ëÇÏ´Â ¹æ¹ýÀÌÁö¸¸ ÀÚ¼¼ÇÑ ¼³¸íÀº »ý·«ÇϰڽÀ´Ï´Ù.
¶ó±×¶ûÁÖ ½Â¼ö¹ýÀ» »ç¿ëÇÏ¿© ¸ñÀûÇÔ¼ö¿Í Á¦¾àÁ¶°ÇÀ» °áÇÕÇϸé Á¦¾àÀÌ »ç¶óÁø »õ·Î¿î ÇüÅÂÀÇ ¸ñÀûÇÔ¼ö°¡ ¸¸µé¾îÁý´Ï´Ù. (´Ü, ¶ó±×¶ûÁÖº¯¼ö¿¡ ´ëÇÑ Á¶°ÇÀº ¸¸Á·ÇØ¾ß ÇÕ´Ï´Ù.)

»õ·Ó°Ô ±¸ÇÑ ¸ñÀûÇÔ¼ö¸¦ ÅëÇØ °ú ¸¦ ±¸ÇÏ¿© ±âÁ¸ÀÇ °áÁ¤°æ°è½Ä¿¡ ´ëÀÔÇÏ¸é ´ÙÀ½°ú °°Àº
ÃÖÁ¾ ÆÇº°ÇÔ¼ö½ÄÀÌ ³ª¿À°Ô µË´Ï´Ù.


»õ·Î¿î µ¥ÀÌÅͰ¡ µé¾î¿ÔÀ» ¶§ ÆÇº°ÇÔ¼ö½Ä¿¡ ´ëÀÔÇÏ¿© 0º¸´Ù Å©¸é +1·Î, 0º¸´Ù ÀÛÀ¸¸é -1·Î
ºÐ·ùÇÏ´Â °Í ÀÔ´Ï´Ù.
Soft margin SVM

ÇÏÁö¸¸ ¼±ÇüÀ¸·Î Á¤È®ÇÏ°Ô ºÐ·ùµÇ´Â µ¥ÀÌÅ͵éÀº ±ØÈ÷ µå¹°±â ¶§¹®¿¡ ¾à°£ÀÇ ¿ÀºÐ·ù¸¦ Çã¿ëÇÏ¿© ¸ðµ¨À» ±¸ÃàÇÏ´Â Soft margin SVMÀÌ ³ª¿À°Ô µË´Ï´Ù. ¸ðµç ÇнÀµ¥ÀÌÅÍ¿¡ ´ëÇØ
¿Ïº®ÇÏ°Ô ºÐ·ùµÇ´Â °ÍÀ» Á¦¾àÁ¶°ÇÀ¸·Î °¡Áö´Â ±âÁ¸ÀÇ HardÇÑ ¹æ¹ý¿¡¼ ¾à°£ÀÇ ¿ÀºÐ·ù¸¦ Çã¿ëÇϰí ÀüüÀûÀÎ
¼º´ÉÀ» ³ôÀÌ´Â SoftÇÑ ¹æ¹ýÀ¸·Î ¹ßÀü µÈ ÇüÅÂÀÔ´Ï´Ù.
Soft margin SVM¿¡¼´Â À߸ø ºÐ·ùµÈ µ¥ÀÌÅÍÆ÷ÀÎÆ®ºÎÅÍ ÇØ´ç°áÁ¤°æ°è±îÁöÀÇ
°Å¸®¸¦ ³ªÅ¸³»´Â ½½·¢º¯¼ö °¡ »ç¿ëµË´Ï´Ù. ½½·¢º¯¼öÀÇ Å©±â¸¸Å
ÃÊÆò¸éÀÇ À§ ¶Ç´Â ¾Æ·¡·Î ¿ÀºÐ·ù¸¦ Çã¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. µû¶ó¼ °¡ Ŭ¼ö·Ï ¿ÀºÐ·ùÀÇ Çã¿ë¹üÀ§°¡ ³Ð¾îÁö´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ½½·¢º¯¼ö¸¦ Ãß°¡ÇÏ¸é ´ÙÀ½°ú °°Àº ¸ñÀûÇÔ¼ö¿Í Á¶°Ç½ÄÀÌ ³ª¿À°Ô µË´Ï´Ù.


Hard margin SVM¿¡¼¿Í ¸¶Âù°¡Áö·Î ¶ó±×¶ûÁÖ ½Â¼ö¹ýÀ» ÀÌ¿ëÇÏ¿© ÃÖÀûÈµÈ ÆÄ¶ó¹ÌÅ͸¦ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¶Âù°¡Áö·Î ºÐ·ùÇÔ¼ö¿¡ ±¸ÇÑ ¸Å°³º¯¼öµéÀ» ´ëÀÔÇÏ¸é »õ·Î¿î µ¥ÀÌÅÍÀÇ ºÐ·ù¸¦ ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
Kernel
trick

Soft marginÀ» ÅëÇØ ¾à°£ÀÇ ¿ÀºÐ·ù¸¦ Çã¿ëÇÏ´Â ¼±ÇüºÐ·ùÀÇ À¯¿¬¼ºÀÌ »ý±â±ä ÇßÁö¸¸ ¾ÖÃÊ¿¡ ¼±ÇüÀ¸·Î ºÐ·ù°¡
ºÒ°¡´ÉÇÑ À§ ±×¸²°ú °°Àº µ¥ÀÌÅÍ´Â Kernel trickÀ» ÀÌ¿ëÇÑ SVMÀ»
ÅëÇØ ºÐ·ù°¡ °¡´ÉÇÕ´Ï´Ù.

À§ÀÇ ±×¸²Ã³·³
ÀúÂ÷¿øÀÇ ºñ¼±Çü ºÐ·ù°æ°è¸¦ °¡Áö´Â µ¥ÀÌÅ͸¦ °íÂ÷¿øÀ¸·Î ¸ÅÇÎ ½ÃŲ ÈÄ ºÐ·ù ÃÊÆò¸éÀ» ã±â À§ÇØ Â÷¿ø ¸ÅÇο¡ Ä¿³ÎÇÔ¼ö¸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù. ÇÏÁö¸¸ µ¥ÀÌÅ͵éÀ» °íÂ÷¿øÀ¸·Î ¸ÅÇÎÇϰí À̸¦ ´Ù½Ã ³»ÀûÇÏ´Â °úÁ¤¿¡¼ ¿¬»êÀÌ ¸Å¿ì Å©°Ô ´Ã¾î³ª´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. ±×·¡¼ ³ª¿À°Ô µÈ ¹æ¹ýÀÌ
Kernel trickÀÔ´Ï´Ù. ¸ÅÇÎÇÔ¼ö¸¦ ¶ó°í ÇÒ ¶§ ´Â =Ax °°ÀÌ
¼±Çüº¯È¯ÀÌ °¡´ÉÇÏ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ¼±Çüº¯È¯ÀÌ °¡´ÉÇÏ´Ù¸é ³»Àûµµ ¼±Çüº¯È¯À» ÅëÇØ °¡´É ÇÒ
°ÍÀÔ´Ï´Ù. µû¶ó¼ ¼±Çüº¯È¯ÀÌ ÀÌ·ç¾îÁö´Â µÎ ³»Àû°ø°£¸¸ Á¤ÀÇ ÇØÁÖ¸é ¸ÅÇΰú ³»ÀûÀ» µ¿½Ã¿¡ ÇÏ´Â ´ÙÀ½°ú
°°Àº Ä¿³ÎÇÔ¼ö¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

°íÂ÷¿ø¿¡¼ÀÇ º¹ÀâÇÑ
¿¬»ê¾øÀÌ ÀúÂ÷¿ø¿¡¼ ÇÔ¼ö°è»ê¸¸À¸·Î ¿øÇÏ´Â Ç®À̸¦ ÇÒ ¼ö ÀÖ´Â Ä¿³Î ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© Áõ°¡ÇÑ ¿¬»ê·®ÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ µÚ·ÎÀÇ ÆÇº°°æ°è¸¦ ±¸ÇÏ´Â °úÁ¤Àº ¾Õ¿¡¼ÀÇ °úÁ¤°ú °°½À´Ï´Ù. Ä¿³ÎÇÔ¼öÀÇ
Á¾·ù·Î´Â ±âº»ÀûÀÎ LinearÄ¿³Î°ú
´ÙÀ½°ú °°Àº Á¾·ùµéÀÌ ÀÖ½À´Ï´Ù.

¸¶Ä¡¸ç
¿À´ÃÀº ºÐ·ù¸ðÇüÀ¸·Î
¸¹ÀÌ ¾²ÀÌ´Â SVM¿¡´ëÇØ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. SVMÀº ¼±Çü°áÁ¤°æ°è¸¦
»ç¿ëÇÏ¿© ÀÌÁøºÐ·ù¸¦ ÇÏ´Â °ÍÀ» ±âº»À¸·Î ÇÏ´Â ¸ðµ¨ÀÌÁö¸¸ µ¥ÀÌÅÍ¿¡ µû¶ó À¯¿¬ÇÏ°Ô ´ëóÇÒ ¼ö ÀÖ´Â ¿©·¯°¡Áö ¹æ¹ýµéÀÌ ÀÖ½À´Ï´Ù. ¿À´Ã ¼Ò°³Çص帰 Soft marginÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅÍÀÇ noise¸¦ ÇØ°á ÇÒ ¼öµµ ÀÖ°í Kernel trickÀ» »ç¿ëÇÏ¿© ºñ¼±Çü
ºÐ·ùµµ ¼öÇàÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¿Ü¿¡ µ¥ÀÌÅÍ¿¡ ¶óº§ÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é Ŭ·¯½ºÅ͸µ±â¹ýÀ» ÅëÇØ ±×·ìȸ¦
ÁøÇàÇÏ¿© SVMÀ» °¡´ÉÄÉ ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ´Ù¹üÁÖ
¹®Á¦µµ ´ÙÁß ¹ÙÀ̳ʸ®ºÐ·ù·Î Á¢±ÙÇϸé 1´ë Àüü, ȤÀº ¸ðµç
¹üÁÖ¸¦ 1´ë1·Î ºñ±³ÇÏ´Â ¹æ¹ý µîÀ» ÅëÇØ ÇØ°á ÇÒ ¼ö ÀÖ´Ù°í
¾Ë·ÁÁ®ÀÖ½À´Ï´Ù.
Reference
https://dev.datasift.com/blog/building-better-machine-learned-classifiers-faster-active-learning
https://docs.opencv.org/2.4/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html
http://gentlej90.tistory.com/43
https://en.wikipedia.org/wiki/Support_vector_machine
https://www.slideshare.net/kambliruta/event-classification-prediction-using-support-vector-machine
http://blog.hackerearth.com/simple-tutorial-svm-parameter-tuning-python-r
http://www.cogsys.wiai.uni-bamberg.de/teaching/ss06/hs_svm/slides/SVM_and_Kernels.pdf
|