6. Introduction to Statistical Learning

2024. 12. 4. 15:38Computer Science/회귀분석과 통계학습

6.1. Statistical Learning [ Learning에서는 Nonlinearity, X들 사이의 interaction (비선형끼리도) ]

1. 정의 

  • 데이터를 이해하기 위한 vast/huge 도구들의 집합
  • 데이터를 조사하는 모든 과정은 통계적 학습의 과정으로 볼 수 있다. 
  • 항상 "예측"만이 목적인 것은 아니다.

2. 지도 학습 vs 비지도 학습

  • Supervised Learning
    • Xs=Y
    • predict y with Xs
    • 하나 이상의 입력에 기반하여 출력을 예측하거나 추정하기 위한 통계 모델을 구축한다.
    • 즉, 입력과 출력 간의 상호 관계를 다룬다.
    • ex) 회귀 모델 (regression models)

supervised Learning - regression models

  • Unsupervised Learning
    • Correlations among Xs (cluster y)
    • 입력만 존재하고, 관리되는 출력이 없다.
    • 하지만, 데이터에서 관계와 구조를 학습할 수 있다.
    • 군집화 (clustering)

unsupervised learning - clustering

 

3. Statistical Learning의 역사

  • 19세기: 최소제곱법 (Least Squares) -> 선형 회귀 (Linear Regression)
  • 1936년: 선형 판별 분석 (Linear Discriminant Analysis) 제안. ex) 생존 여부, 주식 시장 상승/하락 예측.
  • 1940년대: 로지스틱 회귀 (Logistic Regression) 사용.
  • 1970년대 초: 일반화 선형 모델 (Generalized Linear Model) 개발. -> 선형 회귀와 로지스틱 회귀 모두를 포함한 통계적 학습 방법 전체를 설명.
  • 1980년대 말: 컴퓨팅 기술의 발전과 함께 비선형 모델 (Non-linear Models) 대두.
  • 1980년대 중반: 분류 및 회귀 트리 (Classification and Regression Trees) 개발. -> 1980년대 중반: 분류 및 회귀 트리 (Classification and Regression Trees) 개발
  • 1980년대: 신경망 (Neural Networks)의 인기가 상승.
  • 1990년대: 서포트 벡터 머신 (Support Vector Machines) 등장.

4. 통계적 학습의 중요한 전제

  • 통계적 학습은 series of black boxes로 여겨져서는 안된다.
  • 각각의 방법에 대한 모델, 직관, 가정, 그리고 절충점을 신중히 설명해야 한다.
  • 각 방법이 수행하는 역할을 이해해야 한다.

6.2. Basic Steps of Statistical Learning

1. Statistical Learning with Large Data

  • ex) 데이터셋이 Y값과 200개의 예측 변수를 포함하고 있다고 가정한다.
  • 목표는, 예측 변수에 기반하여 Y를 예측할 수 있는 정확한 모델을 개발하는 것이다.
  • ex) Y=판매량(sales), X=광고(media)일 때, 선형 (linear)형태가 괜찮을까..?

linear?

2. 일반 공식

  • 양적 반응 변수 (Y)와 여러 개의 예측 변수(X1, X2, ..., Xp)가 주어진다고 가정한다. 
  • 𝑌 = 𝑓(𝑋) + 𝜖 :  f는 X₁, X₂, ..., Xₚ의 고정된(unknown) 함수, 𝜖는 랜덤 오차항으로, X와 독립적이며 평균이 0인 값.
  • 만약 f가 비선형 함수라면...? 
    • Statistical Learning이란, f를 추정하기 위한 접근법들의 집합을 의미한다. 

  • f를 추정하는 이유: 우리는 f를 추정하고자 하며, 그 목적은 2가지로 나뉜다. - 예측과 추론.

