반응형

수학/Statistical Learning 27

[ISLR] 라쏘(Lasso)

라쏘(Lasso) 능형 회귀(Ridge regression)은 한가지 단점이 존재합니다. 일반적으로 변수의 부분 집합만을 포함하는 모델을 선택하는 best subset, forward stepwise, backward stepwise selection과 다르게 능형 회귀는 모든 p개의 변수를 포함합니다. 그리고 패널티 항은 모든 계수가 0이 되는 방향으로 수축합니다. 하지만 람다가 무한이 아닌 경우에 계수를 정확히 0으로 수축하지 않습니다. 모델의 정확도 관점에서는 문제가 되지 않지만, 모델을 해석해야 하는 경우에 문제점이 발생합니다. 라쏘는 능형회귀의 단점을 극복하기 위해 제안된 방법입니다. 능형회귀의 패널티 항은 L2 norm 이었던 반면에, 라쏘의 패널티 항은 L1 norm 입니다. 능형회귀와 라쏘..

[ISLR] 수축법(Shrinkage Methods), 능형 회귀(Ridge regression)

수축법(Shrinkage Methods) 계수 추정치를 0으로 수축(shrink)하는 기법을 사용하여 모든 설명 변수를 포함하고 있는 모델을 적합(fit)할 수 있습니다. 계수 추정치를 수축하는 것은 모델의 variance를 감소시킵니다. 모델의 variance를 감소시킨 다는 의미는 bias를 증가시켜 overfitting을 방지합니다. 회귀 계수를 0으로 수축하는 방법에 대해 가장 잘 알려진 ridge regression과 lasso를 알아보겠습니다. 능형 회귀(Ridge Regression) 능형 회귀는 RSS식에 다음과 같은 항이 추가된 것입니다. 람다는 조율 파라미터(tuning parameter)이며, 위 식을 최소화 하는 방향으로 모델을 학습합니다. 위 식을 수축 패널티(shrinkage p..

[ISLR] Cp, AIC, BIC, Adjusted R2, 검증 및 교차검증(Validation and Cross-Validation)

최적의 모델 선택(Choosing the Optimal Model) 최상의 부분 집합 선택, 전진 선택, 후진 선택으로 모델의 집합을 생성합니다. 모델의 집합 중에 어느 모델이 최고의 성능을 갖고 있는지 판단해야 합니다. RSS가 가장 낮은 모델을 선택하거나, R2값이 가장 큰 모델을 선택하는 것은 training error와 연관되어 있으므로 부정확합니다. 따라서 test error가 낮은 모델을 선택해야 합니다. test error를 측정하는 방법은 (1) 과적합으로 인한 편상을 고려하도록 훈련오차를 조정하여 test error를 간접적으로 추정할 수 있습니다. (2) validation set approach 또는 cross-validation approach를 사용하여 test error를 직접 ..

[ISLR] 부분집합 선택(Subset Selection), 최상의 부분 집합, 전진 단계적, 후진 단계적, 하이브리드

부분집합 선택(Subset Selection) 부분집합 선택은 반응변수(response, Y)와 관련 없는 설명변수(predictor, X)를 식별하여 제거합니다. 반응변수와 관련 있는 설명변수의 집합에서 선형회귀를 진행하여 모델의 해석력을 높여줍니다. 이번 포스팅에서 (1) 최상의 부분집합 선택, (2) 전진 단계적 선택, (3) 후진 단계적 선택, (4) 하이브리드 방식을 살펴보겠습니다. 1. 최상의 부분집합 선택(Best Subset Selection) 작동원리 (1) 모든 가능한 predictor, p의 선형 결합에 대해 fitting을 진행합니다. (2) 총 2^p번의 fitting이 진행됩니다. (3) predictor을 1개 포함한 모델에서 RSS가 가장 낮은 모델이 M1로 선택합니다. (4..

[ISLR] 교차검증(Cross-validation), K-Fold, LOOCV

Resampling Methods Resampling Methods는 training data의 서로 다른 부분 집합을 사용하여 동일한 통계 모델을 여러번 fitting 하는 것을 의미합니다. 모델 평가(model assessment), 모델 선택(model selection)을 위해 사용합니다. 1. Validation Set Approach 전체 데이터 셋을 동일한 크기를 가진 2개의 집합으로 분할하여 training set, validation set을 만듭니다. 영향력이 큰 관측지가 어느 set에 속하느냐에 따라 MSE가 달라집니다. 관측치의 일부만 train에 속하여 높은 bias를 갖습니다. 2. LOOCV(Leave-One-Out Cross-Validation) 단 하나의 관측값(x1, y1..

[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..

[ISLR] 선형 회귀(Linear Regression) Python코드

코드 출처 [1] https://github.com/JWarmenhoven/ISLR-python [2] https://github.com/emredjan/ISL-python 선형 회귀(Linear Regression) 필요한 라이브러리 import # 필요한 라이브러리 import import pandas as pd import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import axes3d import seaborn as sns from sklearn.preprocessing import scale import sklearn.linear_model as skl_lm from sklearn.metrics import m..

반응형