반응형

KNN 3

[ISLR] Classification - Logistic Regression, LDA, QDA, KNN

Classification 분류는 범주형 자료를 다룹니다. 더미 변수를 활용하면 범주형 자료를 선형 회귀로도 풀 수 있지만, X의 범위가 제한되지 않고 Y값을 확률로 출력하지 않는 문제점이 있습니다. 1. 로지스틱 회귀(Logistic Regression) p(X) 확률을 logistic function을 사용합니다. 최대 가능도가 높은 값을 갖는 계수 B0, B1을 추정합니다. X가 2개 이상일 때는 다음과 같이 확장할 수 있습니다. 특징 결정 경계를 선형으로 예측합니다. X의 분포가 가우시안이 아닌 경우에 LDA보다 좋은 성능을 나타냅니다. 출력값을 확률로 나타낼 수 있습니다. Y가 2개 이상인 경우에 LDA를 주로 사용합니다. 2. 선형 판별 분석(LDA, Linear Discriminant Ana..

[OpenCV 머신러닝] OpenCV로 KNN 필기체 숫자 인식 프로그램 구현하기

k 최근접 이웃 알고리즘을 이용한 필기체 숫자 인식 만약 정해진 폰트로 인쇄된 숫자라면 템플릿 매칭으로도 숫자 인식이 가능합니다. OpenCV 필기체 숫자 데이터는 OpenCV 깃허브에서 제공하는 숫자 데이터를 이용했습니다. opencv/opencv Open Source Computer Vision Library. Contribute to opencv/opencv development by creating an account on GitHub. github.com 데이터에는 20X20 숫자 영상이 가로 100개, 세로 50개 총 5000개의 숫자가 있습니다. 각 행에 100개의 데이터가 있고 각 숫자(0~9)는 5줄마다 구분 됩니다. 이 데이터를 이용해서 머신러닝 알고리즘을 학습시키고 추론까지 진행해 보..

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

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

반응형