-
Gradient Boosting Machine: 약한 학습기를 순차적으로 쌓아 강한 학습기를 만드는 원리Knowledge Base/Foundations 2026. 2. 23. 00:54

Author: Claude Opus 4.6, mangowhoiscloud
Purpose: Gradient Boosting Machine의 수학적 원리, 트리 구축 메커니즘, LambdaMART로의 확장까지
Date: 2026-02-22
Related: Sigmoid 함수 Technical Report (26.02.22), Logistic Regression Foundations (26.02.08)Executive Summary
Gradient Boosting Machine(GBM)은 함수 공간에서의 gradient descent입니다. 파라미터가 아닌 함수 자체를 최적화한다는 점에서 Neural Network의 역전파와 근본적으로 다릅니다. 각 iteration에서 이전 모델의 잔차(residual)에 새 Decision Tree를 적합(fit)시키고, 이를 누적 합산하여 예측력을 점진적으로 개선합니다.
본 문서는 (1) Boosting의 직관과 수학적 프레임워크, (2) 한 그루의 트리가 학습되는 과정, (3) Regression/Classification/Ranking 세 변형의 gradient 유도, (4) regularization 3-Layer, (5) XGBoost·LightGBM·CatBoost 구현체 비교, (6) LambdaMART로의 확장을 다룹니다.
1. Boosting의 직관: 실수를 반복적으로 교정한다
1.1 핵심 아이디어
시험 채점 비유: 1번 채점자: 대략적으로 채점 → 잔차(오차) 발생 2번 채점자: 1번이 틀린 부분만 재채점 → 잔차 감소 3번 채점자: 2번까지도 못 잡은 부분만 재채점 → 잔차 더 감소 ... 최종 점수 = 1번 + 2번의 보정 + 3번의 보정 + ... 각 채점자는 "약하지만"(weak learner), 순차적으로 쌓으면 "강하다"(strong learner)수학적으로 풀면 아래와 같습니다.
F_M(x) = F_0(x) + Σ_{m=1}^{M} η · h_m(x) F_0(x): 초기 예측 (보통 평균값) h_m(x): m번째 Decision Tree (약한 학습기) η: learning rate (0 < η ≤ 1) M: 총 트리 수 (boosting rounds)1.2 Bagging과의 구조적 차이
Bagging (Random Forest): - 각 트리가 독립적으로 학습 → 병렬화 가능 - 전체 데이터의 bootstrap sample 사용 - 최종 예측: 다수결 또는 평균 - 분산(variance) 감소가 목적 Boosting (GBM): - 각 트리가 이전 트리의 잔차를 학습 → 순차적 (병렬화 제한) - 전체 데이터 사용, 단 잔차에 가중 - 최종 예측: 가중 합산 - 편향(bias) 감소가 목적축 Random Forest GBM 학습 방식 독립·병렬 순차·의존 트리 깊이 깊게 (full depth) 얕게 (3-8) 트리 수 수백-수천 수백-수천 (조기 종료) 주요 감소 분산(variance) 편향(bias) 과적합 패턴 트리 수↑ → 수렴 트리 수↑ → 과적합 가능 조정 난이도 쉬움 상대적 까다로움
2. 수학적 프레임워크: 함수 공간에서의 Gradient Descent
2.1 목적 함수
F* = argmin_F Σ_{i=1}^{n} L(y_i, F(x_i)) L: 손실 함수 y_i: 실제 값 F(x_i): 모델의 예측값일반적인 gradient descent는 파라미터 공간에서 최적화합니다:
θ ← θ - η · ∂L/∂θFriedman(2001)의 핵심 통찰: F(x) 자체를 함수 공간에서 최적화하면?
F(x) ← F(x) - η · ∂L/∂F(x) 여기서 -∂L/∂F(x_i) = "의사 잔차(pseudo-residual)"각 관측치 x_i에서의 pseudo-residual:
r_im = -[∂L(y_i, F(x_i)) / ∂F(x_i)]_{F=F_{m-1}}이 pseudo-residual에 Decision Tree h_m을 적합시키면, h_m은 함수 공간에서의 gradient 방향을 근사합니다.
2.2 GBM 알고리즘 (Friedman, 2001)
Input: 학습 데이터 {(x_i, y_i)}_{i=1}^n, 손실 함수 L, 트리 수 M, learning rate η Step 1: 초기 모델 F_0(x) = argmin_γ Σ_i L(y_i, γ) (regression: 평균, classification: log-odds) Step 2: for m = 1 to M: (a) Pseudo-residual 계산: r_im = -∂L(y_i, F_{m-1}(x_i)) / ∂F_{m-1}(x_i) ∀i (b) Decision Tree h_m을 {(x_i, r_im)}에 적합 → J개의 terminal node (leaf) (c) 각 leaf j의 최적 출력값: γ_jm = argmin_γ Σ_{x_i ∈ R_jm} L(y_i, F_{m-1}(x_i) + γ) (d) 모델 업데이트: F_m(x) = F_{m-1}(x) + η · Σ_{j=1}^{J} γ_jm · 𝟙(x ∈ R_jm) Output: F_M(x)2.3 왜 "Gradient" Boosting인가
기존 Boosting 알고리즘(AdaBoost)은 오분류 샘플의 가중치를 높이는 방식이었습니다.
Friedman은 이를 임의의 미분 가능한 손실 함수에 대한 gradient descent로 일반화했습니다:
AdaBoost: exponential loss에 특화 → 이상치에 취약 GBM: 임의 loss 사용 가능 → Huber loss 등으로 robustness 확보 AdaBoost의 가중치 업데이트 = exponential loss의 gradient descent → AdaBoost는 GBM의 특수 경우이것이 Friedman의 논문 제목이 "Greedy Function Approximation"인 이유입니다.
각 step에서 gradient 방향으로 한 그루의 트리를 추가하는 것은, 함수 공간에서의 greedy 탐색입니다.
3. 한 그루의 트리: Decision Tree의 분할 메커니즘
3.1 CART 알고리즘 (Classification and Regression Trees)
GBM의 base learner는 CART Decision Tree입니다. 각 내부 노드에서:
최적 분할 탐색: for each feature j: for each threshold t: 왼쪽 = {x_i : x_ij ≤ t} 오른쪽 = {x_i : x_ij > t} gain = 현재 불순도 - (왼쪽 불순도 + 오른쪽 불순도) best_split = argmax gainRegression (GBM에서 주로 사용):
불순도 = MSE = (1/n) Σ(y_i - ȳ)² 분할 이득: Gain = (1/n) [n_L · Var(y_L) + n_R · Var(y_R)] → 분산을 최대한 줄이는 분할 선택XGBoost의 분할 이득 (2차 근사):
Gain = (1/2) [G_L² / (H_L + λ) + G_R² / (H_R + λ) - (G_L + G_R)² / (H_L + H_R + λ)] - γ G = Σ g_i (gradient의 합) H = Σ h_i (hessian의 합) λ = L2 regularization γ = 분할 복잡도 페널티3.2 수치 예시: 한 번의 분할
데이터: 10개 샘플의 pseudo-residual x (feature): [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] r (residual): [0.8, 0.6, 0.9, 0.3, 0.1, -0.2, -0.5, -0.8, -0.6, -0.9] 가능한 분할 후보 (x ≤ t 기준): t=5: L=[0.8, 0.6, 0.9, 0.3, 0.1], R=[-0.2, -0.5, -0.8, -0.6, -0.9] ȳ_L = 0.54, ȳ_R = -0.60 MSE_L = 0.0884, MSE_R = 0.0580 Total MSE = 5·0.0884 + 5·0.0580 = 0.732 t=3: L=[0.8, 0.6, 0.9], R=[0.3, 0.1, -0.2, -0.5, -0.8, -0.6, -0.9] ȳ_L = 0.767, ȳ_R = -0.371 MSE_L = 0.016, MSE_R = 0.165 Total MSE = 3·0.016 + 7·0.165 = 1.203 원래 MSE (분할 전) = 10 · Var(r) = 10 · 0.389 = 3.89 Gain(t=5) = 3.89 - 0.732 = 3.158 ← 최적 Gain(t=3) = 3.89 - 1.203 = 2.687 → x ≤ 5에서 분할, 왼쪽 leaf 출력 = 0.54, 오른쪽 leaf 출력 = -0.603.3 트리 깊이의 의미
depth=1 (stump): 하나의 feature, 하나의 threshold → 가장 약한 learner, 가장 높은 bias → 주효과(main effect)만 포착 depth=3: 최대 8개 leaf → 2-way interaction까지 포착 → 실전에서 가장 흔한 설정 depth=6: 최대 64개 leaf → 고차 interaction 포착 가능 → 과적합 위험 증가 depth=무제한: Random Forest 스타일 → GBM에서는 거의 사용하지 않음Q: GBM에서 트리 깊이를 왜 3-6으로 제한하나요?
A: 각 트리는 잔차의 주요 패턴만 포착하면 됩니다. 세밀한 패턴은 다음 트리가 잡습니다.
깊은 트리 하나보다 얕은 트리 여러 개가 더 좋은 일반화 성능을 보입니다.
4. 세 가지 변형의 Gradient 유도
4.1 Regression: MSE Loss
L(y, F) = (1/2)(y - F)² pseudo-residual: r_i = -∂L/∂F = -(-(y_i - F(x_i))) = y_i - F(x_i) → 말 그대로 "잔차" (residual) → GBM의 이름이 직관적인 이유가장 단순한 경우로 pseudo-residual = 실제 잔차가 됩니다. 각 트리는 이전 모델이 맞추지 못한 오차를 예측합니다.
4.2 Classification: Log Loss (Cross-Entropy)
L(y, F) = -[y·log(σ(F)) + (1-y)·log(1-σ(F))] = -y·F + log(1 + e^F) 여기서 p = σ(F) = 1/(1+e^(-F)) [sigmoid 연결] pseudo-residual: r_i = -∂L/∂F = y_i - σ(F(x_i)) = y_i - p_i → (실제 label - 예측 확률) → Logistic Regression의 gradient와 동일한 형태!sigmoid와의 연결: Classification GBM에서 각 트리는 F(x) 공간에서 동작하고, 최종 확률은 σ(F(x))로 변환됩니다. 이것이 Sigmoid Technical Report에서 다룬 "실수 → 확률 변환"의 GBM 적용입니다.
leaf 출력의 Newton-Raphson 최적화:
γ_jm = Σ_{x_i ∈ R_jm} r_i / Σ_{x_i ∈ R_jm} p_i(1-p_i) = (1차 gradient의 합) / (2차 gradient의 합) 2차 gradient (hessian): h_i = p_i(1-p_i) = σ(F)(1-σ(F)) = σ'(F) → sigmoid의 자기미분 성질(P3)이 여기서 사용됨4.3 Ranking: LambdaMART
LambdaMART는 GBM의 gradient를 NDCG를 직접 최적화하는 lambda gradient로 교체합니다:
일반 GBM: r_i = -∂L/∂F(x_i) [loss의 gradient] LambdaMART: λ_i = Σ_j λ_ij [lambda gradient] λ_ij = σ(σ_param · (s_i - s_j)) · |ΔNDCG_ij| → NDCG는 미분 불가(이산 순위 함수) → 대신 "sigmoid로 매끄럽게 근사한 gradient"를 사용 → 나머지(트리 구축, leaf 출력, 앙상블)는 표준 GBM과 동일핵심 통찰: LambdaMART = GBM + gradient만 교체. 트리 구축 엔진은 XGBoost/LightGBM을 그대로 사용하면서, pseudo-residual 계산만 lambda gradient로 바꾸면 됩니다. 이것이 GBM 프레임워크의 유연성입니다.
GBM 프레임워크의 모듈성: Loss Function pseudo-residual 적용 분야 ───────────────────────────────────────────────────── MSE y - F(x) 회귀 Log Loss y - σ(F(x)) 이진 분류 Softmax CE y_k - softmax_k(F(x)) 다중 분류 Huber 조건부 (이상치 robust) robust 회귀 Lambda Gradient Σ σ(Δs)·|ΔNDCG| 순위 학습 Quantile 조건부 (τ에 따라) 분위수 회귀
5. Regularization: 과적합 방지의 3 Layer
GBM은 본질적으로 과적합에 취약합니다(트리를 계속 추가하면 학습 오차는 0에 수렴). 3단계 regularization이 표준입니다.
5.1 Layer 1: Shrinkage (Learning Rate)
F_m(x) = F_{m-1}(x) + η · h_m(x) η = 1.0: 각 트리의 기여를 100% 반영 → 과적합 위험 η = 0.1: 각 트리의 기여를 10%만 반영 → 더 많은 트리 필요, but 일반화↑ η = 0.01: 극도로 보수적 → 수천 그루 필요, but 최고 성능 도달 가능η ∈ [0.01, 0.1], 트리 수는 early stopping으로 결정합니다.
Friedman(2001)의 관찰
η를 낮추면 거의 항상 test error가 개선됩니다. 계산 비용과의 트레이드오프일 뿐, 정확도 측면에서는 낮은 η이 우월합니다.
5.2 Layer 2: Tree Constraints
max_depth: 트리 깊이 제한 (3-8) min_samples_leaf: leaf 최소 샘플 수 (5-20) max_features: 분할 시 고려할 feature 비율 (0.5-0.8) γ (min_split_gain): 분할의 최소 이득 (XGBoost의 gamma)5.3 Layer 3: 명시적 Regularization
XGBoost 목적함수: Obj = Σ L(y_i, F(x_i)) + Σ_m Ω(h_m) Ω(h) = γ · T + (1/2) · λ · Σ_{j=1}^{T} w_j² T = leaf 수 (구조 복잡도) w_j = leaf j의 출력값 γ = leaf 수 페널티 → 불필요한 분할 억제 λ = L2 regularization → leaf 출력 크기 억제수치 예시: regularization의 효과
분할 이득 (regularization 없음): G_L = 10.0, H_L = 5.0, G_R = -8.0, H_R = 4.0 Gain = (1/2)[10²/5 + (-8)²/4 - 2²/9] = (1/2)[20 + 16 - 0.44] = 17.78 분할 이득 (λ=1.0, γ=5.0): Gain = (1/2)[10²/(5+1) + (-8)²/(4+1) - 2²/(9+1)] - 5.0 = (1/2)[16.67 + 12.80 - 0.40] - 5.0 = 14.53 - 5.0 = 9.53 → γ=5.0 적용 후 이득이 17.78 → 9.53으로 감소 → 이득이 양수이므로 분할은 진행, 단 기준이 엄격해짐 → 이득 < 0이 되는 분할은 차단됨
6. 구현체 비교: XGBoost vs LightGBM vs CatBoost
6.1 트리 성장 전략
XGBoost: Level-wise (수평 우선) → 같은 깊이의 모든 노드를 먼저 분할 → depth 제어가 직관적 → 불필요한 분할이 발생할 수 있음 LightGBM: Leaf-wise (이득 우선) → 전체 leaf 중 이득이 가장 큰 leaf를 분할 → 같은 트리 수에서 더 낮은 loss 달성 → 과적합 위험 약간 높음 → max_depth 제한 권장 CatBoost: Symmetric Tree (대칭 트리) → 같은 깊이에서 동일한 분할 기준 사용 → 추론 속도 최적 (분기 예측 효율) → 범주형 feature의 native 지원6.2 핵심 차별화
축 XGBoost LightGBM CatBoost 트리 성장 Level-wise Leaf-wise Symmetric 범주형 처리 원핫 인코딩 필요 Exclusive Feature Bundling Ordered Target Encoding 결측값 학습 시 최적 방향 할당 무시(ignore) 별도 처리 Histogram Optional 기본(256 bin) 기본 학습 속도 중간 빠름 (GOSS+EFB) 느림 (ordered boosting) GPU 지원 ✓ ✓ ✓ (강력) 순위 학습 LambdaMART ✓ LambdaRank ✓ YetiRank 6.3 LightGBM의 두 가지 가속 기법
GOSS (Gradient-based One-Side Sampling):
관찰: gradient가 작은 샘플 = 잘 학습된 샘플 → 정보량 적음 전략: 1. gradient 절대값 기준 상위 a%는 전부 유지 2. 나머지 중 무작위 b%만 샘플링, 가중치 (1-a)/b 부여 기본값: a=20%, b=10% → 전체의 ~30%만 사용 → 학습 속도 ~3x 향상, 정확도 거의 동일EFB (Exclusive Feature Bundling):
관찰: 고차원 희소 데이터에서 많은 feature가 상호 배타적 예: 원핫 인코딩된 범주형 변수 → 동시에 1인 feature 없음 전략: 상호 배타적인 feature들을 하나로 묶음 (bundle) → feature 수 감소 → 분할 탐색 시간 감소 예: color_red, color_blue, color_green → color (0, 1, 2) → 3개 feature → 1개로 축소
7. Early Stopping과 하이퍼파라미터 튜닝
7.1 Early Stopping
GBM의 과적합 패턴: m=1~100: training error ↓, validation error ↓ (underfitting 해소) m=100~300: training error ↓, validation error 정체 (적정) m=300~: training error ↓, validation error ↑ (과적합!) Early stopping: validation error가 n_rounds 연속 개선되지 않으면 중단 보통 n_rounds = 50-100Q: GBM에서 트리 수를 어떻게 정하나요?
A: 직접 정하지 않습니다. Early stopping이 자동으로 최적 트리 수를 결정하는 점이 Random Forest(트리 수에 강건)와 다른 점입니다.
7.2 하이퍼파라미터 우선순위
가장 중요 (먼저 튜닝): 1. learning_rate (η): 0.01-0.3, early stopping과 연동 2. n_estimators: early stopping으로 자동 결정 3. max_depth: 3-8 (LightGBM leaf-wise면 num_leaves로 대체) 중요 (이후 튜닝): 4. min_child_samples: 5-50 5. subsample: 0.6-0.9 (Stochastic GBM) 6. colsample_bytree: 0.5-0.9 미세 조정: 7. reg_lambda (L2): 0-10 8. reg_alpha (L1): 0-10 9. min_split_gain (γ): 0-57.3 수치 예시: Learning Rate와 트리 수의 트레이드오프
실험: 동일 데이터, early stopping (patience=50) η = 0.3: 최적 트리 수 = 87, val RMSE = 0.234 η = 0.1: 최적 트리 수 = 312, val RMSE = 0.221 (-5.6%) η = 0.05: 최적 트리 수 = 580, val RMSE = 0.218 (-6.8%) η = 0.01: 최적 트리 수 = 2,847, val RMSE = 0.215 (-8.1%) 경향: η↓ → 트리 수↑ → 학습 시간↑ → but RMSE↓ 실전: η=0.05-0.1이 속도/성능 균형점
8. Feature Importance: 모델 해석
8.1 세 가지 중요도 지표
① Split Count (분할 빈도): 각 feature가 분할에 사용된 횟수 문제: 높은 cardinality feature에 편향 (많은 분할 후보) ② Gain (분할 이득 총합): 각 feature의 분할이 가져온 이득의 합 가장 신뢰할 수 있는 지표 XGBoost의 기본 importance_type='gain' ③ Coverage (커버리지): 각 feature의 분할이 영향을 미치는 샘플 비율8.2 SHAP (SHapley Additive exPlanations)
Tree SHAP: 각 예측에 대해 각 feature의 기여도를 Shapley value로 분해 → 전역적 중요도 + 개별 예측 설명 모두 가능 f(x) = E[f(X)] + Σ_j φ_j(x) E[f(X)]: 전체 예측의 평균 φ_j(x): feature j의 Shapley value (기여도) Σ φ_j(x): 예측값과 평균의 차이를 feature별로 분해Q: Feature importance vs SHAP
A: importance는 전역적 순위만 제공, SHAP는 개별 예측의 feature별 기여도까지 분해합니다. GBM + SHAP 조합으로서 ML이 설명 가능해집니다.
9. LambdaMART: GBM의 Ranking 확장
9.1 아키텍처
표준 GBM: Loss L(y, F) → pseudo-residual r = -∂L/∂F → CART → F update LambdaMART: NDCG (미분 불가) → lambda gradient λ_i = Σ_j λ_ij → CART → F update λ_ij = σ(σ_param · (s_i - s_j)) · |ΔNDCG_ij| 차이점: gradient 계산만 다름. 나머지는 동일.9.2 왜 NDCG를 직접 미분하지 않는가
NDCG@K = DCG@K / IDCG@K DCG@K = Σ_{i=1}^K (2^{rel_i} - 1) / log₂(i+1) 문제: rel_i는 "i번째 위치에 있는 문서의 relevance" → 위치 i는 스코어의 argsort 결과 → argsort는 미분 불가 (이산 연산) 해결: 모든 문서 쌍 (i,j)에 대해 "i와 j를 교환했을 때 NDCG가 얼마나 변하는지" = |ΔNDCG_ij| × "교환이 필요한 확률" = σ(s_i - s_j) → 미분 가능한 surrogate gradient9.3 수치 예시: Lambda Gradient 계산
Query에 대한 3개 문서: Doc A: relevance=3, score=2.1, rank=1 Doc B: relevance=1, score=1.8, rank=2 Doc C: relevance=2, score=0.5, rank=3 IDCG@3 = (2³-1)/log₂(2) + (2²-1)/log₂(3) + (2¹-1)/log₂(4) = 7/1 + 3/1.585 + 1/2 = 7 + 1.893 + 0.5 = 9.393 쌍 (A, B): rel_A > rel_B, score_A > score_B (순서 올바름) σ(2.1-1.8) = σ(0.3) = 0.574 A↔B 교환 시 ΔNDCG = 작음 (rel 3→1 교환, 상위 위치) λ_AB = 0.574 · |ΔNDCG_AB| → 중간 gradient (순서 맞지만 확신↑ 필요) 쌍 (B, C): rel_B < rel_C, score_B > score_C (순서 잘못됨!) σ(1.8-0.5) = σ(1.3) = 0.786 B↔C 교환 시 ΔNDCG = rel 2를 rank 2로, rel 1을 rank 3으로 → 큰 이득 λ_BC = 0.786 · |ΔNDCG_BC| → 큰 gradient (순서 교정 필요!) → 모델은 B의 score를 낮추고 C의 score를 높이는 방향으로 학습 → |ΔNDCG|가 큰 쌍에 집중 = 상위 순위 최적화
10. GBM의 한계와 알아야 할 트레이드오프
한계 1: 순차 학습 → 학습 병렬화 제한 트리 간 의존성 때문에 m+1번째 트리는 m번째 결과를 기다려야 함 단, 트리 내부의 분할 탐색은 병렬화 가능 (XGBoost/LightGBM 모두 구현) 한계 2: 외삽(extrapolation) 불가 트리 기반이므로 학습 범위 밖의 값에 대해 가장 가까운 leaf로 예측 → 시계열 등 트렌드가 있는 데이터에 약함 한계 3: 고차원 희소 데이터에서 Neural Net 대비 열위 NLP, 이미지 등 고차원·희소·비구조적 데이터는 NN이 우위 GBM의 강점은 정형 데이터(tabular data) 한계 4: 하이퍼파라미터 민감성 Random Forest 대비 튜닝이 까다로움 η, depth, regularization의 조합이 성능에 큰 영향Q: GBM vs Neural Net 언제 어느 것을 쓰나요?
A: Bentéjac et al.(2021)의 체계적 비교에서도 정형 데이터에서 GBM은 여전히 Neural Net과 동등하거나 우위입니다.
GBM 우위: - 정형 데이터 (tabular) - 데이터 수천~수백만 행 - feature importance / 해석 필요 - 학습 시간 제약 Neural Net 우위: - 비구조적 데이터 (이미지, 텍스트, 오디오) - 데이터 수백만 행 이상 - 표현 학습(representation learning) 필요 - GPU 인프라 확보
References
- Friedman, J. H. (2001). "Greedy Function Approximation: A Gradient Boosting Machine." Annals of Statistics, 29(5), 1189-1232.
- Chen, T. & Guestrin, C. (2016). "XGBoost: A Scalable Tree Boosting System." KDD.
- Ke, G. et al. (2017). "LightGBM: A Highly Efficient Gradient Boosting Decision Tree." NeurIPS.
- Prokhorenkova, L. et al. (2018). "CatBoost: Unbiased Boosting with Categorical Features." NeurIPS.
- Burges, C. J. C. (2010). "From RankNet to LambdaRank to LambdaMART: An Overview." Microsoft Research TR-2010-82.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning. Springer. Ch.10.
- Natekin, A. & Knoll, A. (2013). "Gradient Boosting Machines, A Tutorial." Frontiers in Neurorobotics, 7:21.
- Bentéjac, C. et al. (2021). "A Comparative Analysis of Gradient Boosting Algorithms." Artificial Intelligence Review, 54, 1937-1967.
- Lundberg, S. M. & Lee, S.-I. (2017). "A Unified Approach to Interpreting Model Predictions." NeurIPS. [SHAP]
- Friedman, J. H. (2002). "Stochastic Gradient Boosting." Computational Statistics & Data Analysis, 38(4), 367-378.
'Knowledge Base > Foundations' 카테고리의 다른 글
Sigmoid: 실수를 확률로 변환하는 가장 자연스러운 함수 (0) 2026.02.23 Seeing the Goal, Missing the Truth: Human Accountability for AI Bias (0) 2026.02.20 LLM-as-Judge 루브릭 설계: 정보이론 관점의 해상도 분석과 가이드 (0) 2026.02.09 Swiss Cheese Model for LLM Evaluation: 단일 Grader는 반드시 실패한다 (0) 2026.02.09 Logistic Regression: 확률을 모델링하는 해석 가능한 방법 (0) 2026.02.08