경험적 위험 최소화
필요한 모든 수학적 지식을 갖추었으므로, 우리는 이제 학습이 무엇을 의미하는지 소개할 위치에 있다. 기계 학습의 “학습” 부분은 훈련 데이터를 기반으로 매개변수를 추정하는 것으로 귀결된다.
$\quad$ 이 절에서 우리는 예측기가 함수인 경우를 고려하고, 8.3절에서 확률적 모델의 경우를 고려한다. 우리는 경험적 위험 최소화의 아이디어를 설명하는데, 이는 원래 서포트 벡터 머신(12장에서 설명됨)의 제안으로 대중화되었다. 그러나 그 일반적인 원리는 널리 적용 가능하며, 확률적 모델을 명시적으로 구성하지 않고도 학습이란 무엇인가라는 질문을 던질 수 있게 해준다. 우리가 이어지는 소절들에서 자세히 다룰 네 가지 주요 설계 선택 사항이 있다.
- 8.2.1절 우리가 예측기가 취하도록 허용하는 함수의 집합은 무엇인가?
- 8.2.2절 예측기가 훈련 데이터에서 얼마나 잘 수행되는지 어떻게 측정하는가?
- 8.2.3절 보지 못한 테스트 데이터에서 잘 수행되는 예측기를 훈련 데이터만으로 어떻게 구성하는가?
- 8.2.4절 모델의 공간에서 탐색하기 위한 절차는 무엇인가?
8.2.1 함수의 가설 클래스
우리에게 $N$ 개의 예시 $x_n \in \mathbb{R}^D$ 와 그에 상응하는 스칼라 레이블 $y_n \in \mathbb{R}$ 이 주어졌다고 가정하자. 우리는 쌍 $(x_1, y_1), \dots, (x_N, y_N)$ 을 얻는 지도 학습 환경을 고려한다. 이 데이터가 주어졌을 때, 우리는 $\theta$ 에 의해 매개변수화된 예측기 $f(\cdot, \theta) : \mathbb{R}^D \rightarrow \mathbb{R}$ 을 추정하고자 한다. 우리는 데이터에 잘 적합되는, 즉 모든 $n = 1, \dots, N$ 에 대해 다음과 같이 되는 좋은 매개변수 $\theta^*$ 를 찾을 수 있기를 바란다.
이 절에서 우리는 예측기의 출력을 나타내기 위해 $\hat{y}_n = f(x_n, \theta^*)$ 라는 표기법을 사용한다.
Remark. 설명의 편의를 위해 우리는 경험적 위험 최소화를 (레이블이 있는) 지도 학습의 관점에서 설명할 것이다. 이는 가설 클래스와 손실 함수의 정의를 단순화한다. 기계 학습에서 아핀 함수(affine functions)와 같이 매개변수화된 함수 클래스를 선택하는 것 또한 일반적이다.
예제 8.1
우리는 경험적 위험 최소화를 설명하기 위해 일반 최소 제곱 회귀(ordinary least-squares regression) 문제를 소개한다. 회귀에 대한 더 포괄적인 설명은 9장에서 주어진다. 레이블 $y_n$ 이 실수값일 때, 예측기를 위한 함수 클래스로 널리 사용되는 선택은 아핀 함수(affine functions)의 집합이다. 우리는 아핀 함수에 대한 더 간결한 표기법을 선택하기 위해 추가적인 단위 특성(unit feature) $x^{(0)} = 1$ 을 $x_n$ 에 연결(concatenate)한다. 즉, $x_n = [1, x_n^{(1)}, x_n^{(2)}, \dots, x_n^{(D)}]^T$ 이다. 매개변수 벡터는 이에 상응하게 $\theta = [\theta_0, \theta_1, \theta_2, \dots, \theta_D]^T$ 가 되며, 이는 우리가 예측기를 다음과 같은 선형 함수로 작성할 수 있게 해준다(기계 학습에서 아핀 함수는 종종 선형 함수라고 불린다).
이 선형 예측기는 다음의 아핀 모델과 동치이다.
예측기는 단일 예시를 나타내는 특성 벡터 $x_n$ 을 입력으로 받아 실수 형태의 출력을 생성한다. 즉, $f : \mathbb{R}^{D+1} \rightarrow \mathbb{R}$ 이다. 이 장의 이전 그림들은 예측기로서 직선을 가졌으며, 이는 우리가 아핀 함수를 가정했음을 의미한다.
$\quad$ 선형 함수 대신 우리는 예측기로서 비선형 함수를 고려하기를 원할 수도 있다. 최근 신경망의 발전은 더 복잡한 비선형 함수 클래스에 대한 효율적인 연산을 가능하게 한다.
$\quad$ 함수의 클래스가 주어지면, 우리는 좋은 예측기를 탐색하기를 원한다. 이제 우리는 경험적 위험 최소화의 두 번째 요소로 넘어간다: 예측기가 훈련 데이터에 얼마나 잘 적합되는지를 어떻게 측정할 것인가.
8.2.2 Loss Function for Training
훈련을 위한 손실 함수
특정 예시에 대한 레이블 $y_n$ 과 $x_n$ 을 기반으로 우리가 만드는 상응하는 예측 $\hat{y}_n$ 을 고려하자. 데이터에 잘 적합된다는 것이 무엇을 의미하는지 정의하기 위해, 우리는 실제 정답 레이블과 예측을 입력으로 받아 이 특정 예측에서 우리가 얼마나 많은 오차를 범했는지를 나타내는 음수가 아닌 숫자(손실이라고 불림)를 생성하는 손실 함수 $\ell(y_n, \hat{y}_n)$ 를 지정해야 한다. 좋은 매개변수 벡터 $\theta^*$ 를 찾기 위한 우리의 목표는 $N$ 개의 훈련 예시 집합에 대한 평균 손실을 최소화하는 것이다.
$\quad$ 기계 학습에서 흔히 이루어지는 한 가지 가정은 예시들의 집합 $(x_1, y_1), \dots, (x_N, y_N)$ 이 독립 항등 분포(independent and identically distributed, i.i.d.)를 따른다는 것이다. 독립적이라는 단어(6.4.5절)는 두 데이터 포인트 $(x_i, y_i)$ 와 $(x_j, y_j)$ 가 통계적으로 서로 의존하지 않음을 의미하며, 이는 경험적 평균이 모집단 평균에 대한 좋은 추정치임을 의미한다(6.4.1절). 이것은 우리가 훈련 데이터에 대한 손실의 경험적 평균을 사용할 수 있음을 암시한다. 주어진 훈련 집합 ${(x_1, y_1), \dots, (x_N, y_N)}$ 에 대해, 우리는 예시 행렬 $X := [x_1, \dots, x_N]^T \in \mathbb{R}^{N \times D}$ 와 레이블 벡터 $y := [y_1, \dots, y_N]^T \in \mathbb{R}^N$ 의 표기법을 도입한다. 이 행렬 표기법을 사용하여 평균 손실은 다음과 같이 주어진다.
여기서 $\hat{y}_n = f(x_n, \theta)$ 이다. 식 (8.6)은 경험적 위험(empirical risk)이라고 불리며, 예측기 $f$ 와 데이터 $X, y$ 라는 세 가지 인자에 의존한다. 학습을 위한 이러한 일반적인 전략을 경험적 위험 최소화(empirical risk minimization)라고 부른다.
데이터가 i.i.d.이기 때문에 경험적 평균이 모집단 평균의 좋은 추정치라는 것을 의미한다
각 데이터가 같은 분포(항등 분포)에서 샘플링되었으므로, 경험적 평균의 기댓값이 모집단의 평균과 같다.
또한 모든 데이터가 상호 독립적으로 샘플링되었으므로, 데이터가 충분히 많아질수록 분산이 0으로 수렴한다.
데이터의 개수 $N$ 이 커질수록 분산(불확실성)은 0에 수렴한다.
예제 8.2 (최소 제곱 손실)
최소 제곱 회귀의 예시를 계속 이어가면서, 우리는 제곱 손실 $\ell(y_n, \hat{y}_n) = (y_n - \hat{y}_n)^2$ 을 사용하여 훈련 중 오차를 발생시키는 비용을 측정한다고 명시한다. 우리는 데이터에 대한 손실들의 평균인 경험적 위험 (8.6)을 최소화하기를 원한다.
여기서 우리는 예측기 $\hat{y}_n = f(x_n, \theta)$ 를 대입했다. 선형 예측기 $f(x_n, \theta) = \theta^T x_n$ 이라는 우리의 선택을 사용함으로써, 우리는 다음의 최적화 문제를 얻는다.
이 식은 행렬 형태로 동등하게 표현될 수 있다.
이것은 최소 제곱 문제(least-squares problem)로 알려져 있다. 9.2절에서 논의할 정규 방정식(normal equations)을 풂으로써 이것에 대한 닫힌 형태의 해석적 해(closed-form analytic solution)가 존재한다.
$\quad$ 우리는 훈련 데이터에서만 잘 수행되는 예측기에는 관심이 없다. 대신, 우리는 보지 못한 테스트 데이터에서 잘 수행되는(낮은 위험을 가지는) 예측기를 찾는다. 더 공식적으로, 우리는 예상 위험(expected risk)을 최소화하는 (매개변수가 고정된) 예측기 $f$ 를 찾는 데 관심이 있다.
여기서 $y$ 는 레이블이고 $f(x)$ 는 예시 $x$ 에 기반한 예측이다. $\mathbf{R}_{\text{true}}(f)$ 라는 표기법은 만약 우리가 무한한 양의 데이터에 접근할 수 있다면 이것이 진정한 위험이 됨을 나타낸다. 기댓값은 모든 가능한 데이터와 레이블의 (무한한) 집합에 대한 것이다. 예상 위험을 최소화하려는 우리의 바람으로부터 두 가지 실질적인 질문이 발생하며, 우리는 다음 두 소절에서 이를 다룬다.
- 잘 일반화하기 위해 우리의 훈련 절차를 어떻게 변경해야 하는가?
- (유한한) 데이터로부터 예상 위험을 어떻게 추정하는가?
Remark. 많은 기계 학습 작업은 예측의 정확도나 평균 제곱근 오차와 같은 연관된 성능 척도(performance measure)와 함께 지정된다. 성능 척도는 더 복잡할 수 있고, 비용에 민감할 수 있으며, 특정 애플리케이션에 대한 세부 사항을 포착할 수 있다. 원칙적으로 경험적 위험 최소화를 위한 손실 함수의 설계는 기계 학습 작업에 의해 지정된 성능 척도와 직접적으로 일치해야 한다. 실제로는 손실 함수의 설계와 성능 척도 사이에 불일치가 있는 경우가 많다. 이는 구현의 용이성이나 최적화의 효율성과 같은 문제 때문일 수 있다.
8.2.3 Regularization to Reduce Overfitting
과적합을 줄이기 위한 정규화
이 절에서는 모델이 잘 일반화(예상 위험을 근사적으로 최소화)될 수 있도록 경험적 위험 최소화에 추가하는 요소에 대해 설명한다. 기계 학습 예측기를 훈련하는 목적은 우리가 보지 못한 데이터에서 잘 수행되도록, 즉 예측기가 잘 일반화되도록 하는 것임을 상기하자. 우리는 전체 데이터 세트의 일정 비율을 따로 떼어놓음으로써 이 보지 못한 데이터를 시뮬레이션한다. 이렇게 따로 떼어놓은 세트를 테스트 세트(test set)라고 부른다. 예측기 $f$ 에 대해 충분히 풍부한 함수 클래스가 주어지면, 우리는 본질적으로 훈련 데이터를 암기하여 경험적 위험을 0으로 만들 수 있다. 이것이 훈련 데이터에 대한 손실(그리고 따라서 위험)을 최소화하는 데에는 훌륭하지만, 우리는 예측기가 보지 못한 데이터에 대해 잘 일반화되기를 기대하지는 않을 것이다. 실제로는 유한한 데이터 세트만 존재하므로, 우리는 데이터를 훈련 세트와 테스트 세트로 분할한다. 훈련 세트는 모델을 적합시키는 데 사용되며, (훈련 중에 기계 학습 알고리즘이 보지 못한) 테스트 세트는 일반화 성능을 평가하는 데 사용된다. 사용자가 테스트 세트를 관찰한 후에 새로운 훈련 라운드로 되돌아가지 않는 것이 중요하다. 우리는 훈련 및 테스트 세트를 나타내기 위해 각각 하첨자 $\text{train}$ 과 $\text{test}$ 를 사용한다. 우리는 8.2.4절에서 유한한 데이터 세트를 사용하여 예상 위험을 평가하는 이 아이디어를 다시 살펴볼 것이다.
예측기의 테스트 세트에서의 성능을 단지 아는 것만으로도 정보가 유출된다(Blum and Hardt, 2015).
$\to$ 만약 모델을 훈련하고 test set으로 평가한 뒤, 오차가 높아 가중치를 바꿔서 다시 학습한다면, test set의 노이즈 정보가 모델의 가중치에 기여한다. 이렇게 되면 test set는 더 이상 실제 관측되지 않은(미지의) 데이터를 대변할 수 없다.
$\quad$ 경험적 위험 최소화는 과적합(overfitting)으로 이어질 수 있음이 밝혀졌다. 즉, 예측기가 훈련 데이터에 너무 가깝게 적합되어 새로운 데이터에 잘 일반화되지 못하는 것이다. 훈련 세트에서는 평균 손실이 매우 작지만 테스트 세트에서는 평균 손실이 큰 이러한 일반적인 현상은 데이터가 적고 가설 클래스가 복잡할 때 발생하는 경향이 있다. (매개변수가 고정된) 특정 예측기 $f$ 에 대해, 과적합 현상은 훈련 데이터로부터 추정한 위험 $\mathbf{R}_{\text{emp}}(f, X_{\text{train}}, y_{\text{train}})$ 이 예상 위험 $\mathbf{R}_{\text{true}}(f)$ 를 과소평가할 때 발생한다. 우리는 테스트 세트에서의 경험적 위험 $\mathbf{R}_{\text{emp}}(f, X_{\text{test}}, y_{\text{test}})$ 를 사용하여 예상 위험 $\mathbf{R}_{\text{true}}(f)$ 를 추정하므로, 테스트 위험이 훈련 위험보다 훨씬 크다면 이것은 과적합의 징후이다. 우리는 8.3.3절에서 과적합의 개념을 다시 살펴볼 것이다.
$\quad$ 따라서 우리는 페널티 항을 도입하여 경험적 위험의 최소화점을 찾는 탐색 과정을 어떻게든 편향(bias)시켜야 하며, 이는 최적화 알고리즘이 과도하게 유연한 예측기를 반환하는 것을 더 어렵게 만든다. 기계 학습에서 이 페널티 항은 정규화(regularization)라고 불린다. 정규화는 경험적 위험 최소화의 정확한 해와 해의 크기 또는 복잡성 사이에서 타협하는 방법이다.
$\to$ “우리는 페널티 항을 도입하여 경험적 위험의 최소화점을 찾는 탐색 과정을 어떻게든 편향(bias)시켜야 하며”에서 편향은 $y=wx+b$ 에서의 절편( $b$ )가 아닌, 최적화 방향을 우리가 원하는 방향으로 유도한다는 뜻이다.
경험적 위험을 최소화하는 알고리즘은 오직 훈련 데이터의 오차를 0으로 만드는 것 이외에는 관심이 없다. 따라서 아무런 제약이 없다면, 오차를 줄이기 위해 파라미터의 차수와 크기를 되는대로 설정하여 과적합을 발생시킬 것이다. 우리의 목표는 테스트 데이터에 대한 일반화이므로, 이를 방지하기 위해 페널티 항을 추가하여 모델의 탐색 과정을 편향시킨다.
예제 8.3 (정규화된 최소 제곱)
정규화는 최적화 문제에 대한 복잡하거나 극단적인 해를 억제하는 접근법이다. 가장 단순한 정규화 전략은 이전 예시의 최소 제곱 문제
를 $\theta$ 만을 포함하는 페널티 항을 추가하여 “정규화된(regularized)” 문제로 대체하는 것이다.
추가된 항 $\vert \vert \theta\vert \vert ^2$ 은 정규화항(regularizer)이라고 불리며, 매개변수 $\lambda$ 는 정규화 매개변수(regularization parameter)이다. 정규화 매개변수는 훈련 세트에서의 손실 최소화와 매개변수 $\theta$ 의 크기 사이의 균형을 맞춘다. 우리가 과적합에 빠지게 되면 매개변수 값의 크기가 상대적으로 커지는 경우가 자주 발생한다.
$\quad$ 정규화 항은 때때로 페널티 항(penalty term)이라고 불리며, 벡터 $\theta$ 가 원점에 더 가까워지도록 편향시킨다. 정규화의 아이디어는 확률적 모델에서 매개변수의 사전 확률(prior probability)로도 나타난다. 사후 분포가 사전 분포와 동일한 형태가 되기 위해서는 사전 확률과 우도가 켤레(conjugate)여야 한다는 점을 6.6절에서 상기하자. 우리는 8.3.2절에서 이 아이디어를 다시 살펴볼 것이다. 우리는 12장에서 정규화항의 아이디어가 큰 마진(large margin)의 아이디어와 동등함을 볼 것이다.
8.2.4 Cross-Validation to Assess the Generalization Performance
일반화 성능 평가를 위한 교차 검증
이전 절에서 우리는 예측기를 테스트 데이터에 적용하여 추정함으로써 일반화 오차를 측정한다고 언급했다. 이 데이터는 때때로 검증 세트(validation set)라고도 불린다. 검증 세트는 우리가 따로 떼어놓은 사용 가능한 훈련 데이터의 부분 집합이다. 이 접근법의 실질적인 문제는 데이터의 양이 제한적이며, 이상적으로는 모델을 훈련하기 위해 사용 가능한 데이터를 최대한 많이 사용해야 한다는 것이다. 이는 우리의 검증 세트 $\mathcal{V}$ 를 작게 유지하도록 요구하며, 결과적으로 예측 성능에 대한 (분산이 높은) 노이즈가 많은 추정으로 이어질 것이다. 이러한 모순되는 목표(큰 훈련 세트, 큰 검증 세트)에 대한 한 가지 해결책은 교차 검증(cross-validation)을 사용하는 것이다. $K$ -겹 교차 검증( $K$ -fold cross-validation)은 데이터를 효과적으로 $K$ 개의 덩어리(chunk)로 분할하며, 그중 $K - 1$ 개는 훈련 세트 $\mathcal{R}$ 을 구성하고, 마지막 덩어리는 검증 세트 $\mathcal{V}$ 역할을 한다(이전에 개괄한 아이디어와 유사함). 교차 검증은 덩어리들을 $\mathcal{R}$ 과 $\mathcal{V}$ 에 할당하는 (이상적으로는) 모든 조합을 반복한다. 그림 8.4를 참조하라. 이 절차는 검증 세트에 대한 모든 $K$ 개의 선택에 대해 반복되며, $K$ 번의 실행에서 얻은 모델의 성능이 평균화된다.

