본문 바로가기
Computer Science/Algorithms

[알고리즘] Machine Learning Algorithm: Support Vector Machine(SVM)

by Henry Cho 2022. 6. 1.
728x90

Machine Learning Algorithm: Support Vector Machine(SVM)


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# SVM

Support vector machine은 SVM이라고 불리는 Supervised learning(지도 학습) 방식의 Machine learning algorithm이다.

Mahcine learning algorithm이면서 Supervised learning에 해당하기 때문에 분류와 회귀에 대한 문제 해결에 주로 사용되는 알고리즘이다.

따라서 데이터를 분석하는 Data science 분야에서 많이 사용되는 대표적인 알고리즘의 하나이기도 하다.

SVM의 또 다른 주요한 특징은 다차원 공간의 데이터 또는 노드 간의 관계성을 성립하는데 필요한 알고리즘이라는 점이다.

Hyperplane이라고 하는 초평면에서 데이터 또는 노드들을 분류하며, 이러한 다차원 공간의 데이터 처리를 Hyperplan에서 N-dimensional space data point를 처리한다고 부른다.


# Hyperplane and N-dimensional space

Hyperplane(초평면)에서 N-dimensional space의 데이터를 처리하기 위해서 SVM에서는 두 가지를 비교 분석한다.

먼저 분류 작업이 이루어진 두개의 classes에서 data point를 지정한다.

Data point를 기준으로 Maximum margin과 Optimal hyperplane을 찾아낸다.

이를 통해 결과적으로 N-dimenasional space에 있는 데이터 또는 노드의 결과를 산출하고 이후에 Maximum argin과 Optimal hyperplane을 기반으로 RL(Reinforce Learning)까지 이루어질 수 있다.


# Maximum margin

두개의 classes 사이에서 Data point를 지정하고 Maximum margin을 설정하는 이유는 RL를 하는데 필요하기 때문이다.

물론 SVM 알고리즘을 통해서 데이터를 분류하는 과정도 중요하지만 이후에 Maximum margin을 통해서 Optimal hyperplan을 찾아낼 수 있고 이를 기반으로 추가적인 데이터를 기반으로 RL을 할 수 있기 때문이다.

이후에 추가되는 데이터 또는 노드들이 많아지고 RL 기반으로 학습이 이루어진다면 SVM 알고리즘 기반으로 구성된 ML 결과의 정확도나 신뢰도도 높아진다.


 

728x90

댓글