728x90

1. 정의

 

훈련 데이터(train data)의 정보를 너무 많이 사용하여 복잡한 모델을 만들어 새로운 데이터(test data)에는 일반화되기 어려워 오차/오분류가 증가하는 상태를 의미한다.

 

2. Over Fitting / 과대적합의 원인

 

노드가 분리 증가하는 초기에는 새로운 데이터(test data)에 대한 오차/오분류가 감소하지만 노드 수가 일정 수준을 초과하면 오히려 오차/오분류가 증가하는 것이다.

 

3. 방지 방법

 

오차/오분류가 증가하는 지점 근처에서 가지치기를 이용해 과적합을 방지해야 한다.

가지치기에는 사전 가지치기와 사후 가지치기가 있다.

 

4. 가지치기

1). 사후 가지치기

생성된 모델 결과를 활용하여 가지치기를 수행하는 방법이다.

파이썬에서는 사전 가지치기만 지원하여 더 자세한 설명은 생략한다.

2). 사전 가지치기

모델 생성 이전에 분리 정지 조건을 지정하는 방법이다.

최대 깊이(max_depth), 분리 노드의 최소 자료 수(min_samples_split), 잎사귀 노드의 최소 자료 수(min_samples_leaf) 등을 조정한다.

정지 조건의 지정 우선순위(순서)는 없으며 데이터, 변수의 현황을 고려하여 전체 또는 부분적으로 적용한다.

(1). max_depth : 최대 깊이를 감소시키면 깊이 제약으로 과대적합을 방지할 수 있다.

(2). min_samples_split : 분리 노드의 최소 자료 수를 감소시키면 과대적합이 된다.

(3). min_samples_leaf : 잎사귀 노드의 최소 자료 수를 감소시키면 과대적합이 된다.

 

반응형