3. 예측 (prediction)

  •  많은 상황에서, 입력값 X는 쉽게 얻을 수 있지만, 출력값 Y는 쉽게 얻을 수 없다.
  • 오차항의 평균이 0이라고 가정하면, 다음과 같이 Y를 예측할 수 있다.
    • Y^=f^(X)
    • 여기서 f^는 f의 추정값이고, Y^는 예측된 Y의 값이다.
  • prediction에서는 f^를 black box라고 간주하는 경우가 많다. : 즉, f^의 구체적인 형태에 신경 쓰지 않고, 정확한 예측값을 제공하는지에 초점을 맞춘다. 

빨간점 - True Y / Obseved Y, 파란영역 - Predicted Y

  • Prediction의 정확성
    • Y^가 Y의 예측값으로서의 정확성은 2가지 요인에 의해 결정된다.
      • Reducuble Error: f^는 완벽한 추정치가 아니기 때문에 발생하는 오차. 모델을 개선하여 줄일 수 있다. 
      • Irreducible Error: X로 예측할 수 없는 오차로, 최적으 모델링 후에도 𝜖는 여전히 존재한다. 즉, 완벽한 예측은 불가능하다.
  • Model 최적화 (optimization)
    • 줄일 수 있는 오차를 최소화하는 모델을 만드는 것이다. → f를 최소화하여 Reducible Error를 줄이는 것에 초점.

★ 암기

6.3. How Estimate f?

1. 선형 및 비선형 접근법

  • prediction과 interpretability (예측 성능과 해석 가능성) 사이에 균형이 필요하다. (trade-off)
    • 더 많은 flexibility가 예측 정확도를 반드시 높인다는 의미는 아니다. 

Black box 문제

  • parametric(모수) method: 분포 가정을 전제로 한 모델 기반 접근법. 추론에 더 유리
    • 선형 모델 : f(x) =
  • nonparametric(비모수) method: 함수 형태에 대한 가정을 하지 않는다. 
    • 비선형 모델 : 더 유연하고 정확한 예측을 제공한다. 
    • 단점: 하지만 , f를 추정하는 문제를 소수의 파라미터로 축소하지 않기 때문에 매우 큰 샘플 사이즈가 필요하다.

 

2. 모델 정확도

  • 모델의 정확도를 측정하는 주요 지표 중 하나는 평균제곱오차(MSE)이다. 
    • Training MSE : 훈련 데이터에서 계산된 오차
    • Test MSE: 보지 않은 새로운 데이터에서 계산된 오차 → Test MSE가 더 중요 → Test MSE는 모델이 실제 데이터를 얼마나 잘 예측하는지 알려준다. 
  • Training MSE가 낮다고 해서 항상 좋은 모델을 의미하지는 않는다. Test데이터에서의 예측 정확도가 중요하다. Training 데이터에서 잘 맞은 모델이 실제 새로운 데이터에서 잘 맞지 않으면 overfitting(과적합)이 발생한 것이다. 

★ ★ ★

  • 편향-분산 균형 : 편향과 분산을 모두 최소화하는 방법을 찾는 것! 
    • 편향: 모델이 실제 함수와 얼마나 다르게 예측하는지를 나타낸다.
    • 분산: 훈련 데이터에 따라 모델이 얼마나 달라지는지를 나타낸다. 유연한 모델일수록 분산이 커지며, 편향은 낮다. 작은 데이터 변경에 대해 예측이 크게 달라질 수 있다. 

암기
중요-nonlinear

  • 분류 문제에서의 정확도
    • 분류 문제에서는 오류율이나 테스트 오류율을 기준으로 모델을 평가한다. 

6.4. Linear Regression

1. 선형 회귀

  • supervised learning을 위한 매우 간단한 접근법
  • quantitative response variable을 예측하는 유용한 도구
  • 많은 고급 학습 방법들이 선형 회귀의 일반화나 확장으로 볼 수 있다.
  • 다음과 같은 질문들에 쉽게 답할 수 있다.
    • x와 y간에 관계가 있는가?
    • 그 관계는 얼마나 강한가?
    • 어떤 x와 y와 연관이 있는가?
    • 그 연관의 크기는 얼마나 되는가?
    • 미래의 y를 얼마나 정확하게 예측할 수 있는가?
    • 그 관계는 선형적인가?
    • x들 간에 상호작용이 있는가?

