본문 바로가기

파이썬 (Python)/머신러닝 (Machine Learning)

(5)
차원 축소 (Dimension reduction) feature variable, 즉 X 변수가 너무 많아 차원 축소를 하고 싶을 때 크게 두 가지 방법을 사용할 수 있다. 1) 불필요한 특성 변수 제거 2) 특성변수의 정보 대부분을 가진 새로운 변수로 차원 축소 여기에서는 2) 의 방법을 사용하는 method를 소개하도록 하겠다. 각 머신러닝 기법을 소개하기 전에, 새로운 변수로 차원 축소를 할 때의 보편적인 특징을 알고 가자. 기존의 d차원의 벡터를 l차원으로 바꿀 때, l개의 서로 다른 linear combination으로 새로운 변수를 설명할 수 있으며, 이 새로운 l개의 특성변수는 uncorrelated ( = orthogonal = linearly independent) 하다. 딥러닝의 은닉층이 비슷한 역할을 한다고 볼 수 있다. PCA (P..
Support Vector Machine (SVM, 서포트벡터머신) SVM은 regression과 classification 모두로 활용될 수 있다. 여기서는 classification을 한다고 생각하고 소개하도록 하겠다. Linear SVM 어떤 두 개의 그룹을 직선으로 나눌 수 있다고 가정하자. 이 때, 그을 수 있는 직선은 여러 가지가 될 수 있는데 SVM은 밴드가 가장 큰 것이 합리적이라고 본다. 밴드는 각 그룹에서 직선에 가장 가까운 관측치를 기준으로 그은 직선 사이의 거리이다. 수식으로 봤을 경우, 표준화가 필요함을 참고하자. 그러나 현실에서는 이처럼 분류가 잘 되지 않는 경우가 대부분이다. 즉, SVM으로 선형 분류선을 그었는데 error (오차)가 생길 수 있다. 따라서 이러한 오차를 조절해주는 완화변수(slack variable)가 필요하다. 오차가 없으..
CART (Decision Tree) CART = Classification and Regression Trees 의 약자로 decision tree의 일종이다. CART의 가장 큰 장점은 - 특성변수(X)가 연속형이든 범주형이든 상관없이 적용할 수 있다는 점 - 이상치에 영향을 받지 않는다는 점 이다. decision tree를 만들 때 중요한 것은 1. 노드 선택의 기준 2. 나무의 깊이 이다. 깊이가 너무 깊으면 overfitting의 위험이 있다. 회귀 나무와 분류 나무 각각에서 어떻게 선택해야 하는지 보도록 하겠다. Regression tree (회귀 나무) - y가 연속변수일 때 사용하며, 각 cell/region에서 평균값을 할당한다. - 노드 선택의 기준: 특성변수별로 왼쪽과 오른쪽의 분산을 더하여 SSE를 계산한다. 좋은 나..
Ridge & Lasso (리지, 라소) Ridge와 Lasso 규제화에 대해 이해한 바를 간단하게 정리해 놓고자 한다. 먼저 리지와 라소는 모형의 과대적합이 의심되는 경우에 사용된다. 1. Ridge 리지 규제화 (L2 규제화)의 기본 형식은 아래와 같다. 이 때, l(w)은 손실함수이며 wj 는 특성변수 x에 대한 가중치이다. 중요하게 보아야 할 것은 lambda 이다. lambda는 규제의 강도(regularization strength)를 나타내는 초모수이다. 만일 lambda 가 크다면: = 원이 작아진다 = w값이 작아진다 = 가중치가 작아진다 = 규제화의 정도가 낮아진다 (weight에 대한 restriction이 낮아진다) = 모형을 원래대로 살려놓는다. Lasso와 다른 점은, wj가 0에 가까워질 수는 있지만 정확히 0의 값을..
불균형자료 처리 (Imbalanced data) 머신러닝의 목적이 분류일 때, 클래스 비율의 차이가 너무 크면 majority에만 맞추려고 하는 문제가 생길 수 있다. 이렇게 하면 과대적합의 문제가 생길 수 있다. 이를 해결하기 위해 인위적으로 클래스의 비율을 맞추어 줄 수 있는데, 크게 과소표집과 과대표집 두 가지 방법이 있다. - 일반적으로 과대표집이 과소표집보다 통계적으로 유용하다. 과소표집은 표본의 수를 줄이기 때문 1. 과소표집 (Undersampling) : major 클래스의 표본을 임의로 제거하여 minor 클래스에 맞추어주기 2. 과대표집 (Oversampling) : minor 클래스의 표본을 복제하여 major 클래스에 맞추기 (1) SMOTE (Synthetic Minority Oversampling Technique, 합성소수표..