SVM гэж юу вэ?
Support Vector Machine (SVM) нь N хэмжээст орон зайд класс бүрийн хоорондох зайг хамгийн их байлгах оновчтой шугам эсвэл гипер хавтгайг (hyperplane) олох замаар өгөгдлийг ангилдаг хяналттай машин сургалтын (supervised machine learning) алгоритм юм.
SVM-үүдийг ангиллын асуудлуудад түгээмэл ашигладаг. Тэд өөр ангиллын хамгийн ойрын өгөгдлийн цэгүүдийн хоорондох заагийг хамгийн их байлгах оновчтой гипер хавтгайг олох замаар хоёр ангиллыг ялгадаг. Оролтын өгөгдлийн шинж чанаруудын тоо нь гипер хавтгай 2 хэмжээст орон зай дахь шугам уу эсвэл n хэмжээст орон зай дахь хавтгай уу гэдгийг тодорхойлно. Классуудыг ялгахын тулд олон гипер хавтгайг олж ба цэгүүдийн хоорондох заагийг хамгийн их байлгах нь алгоритмд ангиллын хоорондох хамгийн сайн шийдвэрийн хил хязгаарыг олох боломжийг олгодог. Энэ нь мөн шинэ өгөгдлийн таамаглалыг зөв гаргах боломжийг олгодог.
SVM алгоритм нь шугаман болон шугаман бус ангиллыг хоёуланг нь гүйцэтгэж чаддаг тул машин сургалтанд өргөн хэрэглэгддэг. Гэсэн хэдий ч өгөгдөл шугаман байдлаар тусгаарлагдах боломжгүй үед өгөгдлийн өндөр хэмжээст орон зайд хувиргахын тулд цөмийн функцуудыг ашигладаг. Цөмийн функцүүдийн энэхүү хэрэглээг “kernel trick” гэж нэрлэх бөгөөд шугаман цөм, олон гишүүнт цөм, радиаль суурь функц (RBF) цөм эсвэл сигмоид цөм гэх мэт цөмийн функцийн сонголт нь өгөгдлийн шинж чанар болон тодорхой хэрэглээний тохиолдлоос хамаарна.

SVM ангиллын төрлүүд:
Шугаман SVM:
Шугаман SVM нь өөр өөр ангиллын өгөгдлийн цэгүүдийг ялгахын тулд шугаман шийдвэрийн хил хязгаарыг ашигладаг. Өгөгдлийг нарийн шугаман байдлаар тусгаарлаж болох үед шугаман SVM нь маш тохиромжтой. Энэ нь нэг шулуун шугам (2 хэмжээст) эсвэл гипер хавтгай (өндөр хэмжээст) нь өгөгдлийн цэгүүдийг тус тусын ангилалд нь бүрэн хувааж чадна гэсэн үг юм. Ангилалуудын хоорондох заагийг хамгийн их байлгадаг гипер хавтгай бол шийдвэрийн хил хязгаар юм.
Математикийн хувьд энэхүү тусгаарлах гипер хавтгайг дараах байдлаар дүрсэлж болно.
wx + b = 0
- w нь жингийн вектор,
- x нь оролтын вектор,
- b нь хазайлтын гишүүн.
Шугаман бус SVM:
Шугаман бус SVM-ийг өгөгдлийг шулуун шугамаар хоёр ангилалд хуваах боломжгүй үед (2D тохиолдолд) ангилахад ашиглаж болно. Цөмийн функцийг ашиглан шугаман бус SVM нь шугаман бус салгаж болох өгөгдлийг боловсруулж чадна. Анхны оролтын өгөгдлийг эдгээр цөмийн функцууд нь өгөгдлийн цэгүүдийг шугаман байдлаар тусгаарлаж болох өндөр хэмжээст орон зай болгон хувиргадаг. Энэхүү өөрчлөгдсөн орон зайд шугаман бус шийдвэрийн хил хязгаарыг олоход шугаман SVM ашигладаг.

SVM өгөгдлийг яаж ангилдаг вэ?
Улаан өнгийн бөмбөлгүүдийн хил хязгаар дахь цэнхэр бөмбөлөг нь цэнхэр бөмбөлгүүдийн гаднах утга юм. SVM алгоритм нь гаднах утгыг үл тоомсорлох шинж чанартай бөгөөд зах хязгаарыг хамгийн их байлгах хамгийн сайн гипер хавтгайг олдог. SVM нь гаднах утгуудад тэсвэртэй байдаг.

Зөөлөн хязгаар нь ерөнхийлөлтийг сайжруулахын тулд зарим буруу ангилал эсвэл хязгаарын зөрчлийг зөвшөөрдөг. SVM нь хязгаарыг хамгийн их байлган, penalty-г багасгаж, тэнцвэржүүлэхийн тулд дараах тэгшитгэлийг оновчтой болгодог:
Objective Function = (1/margin) + λΣpenalty
Зөрчлийн шийтгэлийг ихэвчлэн дараах шинж чанартай алдагдал гэж үздэг.
- Хэрэв өгөгдлийн цэгийг зөв ангилсан бөгөөд хязгаар дотор байвал торгууль байхгүй (алдагдал = 0).
- Хэрэв цэгийг буруу ангилсан эсвэл хязгаарыг зөрчсөн бол алдагдал зөрчлийн зайтай пропорциональ байдлаар нэмэгдэнэ.
Хэрэв өгөгдлийг шугаман байдлаар тусгаарлах боломжгүй бол яах вэ?

Цөм гэдэг нь өгөгдлийн цэгүүдийг тухайн орон зай дахь координатыг тодорхой тооцоолохгүйгээр өндөр хэмжээст орон зайд буулгадаг функц юм. Энэ нь SVM-д зураглалыг шууд бусаар гүйцэтгэснээр шугаман бус өгөгдөлтэй үр ашигтай ажиллах боломжийг олгодог. Жишээлбэл, шугаман тусгаарлагдах боломжгүй өгөгдлийн цэгүүдийг авч үзье. Цөмийн функцийг хэрэглэснээр SVM нь өгөгдлийн цэгүүдийг шугаман тусгаарлагдах боломжтой өндөр хэмжээст орон зай болгон хувиргадаг.
- Шугаман kernel: Шугаман тусгаарлах боломжтой.
- Олон гишүүнт kernel: Өгөгдлийг олон гишүүнтийн орон зайд буулгадаг.
- Радиал суурийн функц (RBF) kernel: Өгөгдлийн цэгүүдийн хоорондох зайд үндэслэн өгөгдлийг орон зайд хувиргадаг.

Боловсролыг инженерчлэв.