그림 8.4 $K$ -겹 교차 검증. 데이터 세트는 $K = 5$ 개의 덩어리로 나뉘며, 그중 $K - 1$ 개는 훈련 세트(파란색) 역할을 하고 한 개는 검증 세트(주황색 빗금) 역할을 한다.
우리는 데이터 세트를 겹치지 않게( $\mathcal{R} \cap \mathcal{V} = \emptyset$ ) 두 개의 세트 $\mathcal{D} = \mathcal{R} \cup \mathcal{V}$ 로 분할하며, 여기서 $\mathcal{V}$ 는 검증 세트이고, $\mathcal{R}$ 에서 모델을 훈련한다. 훈련 후, 우리는 검증 세트 $\mathcal{V}$ 에서 예측기 $f$ 의 성능을 평가한다(예: 검증 세트에서 훈련된 모델의 평균 제곱근 오차(RMSE)를 계산함으로써). 더 정확하게는, 각 분할 $k$ 에 대해 훈련 데이터 $\mathcal{R}^{(k)}$ 는 예측기 $f^{(k)}$ 를 생성하고, 이는 그런 다음 검증 세트 $\mathcal{V}^{(k)}$ 에 적용되어 경험적 위험 $R(f^{(k)}, \mathcal{V}^{(k)})$ 를 계산한다. 우리는 검증 및 훈련 세트의 가능한 모든 분할을 순환하며 예측기의 평균 일반화 오차를 계산한다. 교차 검증은 예상 일반화 오차를 근사한다.
여기서 $R(f^{(k)}, \mathcal{V}^{(k)})$ 는 예측기 $f^{(k)}$ 에 대한 검증 세트 $\mathcal{V}^{(k)}$ 에서의 위험(예: RMSE)이다. 이 근사에는 두 가지 원인이 있다. 첫째, 유한한 훈련 세트로 인해 가능한 최선의 $f^{(k)}$ 가 나오지 않는다는 점이고, 둘째, 유한한 검증 세트로 인해 위험 $R(f^{(k)}, \mathcal{V}^{(k)})$ 의 부정확한 추정이 초래된다는 점이다. $K$ -겹 교차 검증의 잠재적인 단점은 모델을 $K$ 번 훈련하는 계산 비용이며, 훈련 비용이 계산적으로 비싸다면 이는 부담이 될 수 있다. 실제로는 직접적인 매개변수만 보는 것만으로는 충분하지 않은 경우가 많다. 예를 들어, 모델의 직접적인 매개변수가 아닐 수 있는 여러 복잡도 매개변수(예: 다중 정규화 매개변수)를 탐색해야 한다. 이러한 하이퍼파라미터에 따라 모델의 품질을 평가하면 모델 매개변수 수에 대해 기하급수적으로 많은 훈련 실행이 초래될 수 있다. 좋은 하이퍼파라미터를 찾기 위해 중첩 교차 검증(8.6.1절)을 사용할 수 있다.
그러나 교차 검증은 당황스러울 정도로 병렬적인(embarrassingly parallel) 문제이다. 즉, 문제를 여러 병렬 작업으로 분리하는 데 노력이 거의 필요하지 않다. 충분한 계산 리소스(예: 클라우드 컴퓨팅, 서버 팜)가 주어진다면 교차 검증은 단일 성능 평가보다 더 오래 걸리지 않는다.
이 절에서 우리는 경험적 위험 최소화가 다음의 개념들, 즉 함수의 가설 클래스, 손실 함수, 그리고 정규화에 기반한다는 것을 보았다. 8.3절에서 우리는 손실 함수와 정규화의 아이디어를 대체하기 위해 확률 분포를 사용하는 것의 효과를 볼 것이다.
$\to$ 만약 데이터를 그림 8.4와 같이 5번의 교차 검증, 4:1비율로 나눴다면, 5번의 훈련-검증은 모두 병렬적으로 처리되는데, 이때 교차 검증의 목적은 5번 학습 시켜서 좋은 모델 하나로 합치는게 아닌, 사용자가 설정한 하이퍼파라미터와 학습 방법론이 데이터를 어떻게 쪼개든 간에 일관되게 좋은 성능을 내는지 평가하는 것이다. 서로 다른 환경에서 학습된 5개의 모델들의 평가 지표를 보고, “이런 설정값으로 학습하면 대게 이정도 수준의 모델이 학습되는구나”라고 확신을 얻는 과정일 뿐이다. 즉, 교차 검증은 “내가 설계한 방법론이 데이터셋의 패턴을 적합하게 학습할 수 있는가?”를 평가하는 도구일 뿐이다.
평가가 끝나면, 데이터셋 전체를 train set으로 설정하여 다시 새 모델을 학습한다. 데이터의 양이 20% 더 늘어났으므로, 최종 모델의 성능이 이전 교차 검증을 통해 도출된 모델보다 좋음을 기대한다. 교차 검증으로 학습한 모델들의 성능은 최종 모델의 성능보다 살짝 낮게 평가된 비관적 편향(pessimistic bias)을 가진다. 쉽게 말해서, 만약 교차 검증모델들의 평균이 82점이라면 최종 모델은 못해도 최소 82점을 보장한다는 확신을 얻게 되는 것이다.
단지 ‘판단의 요소일 뿐’이라고 해서 그 중요성이 가벼운 것은 아니다. 데이터에 맞는 모델(방법론/알고리즘)과 하이퍼파라미터 튜닝이 모델학습의 거의 대부분을 차지한다고 해도 과언이 아니다. 또한 이러한 검증을 통해 고객(회사나 상사, 선임 등이라 하자)이 이 모델의 성능을 물었을 때, 운좋게 한 번 잘 나온게 아닌, 통계적으로 보장된 성능을 말할 수 있는 근거가 된다.
모델의 방법론을 결정한다는 것은, 곧 모델의 학습 능력을 결정하는 일이다.
$\to$ k-fold 교차 검증의 분할 과정은 다음과 같다.
전체 데이터 집합 $\mathcal{D}$ 를 $K$ 개의 서로 겹치지 않는 부분 집합(Partition) $B_1, B_2, \dots, B_K$ 으로 나눈다.
-
$\bigcup_{i=1}^{K} B_i = \mathcal{D}$ (합집합은 전체 데이터)
-
$B_i \cap B_j = \emptyset$ for $i \neq j$ (교집합은 공집합)
$k$ 번째 반복(Fold $k$ )에서 각 부분 집합은 검증과 훈련으로 나뉜다.
-
검증 세트 ( $\mathcal{V}^{(k)}$ ): $B_k$ (현재 순서에 해당하는 조각 하나)
-
훈련 세트 ( $\mathcal{R}^{(k)}$ ): $\mathcal{D} \setminus B_k = {B_1, \dots, B_{k-1}, B_{k+1}, \dots, B_K}$
이러한 순환 구조를 통해 모든 데이터가 훈련과 검증 양쪽에 공정하게 기여할 수 있다.
데이터를 80%만 보고 학습하는 것보다 100%다 보았을 때 비교적 과적합이 발생하지 않을까? 교차 검증은 과적합에 초점이 아닌 모델의 아키텍처에 관심이 있는건가?
8.2.5 Further Reading
경험적 위험 최소화(Vapnik, 1998)의 초기 발전이 매우 이론적인 언어로 표현되었다는 사실 때문에, 이후의 많은 발전들 또한 이론적이었다. 이 연구 분야를 통계적 학습 이론(statistical learning theory)이라고 부른다(Vapnik, 1999; Evgeniou 등, 2000; Hastie 등, 2001; von Luxburg와 Schölkopf, 2011). 이론적 토대 위에 구축되어 효율적인 학습 알고리즘을 개발한 최근의 기계 학습 교재로는 Shalev-Shwartz와 Ben-David(2014)가 있다.
$\quad$ 정규화(regularization)의 개념은 불량 조건 역문제(ill-posed inverse problems)의 해법에 그 뿌리를 두고 있다(Neumaier, 1998). 여기에 제시된 접근법을 티호노프 정규화(Tikhonov regularization)라고 부르며, 밀접하게 관련된 제약 조건이 있는 버전으로 이바노프 정규화(Ivanov regularization)가 있다. 티호노프 정규화는 편향-분산 트레이드오프 및 특성 선택과 깊은 관계가 있다(Bühlmann과 Van De Geer, 2011). 교차 검증의 대안으로는 부트스트랩(bootstrap)과 잭나이프(jackknife)가 있다(Efron과 Tibshirani, 1993; Davidson과 Hinkley, 1997; Hall, 1992).
$\quad$ 경험적 위험 최소화(8.2절)를 “확률이 없는(probability free)” 것으로 생각하는 것은 옳지 않다. 데이터 생성을 지배하는 근본적인 미지의 확률 분포 $p(x, y)$ 가 존재한다. 그러나 경험적 위험 최소화의 접근법은 그 분포의 선택에 얽매이지 않는다(agnostic). 이는 $p(x, y)$ 에 대한 지식을 명시적으로 요구하는 표준 통계적 접근법과 대조된다. 더욱이, 이 분포는 예시 $x$ 와 레이블 $y$ 모두에 대한 결합 분포(joint distribution)이기 때문에 레이블은 비결정론적(non-deterministic)일 수 있다. 표준 통계학과 대조적으로 우리는 레이블 $y$ 에 대한 노이즈 분포를 명시할 필요가 없다.