2. 단순 선형 회귀

  • 최소제곱법 LSE
  • 잔차제곱법 RSS를 최소화
  • (적합된 모델)
  • 잔차표준편차 RSE → R^2 (선형회귀모델 정확도 평가)

Y와 X간의 관계를 나타내는 그래프

 

잔차 제곱합을 최소화 하는 방식

3. 다중 선형 회귀

  • 최소제곱법 LSE
  • RSS 최소화
  • (적합된 모델)
  • 다양한 통계적 방법(Cp, AIC, BIC, R² 등)을 사용하여 변수 선택 →  전진 선택(Forward Selection), 후진 선택(Backward Selection), 혼합 선택(Mixed Selection)

중요

4. 잔차 플롯 (Residual plot)

  • 잔차 플롯을 통해 비선형 가능성 추측 가능
  • 비선형 회귀: 형태에서 X2,X3X^2, X^3 등을 추가하는 방식

잔차 플롯
비선형 회귀

6.5. Classification

1. 분류 개념

  • Y가 질적(범주형)일 때 → 분류!
    • 질적 반응 예측: 각 범주에 속할 확률을 예측하는 과정 (회귀 방법과 유사)
    • classifiers: 로지스틱 회귀, LDA, QDA, 나이브 베이즈, KNN
    • more computer-intensice classifiers: GAM, 트리, 랜덤포레스트, 부스팅, SVM
  • 필요성: 질적 변수의 범주를 예측하는 문제에서 사용
  • 선형 회귀를 사용하지 않는 이유: encoding variables-순서가 없는 수치형 변수들은 선형회귀에서 사용할 수 없다. 범주향 변수는 선형 회귀에서 유효한 예측을 할 수 없다.
  • 회귀 방법의 한계
    • 회귀 방법은 2개 이상의 클래스를 가진 질적 반응을 다룰 수 없다.
    • 두 클래스만 있을 경우에도 Pr⁡(Y∣X)에 대한 의미 있는 추정을 제공하지 않는다. 

2. 로지스틱 회귀

  • Y: 이진 결과
  • 확률계산 : , 확률의 범위는 0과 1 사이.
  • 예측 규칙: 만약 Pr⁡(Y=1∣X)>0.5\Pr(Y=1|X) > 0.5이면 Y=1 예측, 그렇지 않으면 Y=0 예측 (임계값 설정 가능)
  • 다양한 임계값 사용 : 가장 적합한 임계값을 찾기 위해 ROC 곡선 아래 면적(AUC) 측정한다. AUC↑ ~  좋은 classifier

  • 다중 로지스틱 회귀 :

  • 다중형 로지스틱 회귀: k번째 클레스에 대한 예측을 참조로 사용

3. 생성 모델을 이용한 분류

  • 로지스틱 회귀: Pr(Y=kX=x)를 로지스틱함수로 직접 모델링
  • 대체 방법은 각각 클래스에서 예측자 x의 븐포를 모델링하고, 베이즈 이론은 사용하여 확률을 추정.
  • 왜 대체 모델이 필요한가? 
    • k개의 클래스로 분류하려는 경우

4. Bayes Classifier

  • LDA(선형판별분석)
    • p=1일 경우, 하나의 예측 변수를 사용
    • 모든 클래스의 분산이 같다고 가정, 가 가장 큰 클래스로 분류
    • 다변량 정규분포가 사용된다.
    • LDA 결정경계는 선형적이다.
  • QDA(이차판별분석)
    • 각 클래스가 고유한 공분산 행렬을 가진다고 가정한다.
    • 더 많은 파라미터가 필요하며, 훈련 데이터가 적을 경우 LDA가 더 좋을 수 있다.
    • 훈련데이터가 매우 많으면 QDA가 더 적합할 수 있다. 
  • Naive Bayes(나이브 베이즈)
    • 조건부 확률을 추정할 때 변수들 간의 독립성을 가정한다. 각 클래스 내에서 변수들 간의 상관관계를 무시한다.
    • 계산 복잡성을 줄인다.
    • 작은샘플에서도 잘 동작하고, 특히 대규모 데이터에서는 편향을 도입하지만 분산을 줄일 수 있다. 
    • Posterior Probability(후방 확률) 

 

