본문 바로가기

데이터 다루기/머신러닝 이론

(43)
[머신러닝] 의사결정 나무 (Decision Tree) 안녕하세요, 이번 포스팅에서는 의사결정 나무에 대해서 배워보도록 하겠습니다. 의사결정나무는 초등학생 때 수학시간에 배웠었던거 기억하시나요? 의사결정나무는 위와 같은 형태를 가지고 있는데, 마치 나무에 가지가 계속해서 연결되고, 가지에서 잎들이 나오는 형태와 비슷해서 이와 같은 이름으로 불려졌다고 합니다. ​ 의사결정나무는 머신러닝에 대한 지식이 아무것도 없는 사람 조차도 결과를 이해하기 쉽기 때문에, 굉장히 많이 사용되는 모델입니다. 하지만 실제로, 수리적으로 어떻게 분류가 되는것인지를 파고들어가면 마냥 쉽지는 않습니다. ​ 의사결정나무는 기본적으로 분류 문제에서 사용되지만, 회귀 문제에도 사용 될 수 있도록 한 CART (Classification and Regression Tree)로도 발전이 되어 ..
[머신러닝] Logistic Regression 안녕하세요, 이번 포스팅에서는 Logistic Regression에 대해서 배워보도록 하겠습니다. 일반적으로, 저희가 배운 선형회귀분석, Ridge, Lasso Regression 은 종속 변수 Y가 연속형일 때 사용되었습니다. 그렇다면, 분류 문제에 대해서 회귀분석을 사용할 수 있을까요?? ​ 이처럼 선형 회귀 모형을 범주형 종속 변수를 가지는 분류 문제에 사용하기 위해 나온 모델이 로지스틱 회귀 모형입니다. 회귀 모형의 출력값은 연속형 변수인것은 변함이 없습니다. 그렇기 때문에, 로지스틱 회귀 모형은 확률을 예측합니다. 예를 들어서, 성공 (1), 실패 (0)을 예측한다고 가정을 할 때, X=x 의 값을 가질 때, 실제로 성공이 될 확률을 예측하는 것입니다. 만약 성공일 확률이 0.5보다 높다고 한다..
[머신러닝] Lasso Regression 안녕하세요, 이번 포스팅에서는 저번 포스팅에서 언급했다시피 Ridge Regression의 한계점인 회귀 계수를 0으로 만들지 못하는 한계를 극복한 Lasso Regression 입니다. ​ ​ Lasso Regression과 Ridge Regression 의 차이는 패널티 항에서 비롯됩니다. ​ 그렇다면 여기서 한가지 질문이 있을 수 있습니다. Lasso Regression과 Ridge Regression의 패널티의 항의 어떤 차이가 Lasso 는 회귀 계수를 0으로 만들 수 있지만, Ridge 는 회귀 계수를 0으로 만들지 못하는 것일까요? ​ 그것은 Lasso Regression과 Ridge Regression에서 회귀 계수 ß 를 추정할 때, 최적화 식으로 변경하여 해를 구할 수 있는 데, 이 식..
[머신러닝] 능형 회귀 모형 (Ridge Regression) 안녕하세요, 이번 포스팅에서는 선형회귀분석의 발전 단계인 능형 회귀 모형에 대해서 배워보도록 하겠습니다. 능형 회귀 분석은 축소 방법 (Shrinkage method) 중 하나로, 모형에 분산을 줄여주는 효과를 가져옵니다. 일반적으로 많은 수의 변수를 가지고 선형회귀분석을 하면, Train R-squared는 좋아지지만, 이는 overfitting을 발생시킵니다. 즉, 실제로 새로운 값에 대하여 값을 예측할 때, 성능이 점점 안좋아지게 됩니다. 따라서 능형 회귀 모형은 일반적인 선형 회귀 분석의 ß를 추정하는 과정에서, 패널티 항을 추가합니다. 이 때, λ 의 값은 hyperparameter로 분석자가 정해줘야 하는 값입니다. λ 를 너무 크게 정해주면 ßj 들이 전부 0과 가까운 값으로 수렴하게 되고,..
[머신러닝] 선형 회귀 분석 (2) 안녕하세요, 선형 회귀 분석 두번째 시간입니다. 이번 시간에는 선형회귀분석의 적합과 성능 평가에 대해서 알아보도록 하겠습니다. 선형 회귀 분석은 실제값과 예측값 사이의 오차 제곱들의 합 (SSE)을 최소로 하는 β를 추정하게 됩니다. 이 포스팅에서는 머신러닝에서의 선형 회귀 분석의 활용을 다루기 때문에 자세한 수리적 내용을 생략하도록 하겠습니다. 이 과정의 자세한 내용은 통계의 회귀 분석 파트에서 다루도록 하겠습니다. ​ 선형회귀분석의 성능을 측정하는 지수로 결정계수 (R2: R-squre)가 있습니다. 결정계수이 가지는 의미를 쉽게 설명하자면, 우리가 일반적으로 Y값을 예측한다고 할 때, Y의 평균으로 예측하는것이 일반적이잖아요? 결정계수는 우리가 선형회귀모형으로 예측한 값이 그냥 평균으로 예측한 값보..
[머신러닝] 선형 회귀 분석 (1) 안녕하세요, 이번 시간부터는 선형 회귀 분석에 대해서 알아보도록 하겠습니다. 일반적으로 회귀 분석은 독립 변수 x = (x1, x2, ···, xp)가 주어질 때, 종속 변수 y의 조건부 기댓값 (E(yⅠx))를 추정하는 것을 말합니다. 즉, 쉽게 말해서 데이터 x가 주어질 때, 가질 수 있는 y값의 기댓값을 추정한다는 것입니다. 따라서, 회귀 모형의 추정식은 다음과 같습니다. 회귀 모형을 추정할 때에, 데이터의 개수 n이 p보다 작은 경우, 굉장히 많은 solution이 존재하기 때문에, β가 불안정하게 됩니다. n=p 인 경우, 만약 x들이 서로 선형 독립이라면, y = f(x,β)가 완벽하게 풀리게 되며 유일한 solution을 얻을 수 있습니다. 가장 흔한 경우인 n>p인 경우에는 정확한 solu..
모델 평가 안녕하세요, 오늘은 저희가 적합한 머신러능 모델의 평가 방법에 대해서 알려드리도록 하겠습니다. ​ 1. 성능 평가 방법 우선 모델평가 방법은 저희가 가지고 있는 데이터의 숫자가 적을 때와 많을 때 두가지로 나뉜다고 할 수 있습니다. 데이터의 개수가 많을 때는 Data set을 쪼깸으로써 평가를 진행합니다. 위의 그림처럼 데이터셋을 Train set, Validation set, Test set으로 나눌 수 있습니다. ​ ① Train set Train 데이터 셋은 모델을 훈련시킬 때 사용됩니다. 이 때 모델을 너무 복잡하게 만든다면 앞에서 배웠다시피 overfitting이 발생할 수 있으니 유의해야합니다. ​ ② Validation set Validation 데이터 셋은 우리가 Train set에서 적합..
Bias & Variance Trade-off 안녕하세요, 오늘은 머신러닝에서 Bias term 과 variance term의 트레이드 오프 관계에 대해서 알려드리겠습니다. Bias는 우리가 적합한 머신러닝 모델이 실제값과 얼마나 닮았는가를 나타내는 지표입니다. 영어로는 goodness-of-fit라고 말하기도 합니다. 반면에, variance는 모델이 우리가 훈련 시킨 데이터 셋 이외의 데이터 셋에도 얼마나 잘 들어맞는지에 대한 지표입니다. variance는 일반적으로 모델이 복잡해질수록 높아지는 성향이 있습니다. ​ 위의 그림이 Bias와 Variance에 대해 시각적으로 표현 해줍니다. 1번 그림같은 경우는 모델이 매우 심플하기 때문에 variance는 작지만, 실제값과 모델간의 차이가 상당하므로 높은 bias를 가지고 있다고 할 수 있습니다...