"ML 기초 학습 (5/9) — 정규화와 모델 선택: 과적합을 다루는 법"
모델을 키우는 법은 쉽다. 다항식 차수를 높이고, 피처를 더 넣으면 된다. 어려운 건 언제 멈출지 아는 일이다. 정규화는 손실 함수에 페널티 한 줄을 더해서 모델이 자기 자신을 절제하게 만든다. 이 한 줄이 Ridge, Lasso, ElasticNet, 그리고 신경망의 weight decay와 dropout으로 이어진다.
0. 학습 목표
- 편향-분산 분해를 한 줄 식으로 쓰고, 정규화가 어디에 작동하는지 설명한다.
- Ridge (\(L_2\)) 와 Lasso (\(L_1\)) 의 손실 식을 각각 쓰고, 닫힌 해 또는 KKT 조건을 안다.
- L1이 희소(sparse) 해를 만드는 기하학적 이유를 두 그림으로 설명한다.
- ElasticNet의 식과 언제 쓰는지 안다.
- k-fold cross-validation으로 \(\lambda\)를 고르는 코드를 작성할 수 있다.
- AIC·BIC의 정의와 cross-validation과의 차이를 안다.
1. 핵심 요약
- 정규화 = 손실에 모델 복잡도 페널티를 더하기. \(\mathcal{L} \to \mathcal{L} + \lambda \|w\|^?\).
- Ridge (\(L_2\)): \(\lambda \|w\|_2^2\), 큰 가중치를 누른다. 다중공선성에 강건.
- Lasso (\(L_1\)): \(\lambda \|w\|_1\), 가중치를 0으로 보낸다. 자동 피처 선택.
- ElasticNet: 둘의 가중 결합. 큰 \(p\), 상관 높은 피처에서 안정적.
- 하이퍼파라미터 \(\lambda\)는 cross-validation으로 선택. AIC·BIC는 데이터 한 번 보고 끝나는 정보 기준 (CV의 빠른 대안).
- 신경망의 weight decay·dropout·early stopping은 모두 같은 가족이다.
2. 직관 — 과적합은 어디서 시작되는가
2.1 다항식 차수와 과적합
3편에서 \(y = 0.5x^3 - 2x + 5 + \varepsilon\) 같은 합성 데이터에 \(d\)차 다항식을 맞추는 실험을 보았다. \(d\)를 키울수록 train R²는 1에 다가가지만 test R²가 어느 시점부터 추락한다.
test R²
1.0 + . . .
| . . . \
|. . . \
| \ . \
0.5 + \ \
| \ \____
0.0 +---------+----+----+----+----+--→ degree
1 2 3 5 10 20
모델이 데이터의 신호(signal) 가 아니라 잡음(noise) 까지 학습하는 순간 과적합이다.
2.2 가중치를 줄이면 왜 도움이 되는가
과적합된 모델은 보통 가중치가 매우 크고 부호가 들쭉날쭉하다. 신호를 한 번에 캐치하지 못해 큰 음수와 큰 양수가 서로 상쇄하며 패턴을 흉내내기 때문이다.
정규화는 손실에 \(\|w\|^?\) 페널티를 더해 가중치가 커지는 것 자체에 비용을 매긴다. 그 결과 모델은 데이터를 설명하면서도 가중치를 작게 유지하려 하고, 자연히 더 매끄러운 함수가 된다.
이건 베이즈 추정의 관점에서도 같다. 가중치에 가우스 사전(prior)을 주면 \(L_2\), 라플라스 사전을 주면 \(L_1\)이 나온다. 정규화는 사전 분포의 한 형태다.
2.3 편향-분산 분해 다시 보기
1편의 분해:
$$ \mathbb{E}[L] = \underbrace{\text{Bias}^2}_{\text{모델 단순함}} + \underbrace{\text{Variance}}_{\text{데이터 흔들림}} + \sigma^2 $$
정규화는 분산을 줄이고 편향을 조금 늘린다. \(\lambda\)가 작으면 일반 회귀(분산↑), \(\lambda \to \infty\)이면 \(w = 0\) (편향↑). 최적 \(\lambda\)는 둘의 합을 최소화하는 점이다.
3. 정의와 표기
3.1 Ridge 회귀 (L2)
$$ \mathcal{L}_{\text{Ridge}}(\beta) = \frac{1}{2n}\|y - X\beta\|_2^2 + \lambda \|w\|_2^2 $$
\(w\)는 절편을 제외한 가중치 벡터. \(\lambda > 0\)이 정규화 강도.
닫힌 해:
$$ \boxed{\,\hat{\beta}_{\text{Ridge}} = (X^\top X + \lambda I_d)^{-1} X^\top y\,} $$
(절편 처리는 표기상 단순화. 실무에서 절편은 보통 정규화 대상에서 제외한다.)
3.2 Lasso 회귀 (L1)
$$ \mathcal{L}_{\text{Lasso}}(\beta) = \frac{1}{2n}\|y - X\beta\|_2^2 + \lambda \|w\|_1 $$
\(L_1\) 항은 미분 불가능 (0에서 꺾임). 닫힌 해는 없고, 좌표 하강(coordinate descent) 으로 푼다. 각 \(w_j\)에 대해
$$ w_j \leftarrow \mathrm{soft}_\lambda\Big(\, \frac{x_j^\top r_{-j}}{x_j^\top x_j} \,\Big) $$
여기서 \(r_{-j}\)는 \(w_j\)를 뺀 잔차, \(\mathrm{soft}_\lambda(z) = \mathrm{sign}(z)\max(|z| - \lambda, 0)\)이 soft threshold.
3.3 ElasticNet
$$ \mathcal{L}_{\text{EN}}(\beta) = \frac{1}{2n}\|y - X\beta\|_2^2 + \lambda \big(\alpha \|w\|_1 + (1 - \alpha) \|w\|_2^2\big) $$
\(\alpha \in [0, 1]\)이 L1과 L2의 혼합비. Zou & Hastie 2005가 제안.
4. 수식과 메커니즘
4.1 Ridge가 안정적인 이유
\(X^\top X + \lambda I\)는 항상 가역. 다중공선성이 심해 \(X^\top X\)가 거의 특이행렬이어도 대각에 \(\lambda\)를 더해 조건수를 개선한다.
SVD 시점에서 보면 Ridge는 모든 특이값을 동일하게 축소 한다. \(X = U \Sigma V^\top\)일 때
$$ \hat{\beta}_{\text{Ridge}} = V \, \mathrm{diag}\Big(\frac{\sigma_i}{\sigma_i^2 + \lambda}\Big) \, U^\top y $$
작은 \(\sigma_i\) (잡음 방향) 는 \(\sigma_i / \lambda\)로, 큰 \(\sigma_i\) (신호 방향) 는 \(1/\sigma_i\)로. 잡음 방향만 더 강하게 축소 된다.
4.2 Lasso의 기하학 — 왜 희소해가 나오는가
손실 등고선 (타원) + 제약 영역 (\(\|w\|_? \le t\))이 만나는 점이 해다.
- \(L_2\) 제약 영역은 원. 손실 등고선이 원과 만나는 점은 일반적으로 좌표축 위가 아니다 → \(w_j\)들이 0이 아니다.
- \(L_1\) 제약 영역은 다이아몬드 (꼭짓점이 좌표축 위). 손실 등고선이 다이아몬드와 만나는 점은 꼭짓점이 되기 쉽다 → \(w_j\) 중 일부가 정확히 0.
L2 (원): L1 (다이아몬드):
| |
| * ← 손실 등고선 | ↘
-|---+--- --+----- ← 다이아몬드 꼭짓점
| |
이게 Lasso가 자동 피처 선택을 한다는 말의 정확한 의미다. 결과 가중치 벡터의 많은 성분이 정확히 0.
4.3 \(\lambda\)는 어떻게 고르는가
k-fold CV로 후보 \(\lambda\) 격자를 평가한다. sklearn:
from sklearn.linear_model import RidgeCV, LassoCV, ElasticNetCV
RidgeCV(alphas=[0.01, 0.1, 1.0, 10.0], cv=5)
LassoCV(alphas=None, cv=5) # 자동으로 격자 생성
ElasticNetCV(l1_ratio=[.1, .5, .7, .9, .95], cv=5)
대안:
- 1-SE rule (Breiman 1984): CV 평균 + 1 표준오차 안에서 가장 큰 \(\lambda\) 선택. 더 단순한 모델을 선호.
- AIC / BIC: 데이터 한 번 보고 정보 기준으로 평가.
$$ \text{AIC} = 2k - 2\log \mathcal{L}, \quad \text{BIC} = k \log n - 2\log \mathcal{L} $$
\(k\)는 효과적 파라미터 수, \(n\)은 표본 수. BIC가 더 큰 모델에 가혹한 페널티를 매긴다 (\(\log n\) vs 2). 작은 데이터에선 BIC, 큰 데이터에선 CV가 표준.
4.4 정규화와 신경망
신경망의 weight decay가 사실상 \(L_2\). 옵티마이저에 weight_decay=1e-4 같은 항을 주면 매 스텝마다 \(w \leftarrow w - \eta(\nabla \mathcal{L} + \lambda w)\). Dropout은 데이터 의존적 정규화, early stopping은 시간 차원 정규화. 가족이 같다 (7편에서 다시).
5. 다이어그램
6. 원리 워크스루 — L1 vs L2의 기하학적 차이 한 장으로
코드 자체는 sklearn 한 줄. L1과 L2가 왜 다른 해를 만드는가의 기하학적 직관이 정규화 전체를 푸는 열쇠다.
6.1 표준 호출 한 줄
from sklearn.linear_model import RidgeCV, LassoCV
pipe = Pipeline([("scaler", StandardScaler()), ("reg", RidgeCV(alphas=np.logspace(-3, 3, 13), cv=5))])
pipe.fit(X_tr, y_tr)
RidgeCV는 내부에서 5-fold CV로 \(\alpha\) 격자를 평가해 최적 \(\alpha\)를 자동 선택. StandardScaler가 반드시 앞에 와야 함 — Ridge·Lasso의 페널티 \(\lambda \|w\|^2\)는 피처 스케일에 직접 곱해진다. 단위가 다르면 페널티가 단위 차에 의해 결정되어 모델이 무너진다.
6.2 Ridge가 안정적인 진짜 이유 — SVD 시각
무엇을 본다 정규방정식 \(\hat{\beta} = (X^{\top}X)^{-1} X^{\top} y\)는 \(X^{\top}X\)가 거의 특이행렬이면 폭발. Ridge는 \((X^{\top}X + \lambda I)^{-1}\)로 강제로 가역화.
SVD 분해 \(X = U \Sigma V^{\top}\) 로 다시 쓰면:
$$ \hat{\beta}_{\text{Ridge}} = V \, \mathrm{diag}\!\Big(\frac{\sigma_i}{\sigma_i^2 + \lambda}\Big) \, U^{\top} y $$
- 큰 \(\sigma_i\) (신호 방향): 축소 비율 \(\sigma_i / (\sigma_i^2 + \lambda) \approx 1/\sigma_i\) — 거의 그대로.
- 작은 \(\sigma_i\) (잡음 방향): 축소 비율 \(\sigma_i / \lambda\) — 강하게 축소.
핵심 시각: Ridge는 잡음 방향만 선택적으로 축소한다. 모든 방향을 일률 축소하지 않는다. 이게 3편 6.2의 SVD 안정성 논의와 같은 자리로 돌아오는 이유.
6.3 Lasso의 기하학 — 왜 희소 해가 나오는가
손실 등고선(타원) + 제약 영역의 교점이 해다.
L2 (Ridge): 원 L1 (Lasso): 다이아몬드
| |
/-\\ /\\
| | ●← 손실 등고선 / \\● ← 손실 등고선
\\-/ \\/
| |
\(L_2\) 제약 영역: 구. 손실 등고선과 만나는 점은 축 위가 아니다 — 모든 \(w_j\)가 0이 아닌 작은 값.
\(L_1\) 제약 영역: 다이아몬드 (꼭짓점이 축 위). 손실 등고선이 다이아몬드와 만나는 가장 가까운 점은 꼭짓점일 가능성이 매우 높다 — 일부 \(w_j\)가 정확히 0.
탄생 배경 Tibshirani 1996 Regression Shrinkage and Selection via the Lasso (JRSS-B). 그 전에는 피처 선택과 정규화가 별개 절차였다. Lasso는 최적화 한 번으로 둘을 동시에 한다. 이게 게놈·텍스트 분야에서 폭발적으로 채택된 이유.
핵심 시각: 정규화 페널티의 모양이 해의 성격을 정한다. L2는 부드럽게, L1은 희소하게. ElasticNet은 둘의 혼합.
6.4 \(\lambda\) 선택 — 어떻게 고르는가
- k-fold CV: 가장 정직.
RidgeCV/LassoCV가 자동 처리. 큰 데이터의 표준. - 1-SE rule (Breiman 1984): CV 평균 + 1 표준오차 안에서 가장 큰 \(\lambda\) — 더 단순한 모델 선호.
- AIC / BIC: 정보 기준. 데이터를 한 번만 보지만 분포 가정에 의존.
$$ \text{AIC} = 2k - 2\log \mathcal{L}, \quad \text{BIC} = k \log n - 2\log \mathcal{L} $$
BIC의 \(\log n\) 페널티가 AIC의 \(2\)보다 크므로, 큰 데이터에서 BIC가 더 단순한 모델을 고른다.
다음 단계로의 연결 신경망에서는 \(\lambda\) 선택이 weight decay 강도 + dropout 확률 + early stopping 시점이 한꺼번에 작용한다 (7편). "정규화 한 줄"이 사라지고 여러 정규화의 상호작용이 표준이 된다.
7. 변형과 사례 — 정규화는 한 가지가 아니다
L1·L2가 출발이지만 데이터 구조마다 더 적절한 변형이 따로 있다. 그리고 신경망은 정규화 한 줄이 여러 메커니즘의 합주로 확장된다.
7.1 Group Lasso — 피처 그룹을 함께 살리거나 죽이거나
무엇이 바뀌나 L1의 \(\|w\|_1\) 대신 그룹 단위 노름. 한 범주형 변수의 one-hot 인코딩 5개를 전부 살리거나 전부 죽이거나.
왜 등장했나 Yuan & Lin 2006 Model Selection and Estimation in Regression with Grouped Variables. L1은 그룹의 한 멤버만 임의로 살리는 문제 — 도메인 해석이 깨진다.
무엇이 가능해졌나 - 범주형 변수: 도시 5개를 통째로 살리거나 죽임. - 다중 시간 단위 (일·주·월): 의미 있는 시간 단위가 통째로 살아남음. - 게놈 데이터의 유전자 클러스터.
7.2 Fused Lasso — 인접 계수를 부드럽게
무엇이 바뀌나 \(\|w\|_1 + \|Dw\|_1\), 여기서 \(D\)는 차분 행렬. 인접한 \(w_j - w_{j+1}\)의 합을 페널티에 추가.
왜 등장했나 Tibshirani et al. 2005 Sparsity and Smoothness via the Fused Lasso. 시계열·공간 데이터에서 순서가 있는 피처는 인접한 계수가 비슷할 것이라는 사전 정보를 코드화.
무엇이 가능해졌나 - DNA copy number 변이 검출 (구간 단위 신호). - 시계열의 change-point 검출. - 영상 분할의 piecewise constant 신호.
7.3 SCAD / MCP — 큰 계수에는 약한 페널티
무엇이 바뀌나 L1은 모든 계수에 균일하게 페널티를 매겨, 큰 계수도 위축한다. SCAD (Fan & Li 2001), MCP (Zhang 2010)는 작은 계수만 강하게 페널티, 큰 계수는 거의 그대로.
왜 등장했나 "진짜 신호인 큰 계수까지 깎으면 오라클 속성이 깨진다" — 진짜 모델을 회복하지 못한다. 비볼록 페널티가 답.
무엇이 가능해졌나 이론적 오라클 일관성 (\(n \to \infty\)에서 진짜 모델 회복) + 실용적 sparse 해. 게놈 연구에서 표준 후보.
7.4 분류에서의 정규화 — 4편의 직접 확장
로지스틱 회귀(4편) 의 penalty="l1"/"l2"/"elasticnet"이 정확히 같은 식. C = 1/\\lambda만 표기법 차이. SVM의 정규화도 같은 원리 — 마진을 최대화하면서 정규화.
7.5 신경망에서의 정규화 — 합주
신경망은 정규화 한 줄이 여러 메커니즘의 동시 작동으로 확장된다.
| 기법 | 어디서 작동 | 무엇과 동등 |
|---|---|---|
| Weight decay | 옵티마이저 | L2 정규화 |
| Dropout (Srivastava 2014) | 매 forward | 무작위 ensemble |
| BatchNorm (Ioffe 2015) | 매 layer | 정규화 + 학습 가능 변환 |
| LayerNorm (Ba 2016) | 매 토큰 | Transformer의 표준 |
| Early stopping | 학습 시간 차원 | 시간적 정규화 |
| Data augmentation | 입력 공간 | 입력 측면 정규화 |
| Label smoothing | 손실 함수 | 출력 측면 정규화 |
이들이 상호작용 한다 — weight decay + dropout + augmentation을 동시에 쓰면 셋 다 약하게 설정하는 게 표준 (7편 학습 기법에서 자세히).
7.6 사용 가이드
| 상황 | 권장 | 이유 |
|---|---|---|
| 다중공선성, 모든 피처 유효 | Ridge | 모든 계수 안정화, 해석 보존 |
| 피처 많고 일부만 진짜 신호 | Lasso | 자동 피처 선택 |
| 상관 높은 피처 묶음 | ElasticNet | 그룹 단위 살아남기 |
| 작은 \(n\), 큰 \(p\) | BIC 또는 1-SE rule | 보수적 선택 |
| 큰 데이터 | CV로 \(\lambda\) 격자 탐색 | 가정 의존 없음 |
| 범주형 그룹 변수 | Group Lasso | 도메인 해석 보존 |
| 신경망 | weight decay + dropout + augmentation 조합 | 단일 메커니즘으로 부족 |
8. 한계와 실패 양상
8.1 \(\lambda\)를 단일 split으로 선택
왜 본질적 한계인가 한 번의 train/val split은 random variance가 크다. 같은 데이터를 다른 random_state로 자르면 최적 \(\lambda\)가 2~3배 차이날 수 있다.
어떻게 진단하는가 seed를 바꿔 가며 \(\lambda^{*}\)가 안정적인지 확인.
다음 단계 k-fold CV (k=5 또는 10) — 모든 데이터를 번갈아 validation으로 사용. 또는 nested CV — 외부 fold가 test, 내부 fold가 \(\lambda\) 선택.
8.2 스케일링 누락
왜 본질적 한계인가 페널티 \(\lambda \sum w_j^2\)는 스케일에 직접 곱해진다. 한 피처가 1000배 단위면 그 피처의 페널티만 1,000,000배 — 사실상 그 피처는 학습되지 않는다.
어떻게 진단하는가 원본 피처 std의 차이 확인. 10배 이상이면 정규화 필수.
다음 단계
Pipeline에 StandardScaler 또는 RobustScaler를 항상 끼워 넣는다. 신경망에서는 BatchNorm/LayerNorm이 같은 역할.
8.3 \(\lambda\) 격자가 너무 좁음
왜 본질적 한계인가 sklearn 기본 격자가 데이터에 맞지 않으면 진짜 최적이 격자 밖에 있을 수 있다. CV는 주어진 격자 안에서만 최적을 찾는다.
어떻게 진단하는가 선택된 \(\lambda^{*}\)가 격자의 끝 (max 또는 min) 이면 의심 — 더 넓게 탐색 필요.
다음 단계
np.logspace(-4, 4, 40) 정도로 넓게 시작. 선택된 \(\lambda^{*}\)가 중간 영역에 들어올 때까지 격자 조정.
8.4 Lasso의 불안정한 선택
왜 본질적 한계인가 상관 높은 피처 그룹에서 Lasso는 그 중 한 개만 임의로 살린다. 데이터 살짝만 흔들리면 다른 피처가 선택될 수 있다 — 해석이 안정적이지 않다.
어떻게 진단하는가 bootstrap이나 \(\lambda\) 약간 변경 시 선택 피처 집합이 크게 변함.
다음 단계 ElasticNet (L1 + L2) — 상관 그룹을 함께 살림. 또는 stability selection (Meinshausen & Bühlmann 2010) — bootstrap에서 반복적으로 선택되는 피처만 채택.
8.5 AIC / BIC의 분포 가정
왜 본질적 한계인가 AIC·BIC는 우도 \(\mathcal{L}\)을 명시적으로 사용 — 분포 가정에 의존. 가우스 가정이 깨진 데이터에서는 의미 없는 수치를 만든다.
어떻게 진단하는가 잔차의 정규성 검정 (Shapiro-Wilk, Q-Q plot).
다음 단계 CV가 분포 가정 없는 안전한 대안. 큰 데이터의 표준.
8.6 신경망 정규화의 상호작용
왜 본질적 한계인가 신경망의 정규화는 단일 \(\lambda\) 한 줄로 끝나지 않는다 — weight decay 강도, dropout 확률, BatchNorm 모멘텀, augmentation 강도, early stopping 시점이 서로 영향을 미친다. 하나만 강하게 켜면 학습이 무너지고, 모두 강하면 underfit.
어떻게 진단하는가 한 메커니즘만 강화·약화한 ablation 실험.
다음 단계 7편 학습 기법에서 합주로서의 정규화를 자세히 다룬다.
한계가 알려주는 흐름
정규화의 6가지 한계는 두 가지 큰 진실을 알려 준다: - 선택의 정직성: \(\lambda\)·격자·scaling을 우회하면 모델이 데이터를 정직하게 만나지 못한다. 1편 §8.1 데이터 누수와 같은 자리. - 상호작용의 본질: 한 모델·한 정규화로 끝나는 시대는 끝났다. 7편 신경망 학습은 정규화 합주 자체가 모델 설계다.
9. 정리된 결론 — 보지 않고 답해 보라
Q1. Ridge와 Lasso는 같은 데이터에 적용해도 다른 해를 만든다. 왜?
정답 제약 영역의 기하학이 다르다. Ridge(L2)는 원, Lasso(L1)는 다이아몬드. 손실 등고선이 다이아몬드 꼭짓점에서 만나기 쉬워 일부 계수가 정확히 0이 된다. 왜 L1의 희소 해는 자동 피처 선택이라는 부가 효과를 만든다 (Tibshirani 1996). L2는 모든 계수를 부드럽게 축소. 페널티의 모양이 해의 성격을 결정. (본문 6.3)
Q2. Ridge가 다중공선성을 해결하는 진짜 메커니즘은? (역행렬을 강제로 가역화한다는 답 너머)
정답 SVD 시각에서, 잡음 방향(작은 \(\sigma_i\))만 선택적으로 강하게 축소한다. 신호 방향(큰 \(\sigma_i\))은 거의 그대로. 왜 \(\hat{\beta}_{\text{Ridge}} = V \, \mathrm{diag}(\sigma_i / (\sigma_i^2 + \lambda)) \, U^\top y\) — 잡음 방향은 \(\sigma_i / \lambda\)로 강하게, 신호 방향은 \(1/\sigma_i\)로 거의 그대로. 3편 6.2의 SVD 안정성과 같은 자리. (본문 6.2)
Q3. 신경망의 weight decay = sklearn의 무엇과 같은가?
정답 L2 정규화 (Ridge의 정규화 항). 왜 \(w \leftarrow w - \eta(\nabla \mathcal{L} + \lambda w)\)가 정확히 \(\lambda \|w\|^2\) 페널티를 손실에 더한 것의 그래디언트. 다만 신경망에서는 dropout·BatchNorm·early stopping·augmentation과 함께 작동해 단일 메커니즘으로 끝나지 않는다. (본문 7.5)
Q4. Lasso가 상관 높은 피처 묶음에서 불안정한 선택을 하는 이유는? 해결책은?
정답 L1은 균등 페널티를 매기므로 상관 그룹에서 한 멤버만 임의로 선택 — 데이터 흔들면 다른 멤버가 선택된다. 왜 ElasticNet (L1 + L2) — 상관 그룹을 함께 살림. 또는 stability selection (Meinshausen & Bühlmann 2010) — bootstrap에서 반복 선택되는 피처만 채택. (본문 7.1, 8.4)
Q5. CV로 \(\lambda\)를 선택했는데 격자 끝 값이 골라졌다. 무엇을 의심하나?
정답 격자가 너무 좁음 — 진짜 최적이 격자 밖에 있다.
왜 sklearn의 기본 격자가 데이터에 맞지 않을 수 있다. np.logspace(-4, 4, 40) 정도로 넓게 다시 탐색. 선택된 \(\lambda^{*}\)가 중간 영역에 들어와야 신뢰 가능. (본문 6.4, 8.3)
5개를 한 줄로 답할 수 있었다면 정규화의 기하학·SVD 시각·신경망 확장이 자리잡은 것이다.
10. 추가 학습
1차 자료
- Tibshirani, R. Regression Shrinkage and Selection via the Lasso. JRSS-B 58(1), 267–288 (1996). — Lasso 원논문.
- Hoerl, A. E., Kennard, R. W. Ridge Regression: Biased Estimation for Nonorthogonal Problems. Technometrics 12(1), 55–67 (1970). — Ridge.
- Zou, H., Hastie, T. Regularization and Variable Selection via the Elastic Net. JRSS-B 67(2), 301–320 (2005). — ElasticNet.
- Akaike, H. A new look at the statistical model identification. IEEE TAC 19(6), 716–723 (1974). — AIC.
- Schwarz, G. Estimating the Dimension of a Model. Annals of Statistics 6(2), 461–464 (1978). — BIC.
공식 docs
- sklearn linear models:
https://scikit-learn.org/stable/modules/linear_model.html lasso_path:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.lasso_path.html- Model selection:
https://scikit-learn.org/stable/modules/model_evaluation.html
보조 자료
- Hastie, Tibshirani, Friedman. ESL. 3.4, 3.6, 7장.
- Bishop. PRML. 3.1.4, 4.1.
다음 편(6/9)부터는 신경망이다. 단층 퍼셉트론에서 시작해 XOR 문제, 다층 퍼셉트론(MLP), 역전파, 활성함수, 보편 근사 정리까지 — "딥러닝"이라는 단어를 쓰기 전에 단단히 잡아 둬야 할 토대를 모은다.
시리즈 전체 안내: 시리즈 목차
댓글
댓글 쓰기