6.6. Cross-Validation(교차검증)

1. 개념

  • 테스트 오류율 : 새로운 관측치에 대해 예측을 할 떄 발생하는 평균 오류, 이 관측치는 모델 훈련에 사용되지 않는다.
  • 훈련 오류율 : 훈련 데이터에서의 오류율로, 테스트 오류율과 다를 수 있으며 일반적으로 훈련 오류율은 테스트오류율을 과소평가할 수 있다. 
  • 테스트 오류율을 계산하려면 테스트세트가 필요하지만, 실제로는 큰 테스트세트를 사용하는 경우가 드물다. 

2. 필요성

  • 큰 테스트 세트를 사용할 수 없다면, 훈련 데이터만으로 테스트 오류율을 추정할 수 있는 여러 기술을 사용한다. 
  • 이 방법 중 하나는 훈련 데이터를 일부 제외하고 그 부분을 검증세트로 사용하여 오류율을 추정하는 것이다. → Validation Set Approach

3. Validation Set Approach : 특정 방법의 테스트 오류율을 추정하는 방법

  • 주어진 관측치를 훈련세트와 검증세트로 무작위로 나눈 후 모델을 훈련하고, 검증세트에서 오류율을 측정한다.
  • 더 많이 나눈다고 더 좋다고 할 순 없다. 

4. LOOCV (Leave-One-Out Cross-Validation)

  • 검증 세트를 하나의 관측치로 나누고 나머지 관측치들을 훈련 세트로 사용하는 방법 (데이터셋 엄척 작을때)
  • 각 관측치가 검증 세트가 되도록 하여 모델을 훈련하고, 각 모델의 오류를 평균 내어 최종 오류를 계산한다.
  • 평균 테스트 오류를 계산하여 모델 성능을 평가한다. 

LOOCV

5. K-fold Cross-Validation

  • LOOCV의 대안으로 k-fold CV방법을 사용한다.
  • 전체 데이터를 k개의 그룹으로 나누어, 첫번째 그룹을 검증세트로 사용하고, 나머지 k-1개의 그룹을 훈련 세트로 사용해 MSE를 계산해 모델을 훈련한다. 이 절차를 k번 반복하여 각 폴드에서 테스트 오류를 계산한다. 
  • 5-Fold 예시: 5번의 반복을 통해 검증 세트가 변경되며, 각 반복에서 평균 오차를 계산한다.

  • LOOCV vs k-fold
    • LOOCV는 편향 감소 관점에서 유리하지만, 분산이 더 크다. 거의 동일한 훈련세트
    • k-fold교차검증은 훈련 세트의 중복이 적고, LOOCV보다 분산이 낮지만 편향이 상대적으로 더 높을 수 있다. 

6.7. The Bootstrap

1. 개념

  • 부트스트랩은 주어진 추정량 또는 통계적 학습 방법에 대한 불확실성을 정량화할 수 있는 널리 사용되고 있는 매우 강력한 통계적 도구이다. 
  • 다양한 통계적 학습 방법에 쉽게 적용할 수 있으며, 그 중 일부는 변동성의 측정이 어렵거나 통계 소프트웨어에서 자동으로 출력되지 않는 경우가 많다. 

  • 부트스트랩 - 복원추출 : 데이터를 복원 추출하여 B번 반복적으로 샘플링한다.
  • 추정된 표준 오차

6.8. ★ ★ Linear Models with Regularziation

