머신러닝을 좀 더 알아보자!
어떤 범주로 나누어져있는 데이터 셋이 있을 대, 새로운 데이터가 추가된다면 이를 어떤 범주로 분류할 것인지를 결정할 때 사용하는 분류 알고리즘지도 학습의 한 종류k-NN 알고리즘에서는 새로운 데이터의 클래스(범주)를 해당 데이터와 가장 가까이 있는 k개 데이터들의 클래스(범주)로 결정
▲의 클래스 구분을 하려고 할 때, 주변에 있는 이웃의 개수를 k라고 하면 k=1이면 ★로 분류되고 k=3일 경우 ●으로 분류된다.다수결과 같이 분류하고자 하는 데이터와 가장 가까운 이웃들이 주로 속해 있는 클래스(범주)를 선택k의 선택은 학습의 난이도와 데이터의 개수에 따라 결정훈련 데이터 개수의 제곱근으로 설정k가 너무 큰 경우 : 과소적합(Underfitting)k가 너무 작은 경우 : 과대적합(Overfitting)유클리디안 거리(Euclidean dist) -- 대표맨하탄 거리(Manhattan dist)민코우스키 거리(Minkowski dist)유클리디안 거리 공식을 이용해 구하고자 하는 데이터 z1, z2와 기존 7개의 데이터들 사이의 거리를 산출
k를 3으로 선정하고, 계산된 객체 간의 거리를 활용해 z1과 z2의 가장 인근에 잇는 데이터들과 범주를 파악
z1의 이웃은 A,B,B이므로 B범주로 분류
z2의 이웃은 B,A,A이므로 A범주로 분류
| 장점 | 단점 |
|---|---|
| - 사용이 간단 - 범주를 나눈 기준을 알지 못해도 데이터 분류 가능 - 추가된 데이터의 처리 용이 | - k값 결정이 어려움 - 수치형 데이터가 아닐 경우 유사도를 정의하기 어려움 - 데이터 내에 이상치가 존재하면 분류 성능에 큰 영향 |
지도학습 머신러닝 모델회귀와 분류 문제 해결에 사용되는 비확률적 이진 선형 분류 모델 생성기존 분류기가 오류율 최소화를 특징으로 한다면,SVM은 마진 최대화로 일반화 능력의 극대화를 추구마진이 가장 큰 초평면을 분류기(Classifier)로 사용 시 새로운 자료에 대한 오분류가 가장 낮음SVM 분류 모델은 데이터가 표현된 공간에서 분류를 위한 경계 정의분류되지 않은 새로운 값이 입력되면, 경계의 어느 쪽에 속하는지를 확인하여 분류 과제 수행
●과 ■를 구분 짓는 경계선은 아주 많이 생성될 수 있다.SVM은 두 집단에 속한 각 데이터들 사이에서 가장 큰 폭(마진)을 가진 경계를 찾음결정 초평면(Decision Hyperline) : 데이터의 각 그룹을 구분하는 분류자서포트 벡터(Support Vector)초평면에 가장 가까이 붙어 있는 최전방 데이터들이 결정 경계를 지지(Support) 하므로, 해당 점을 서포트 벡터라 함.마진(Margin) : 서포트 벡터와 초평면 사이의 수직 거리SVM은 이처럼 고차원 혹은 무한 차원의 공간에서 마진(Margin)을 최대화하는 초평면(Maximum Margin Hyperplane : 최대 마진 초평면, MMH)을 찾아 분류와 회귀 수행| 장점 | 단점 |
|---|---|
| - 분류와 예측에 모두 사용 - 신경망 기법에 비해 과적합 정도가 낮음 - 예측의 정확도 높음 - 저차원과 고차원의 데이터에 대해서 모두 잘 작동 - 비선형 분리 데이터를 커널트릭을 사용해 분류 모델링 가능 | - 데이터 전처리와 매개변수 설정에 따라 정확도가 달라짐 - 예측이 어떻게 이루어지는지에 대한 이해와 모델에 대한 해석 어려움 - 대용량 데이터에 대한 모형 구축 시 속도가 느리며, 메모리 할당량이 큼 |
변수들에 대한 조건부 독립을 가정하는 알고리즘클래스에 대한 사전 정보와 데이터로부터 추출된 정보를 결합하고, 베이즈 정리(Bayes' Theorem)를 이용해 어떤 데이터가 특정 클래스에 속하는지 분류텍스트 분류에서 문자를 여러 범주(ex.스팸, 경제, 스포츠) 중 하나로 판단하는 문제에 대한 솔루션나이브 베이즈 알고리즘의 기본이 되는 개념두 확률변수의 사전확률과 사후확률 사이의 관계를 나타내는 정리
사건 A와 B가 있을 때, 사건 B가 일어난 것을 전제로 한 사건 A의 조건부 확률을 구하려고 함 (P(A|B))사건A가 일어난 것을 전제로 한 사건B의 조건부 확률(P(B|A)), A확률, B확률P(A|B)를 위의 식으로 구할 수 있다는 것이 베이즈 정리나이브 베이즈 분류는 하나의 속성 값을 기준으로 다른 속성이 독립적이라 전제했을 때, 해당 속성 값이 클래스 분류에 미치는 영향 측정클래스 조건 독립성(Class Conditional Independence)속성값에 대해 다른 속성이 독립적이라는 가정데이터 셋에 특성(독립변수) X=(x1,x2,...,xn)을 담고 있고,k개의 클래스 라벨(C1, C2,...,Ck)이 있을 때 아래 식 만족
조건부 확률 P(Ci|X)이 최대일 경우를 찾으며, 아래 식으로 확률 계산
P(X|Ci)의 계산을 위해 클래스 조건 독립성을 두고 아래 식으로 계산
군집분석에서 군집 수를 결정하는 방법군집 수에 따라 군집 내 총 제곱합을 플로팅하여 팔꿈치의 위치를 적절한 군집 수로 선택
x축의 클러스터 수를 늘려가며 계산한 SSE를 y축으로 하여 그래프SSE값이 점점 줄어들다가 어느 순간 줄어드는 비율이 급격하게 작아지는 부분이 생김그래프 모양을 보면 팔꿈치에 해당하는 부분이 우리가 구하려는 최적의 클러스터 개수2~5 사이의 값이 팔꿈치라고 판단실루엣 계수를 사용한 클러스터링의 품질을 정량적으로 계산하는 방법실루엣 계수 : 한 클러스터 안에서 데이터들이 다른 클러스터와 비교해 얼마나 비슷한가를 나타내는 것-1~1 사이의 값을 가짐1에 가까움 : 완벽한 군집화-1에 가까움 : 군집화가 전혀 안됨군집 간 거리의 최솟값을 분자, 군집 내 요소간의 거리 최댓값을 분모로 하는 지표DI값이 클 수록 군집이 잘 됨