반응형

머신 러닝 2

[OpenCV 머신러닝] 서포트 벡터 머신 알고리즘이란?

서포트 벡터 머신(SVM, Support Vectir Machine) 알고리즘 SVM 알고리즘은 머신러닝 알고리즘에서 가장 유명하고 많이 사용되고 있습니다. SVM 알고리즘은 기본적으로 두 개의 그룹(데이터)을 분리하는 방법으로 데이터들과 거리가 가장 먼 초평면(hyperplane)을 선택하여 분리하는 방법입니다. 데이터를 분리하기 위해 직선이 필요합니다. 직선이 한쪽 데이터로 치우쳐져 있으면 데이터에 변동이나 노이즈가 있을 때 제대로 구분 못할 수 있습니다. 이러한 문제점을 해결하기 위해 margin을 이용하게 됩니다. 이 직선을 초평면(hyperplane)이라고 합니다. Support Vector은 데이터를 의미합니다. margin은 초평면과 가장 가까이 있는 데이터와의 거리를 의미합니다. 마진을 최..

[OpenCV 머신러닝] OpenCV로 k 최근접 이웃 알고리즘(KNN) 구현하기 - cv2.ml.KNearest_create

k 최근접 이웃 알고리즘 - KNN, k-Nearest Neighbor k 최근접 이웃 알고리즘은 특징 공간에서 테스트 데이터와 가장 가까이 있는 k개의 학습 데이터를 찾아 분류 또는 회귀를 수행하는 지도 학습 알고리즘의 하나입니다. 학습 데이터가 녹색이라고 가정하였을 때 원래 데이터(파랑색, 빨강색)중 가장 가까지 있는 데이터의 클래스를 부여합니다. 위 사진에서 녹색 데이터는 빨강색 데이터와 가까이 있지만 빨강색 데이터라고 판단하기에는 애매합니다. 이처럼 잘못 분류될 가능성이 있는데 이를 해결하기 위해 가장 가까이 있는 것을 k개 찾습니다. 선별한 k개 데이터에서 파랑색, 빨강색 데이터 개수를 세어 더 많이 선별된 데이터의 클래스를 부여하게 됩니다. 예를 들어 5개 데이터를 선별했을 때 3개가 파랑색,..

반응형