1. 문제 제기

  • a) 표준선형모델 LSE는 예측 정확도에 문제를 일으킬 수 있다. 만약 n이 p보다 훨씬 크지 않다면, LSE의 적합에서 많은 변동성이 발생해 과적합(overfitting)과 예측 정확도가 떨어질 수 있다. 또한 p > n 인 경우, LSE를 사용할 수 없으며 분산이 무한대가 된다. 
  • 정규화를 통해 추정된 계수를 축소하거나 제한하면, 편향이 약간 증가하는 대신 분산을 줄일 수 있다. 
  • b) 모델 해석 가능성 (Model Interpretability)
  • 다중 회귀 모델에서 사용되는 변수 중 일부 또는 많은 변수가 실제로 응답과 관련이 없는 경우가 흔히 있다. 이러한 관련 없는 변수는 모델의 불필요한 복잡성을 초래한다.  -> x가 너무 많으면 안돼!
  • 이를 해결하기 위해, 관련 없는 변수의 계수를 0으로 설정하여 모델을 더 간단하게 만들고 해석 가능성을 높일 수 있다.

2. LSE를 위한 기존 대안 : Subset Selection

  • 방법: 전진 선택, 단계별 선택, 후진 선택
  • 단점: 데이터가 매우 큰 경우 계산 비용이 크고 복잡도가 높다. -> 여기에서는 안다룬다.

3. LSE를 위한 Shrinkage 대안 : ★Ridge vs Lasso

3-1. Ridge Regression (릿지 회귀)

  • Ridge 회귀는 LSE와 유사하지만, 약간 다른 수식을 최소화하여 계수를 추정한다. 
  • : 튜닝 파라미터로, λ∑jβj^2축소 페널티를 나타낸다.
  • 값이 0에 가까울수록 페널티도 작아진다.
  • : 페널티가 적용되지 않아 LSE 결과와 동일하다. 
  • λ→∞: 계수가 0에 가까워짐(완전히 0은 아니다). cannot be zero
  • 의 적절한 선택이 중요하다.
  • Ridge 계수는 예측 변수의 스케일(범위)에 따라 달라질 수 있으므로, 반드시 예측 변수 표준화가 필요하다.  -> 0이 아니라 0에 가깝게!
  • Ridge의 장점: Bias-Variance Trade-off - λ↑ ~ flexibility↓ ~ variance↓ ~ bias↑ , MSE는 분산과 편향제곱의 합이므로 λ를 통해 최소화 가능하다.
  • 응답 변수와 예측 변수 간의 관계가 선형에 가까운 경우, LSE는 bias가 낮지만 variance가 높아질 수 있다. 
  • p>n일 경우(LSE의 높은 분산으로 인한 문제), LSE는 고유한 해를 가지지 못하지만, Ridge는 variance감소를 통해 좋은 성능을 보인다.
  • Ridge는 최종 subset선택과 비교하면 계산 비용이 낮다. 

3-2. The Lasso (라쏘)

  • Ridge의 단점
    • Ridge는 모든 p개의 예측 변수를 포함하며, 모든 계수를 0으로 수렴시키더라도 정확히 0으로 만들지는 못한다. 따라서 변수가 많은 경우 모델 해석이 어려울 수 있다. 
  • Lasso의 특징
    • 패널티 사용: Ridge의 l2​ penalty 대신 l1 penalty를 적용한다.
    • λ값이 충분히 크면 일부 계수를 정확히 0으로 만든다. -> 변수 선택이 가능해진다. 
    • Sparse Model (희소 모델)을 생성해 해석 가능성을 높인다. 

λ붙어 있는 항이 shrinkage penalty

  • Ridge VS Lasso
    • Ridge는 모든계수가 0에 가까워질뿐, 정확히 0이 되지는 않는다. β^21 + β^22 ≤ s
    • Ridge는 많은 변수가 유사한 크기의 계수를 가지며 응답변수에 영향을 미치는 경우에 사용이 적합하다.
    • Lasso는 일부 계수를 0으로 만들어, 불필요한 변수를 제거한다. |β1| + |β2| ≤ s
    • Lasso는 소수의 변수만 응답변수에 큰 영향을 미치는 경우에 사용이 적합하다.

★Lasso는 다이아몬드 형태에서 변수선택 가능, Ridge는 원형에서 변수선택 불가능.

  • 튜닝 파라미터 λ선택
    • 릿지와 라쏘 모두 λ값에 따라 모델의 성능이 결정된다. λ의 값이 너무 크면 중요한 변수까지 제거될 수 있다.
    • Cross Validation(교차검증) : 최적의 λ를 선택하기 위해 사용하고, 적절한 λ는 분산과 편향의 균형을 맞춘다.

6-9. Model beyond Linearity

1. Nonlinear model with Statistical Learing (비선형 모델)

  • Splines : 3차 + 3차 + 3차 + ...
  • Natural Spline : 3차 + 3차 + ... + 일차선형 : boudary에서 선형이되도록 요구된다. 
  • Smoothing Spline : RSS작게, smooth하게.  λ는 0 이상의 파라미터인데 위 식을 최소화하는 함수 g는 smoothing spline이라고 알려져 있다. 
    •  λ=0: penalty항은 영향이 없고, 함수 g는 매우 불규칙해져서 훈련 관측치를 정확히 통과(interpolate 채우다)한다.
    • λ ∞ : g는 완벽하게 smooth해진다. 단순히 직선이 되어 훈련 점들에 최대한 가깝게 통과한다. 즉 LSE와 동일.
  • Genaralized Additive Models [GAMs]
    • GAMS는 표준 선형 모델을 확장하여 각 변수에 대해 비선형 함수를 허용하면서도 additivity를 유지하는 일반적인 프레임워크이다. 양적변수와 질적변수 모두에 대해 적용 가능하다. 
    • 예측변수 X에 대해 비선형 함수를 정의하고, 각 예측 변수를 모두 "합"산하여 모델을 구성한다. 
    • GAM은 질적변수(범주형변수)를 모델링할 수 있고, 로지스틱 회귀와 결합해 사용할 수 있다.
    • Smoothing Splines 사용: backfitting 접근 방식을 활용한다.
      • 각 예측 변수에 대해 순차적으로 적합한 값을 업데이트하며, 다른 변수들은 고정된 상태에 해당 작업을 반복수행한다.
      • R의 GAM 패키지는 교차검증 (CV)을 통해 최적의 λ를 찾는다. 각 예측 변수에 비선형을 적합할 수 있으므로 비선형 관계를 자동으로 모델링 가능하다. 
    • 장점
      • 비선형 관계 자동 모델링 : 비선형 관계를 자동으로 모델링할 수 있기에 수동 조정이 필요없다.
      • 예측 성능 향상 가능성 : 비선형 적합을 통해 예측 성능이 잠재적으로 향상될 수 있다.
      • 개별 변수-응답 관계 해석 가능 : 다른 변수들을 고정한 상태에서, 개별 예측 변수 X와 응답변수 Y간의 관계를 분석할 수 있다.
    • 단점
      • additivity의 한계로 상호작용효과를 놓칠수 있다. 물론 interation term을 GAM에 추가할 수 있지만, 고차원의 상호작용이 포함되면 계산비용이 급증할 수 있다. 

6.10. Tree - based models

1. 개요

  • Tree-based Models : 회귀와 분류에 사용되는 방법
  • 핵심: 예측 공간을 여러 간단한 구역으로 분할하여 계층화하거나 세분화한다.
  • 이러한 splitting rules를 트리 구조로 요약 가능하다. (결정 트리 decision tree)
  • 최종적으로 다수의 트리를 결합(random forest, boosting 등)하여 예측 정확도를 daramatically하게 향상시킨다. 

2. Decision Tree의 기본 개념

  • Regression Tree : 회귀 문제에 적용한다.
  • 트리는 계층적으로 해석한다!!

Y = log(salary)

  • Regression Tree 구성요소
    • Leaf Node: 트리의 말단 구역 , R1, R2, R3 등
    • Internal Node: 예측 공간을 분할하는 지점 (ex. , Hits<117.

  • 목표: RSS (잔차제곱합) 최소화
  • 불행하게도, 모든 가능한 분할을 고려하는 것은 계산적으로 불가능하므로, top-down , greedy 방식의 Recursive Binary Splitting을 사용한다.
  • Recursive Binary Splitting
    • 트리구조를 생성하기 위해 첫번째로 해야할 일은 예측변수 Xj와 분할 기준점 s를 선택 하는것.
    • 이때, 분할을 통해 생성되는 영역에서 잔차제곱합 RSS의 감소를 최대화하는 것이 목표이다. 
    • 모든 예측 변수 X1,X2,…,Xp와 각각의 가능한 분할 기준점 s를 고려.
    • j와 s를 선택하여 트리의 RSS를 최소화한다.

4. Tree Pruning (가지치기)

  • 문제
    • 초기 생성된 트리는 너무 복잡할 수 있으며, 이는 훈련 데이터에 과적합(overfitting)될 가능성을 증가시킨다.
    • 과접합된 트리는 훈련 데이터에서는 높은 성능을 보이지만, 새로운 데이터에 대한 일반화능력은 낮다.
  • 해결방법
    • 더 작은 트리 (분할이 적은 트리)를 생성하여 분산을 줄이고 해석 용이성을 향상시킨다.
    • RSS 감소에 대해 "충분한" 임계값을 설정하여 필요 이상의 복잡도를 제한한다.

5. Classification Trees (분류 트리)

  • 회귀 트리와 유사하지만, 정량적 응답(숫자 값)이 아니라 정성적 응답(클래스)을 예측한다.
  • Concept tranformation
    • 회귀트리에서는 터미널 노드의 평균값을 결과로 사용한다.
    • 분류트리에서는 해당 구역에서 가장 많이 나타나는 클래스를 결과로 사용한다.
    • 회귀 트리의 손실함수 (RSS)는 분류트리에서는 "Clssification Error Rate (분실오류율)"로 대체된다.
  • Classification Error rate
    • 특정구역(ex. m)에서 k번째 클래스에 속하는 훈련 데이터의 비율이다.
    • 하지만 분류오류율은 트리 생성 과정에서 충분히 민감하지 않아 다른 두가지 방법을 선호한다.
  • 1. Gini Index 
    • k개의 클래스에 대한 전체 분산 측정.
    • Gini 값이 작을수록 (0에 가까울수록) 해당 노드의 순도가 높음을 의미한다. (단일 클래스 관측치가 많음)

  • 2. Entropy
    • Entropy 값이 작을수록 해당 노드가 순수(관측치가 특정 클래스에 집중)함을 의미한다.
    • Gini Index와 수치적으로 비슷한 경향을 보인다. 
    • 트리의 크기가 클수록 엔트로피도 커진다.

  • Pruning(가지치기)를 위한 Loss Function(손실 함수) 선택
    • Gini Index / Entropy: 가지치기 시 노드의 순도를 기준으로 판단.
    • Classification Error Rate: 최종 가지치기된 트리의 예측 정확도를 목표로할 때 사용. 

unpruned tree: 가지치기 전 트리, 노드가 많고 복잡 / pruned tree: 교차검증CV를 통해 가지치기해 단순화된 트리, 일반적으로 interpretability와 prediction accuracy가 향상됨

6. Regression vs Tree

  • 선형회귀 (Linear Regression)
    • 단순 선형 관계가 데이터에 적합한 경우 사용
    • 직선 형태의 예측 모델

  • 회귀트리 (Regression Tree)
    • 비선형적이고 복잡한 관계를 가진 데이터에 적합.
    • 상호작용 효과 (interactions)와 같은 복잡성을 설명 가능.

  • 결정 기준
    • 데이터가 선형적 관계를 가진다면 선형회귀가 더적합하고, 데이터가 비선형적이고 상호작용 효과가 많다면 회귀트리가 더 나은 성능을 보인다.
    • 하지만 이 모든 것에 정확한 답은 없다.

Linear - △ , Tree - □

 

7. Tree Ensemble (트리 앙상블)

  • 단일 트리의 한계: 하나의 결정 트리는 예측 정확도가 낮을 수 있다.
  • 앙상블 방법 
    • 여러 결정 트리를 결합하여 정확도를 향상. : Bagging, Random Forests, Boosting
    • 단순 모델 여러 개를 결합하여 강력한 모델을 만드는 방법이다.
  • Bagging
    • 배경
      • 결정 트리는 high variance (높은 분산) 문제를 가진다.
      • 낮은 분산을 가지는 모델은 서로 다른 데이터셋에 적용했을 때 비슷한 결과를 제공한다.
    • Bootstrap Aggregation ( = Bagging)
      • 통계적 학습 방법의 분산을 줄이기 위한 일반적인 절차.
      • n개의 독립 관측값 Z1, ..., Zn에 대해 관측값 평균의 분산은 σ^2/n.
      • 여러 관측값을 평균내면 분산이 줄어드는 효과를 이용한다.
    • 방법
      • 여러개의 학습 데이터셋이 존재한다면, 각 데이터셋으로 모델을 학습하고 결과를 평균냄으로써 분산을 줄일수 있다.
      • 그러나 일반적으로 여러 데이터셋을 사용할 수 없으므로, Bootstrap(데이터셋을 반복적으로 샘플링) 사용.
      • B개의 부트스트랩 학습 데이터셋을 사용하여 B개의 회귀트리를 생성하고, 결과를 평균화하여 예측.
  • Random Forests
    • 개념
      • Bagging에서 개선된 방법으로, 트리들 간의 상관관계를 줄이기 위해 고안됨.
      • Bagging과 동일하게 부트스트랩 샘플을 사용하지만, 트리를 생성할 때 매 분할 시 p개의 예측 변수 중 랜덤하게 선택된 m개의 변수만 후보로 사용한다.
    • 특징
      • 각 분할마다 새로운 m개의 변수를 샘플링.
      • 일반적으로 m≈루트 p 사용.
    • 논리적 근거
      • 강력한 예측 변수가 존재하면 대부분의 트리가 동일한 분할을 사용하여 상관관계가 높은 트리를 생성.
      • 상관관계가 높은 값들을 평균내는 것은 분산 감소 효과가 크지 않음.
      • Random Forest는 각 분할에서 일부 변수만 고려하여 트리간의 상관관계를 줄인다. Denorrelating trees
    • 효과
      • 강력한 예측 변수를 강제로 제외하여 다른 변수들이 고려될 기회를 제공.
      • 많은 상관된 변수를 포함한 데이터셋에 효과적.

Random Forests

  • Bagging vs Random Forests
    • mtry
      • bagging : 모든 예측 변수를 고려
      • random forests: 더 작은 m값 사용. 일반적으로 루트p
  • Boosting
    • 개념
      • 또 다른 예측 정확도 향상 방법
      • bagging과 유사하지만, 트리를 순차적으로 학습시킴.
      • 부트스트랩 샘플링을 사용하지 않고, 데이터셋을 수정하며 학습.
    • 방법
      • 각 트리가 이전 트리의 결과 (잔차)를 활용하여 학습.
      • 단일 큰 트리를 학습시키는 대신, 점진적으로 학습하여 과적합을 방지.
      • shrinkage 매개변수 λ : 학습 속도를 늦추고, 더 다양한 형태의 트리가 잔차를 학습하도록 함.
      • λ ↑ ~ 간단한 트리
      • 이전에 생성된 트리의 영향을 강하게 받는다.
    • Boosting regression tree algorithms 
      • interaction depth :  최대 d개의 변수와 상호작용을 포함 가능.

'Computer Science > 회귀분석과 통계학습' 카테고리의 다른 글

4. Categorical data analysis & Logistic regression  (0) 2024.12.02
5. Survival analysis  (0) 2024.11.25
3. Linear Regression analysis  (0) 2024.10.20
1. Basic Statistics  (0) 2024.10.11