본문 바로가기
빅데이터분석기사

[빅분기] 11.2. 분석모형 개선

by Point-Nemo 2025. 8. 31.

1. 과대적합 방지

https://www.blog.data101.io/125

1) 과대적합의 개념

- 휸련데이터가 존재할 때 예측모델이 좌측과 같이 단순히 직선으로 추정하는 경우 실제 데이터에서 오차가 클 확률이 높고, 이러한 현상을 과소적합이라고 함 (모델이 너무 단순해서 데이터에 내재도니 구조를 학습하지 못한 경우)

 

- 우측의 경우, 예측 모델 함수가 훈련 데이터셋의 모든 데이터를 오차 없이 추정하고 있으나, 새로운 데이터에서 오차가 커질 확률이 높음 이러한 현상을 과적합이라고 함

 

- 가운데의 경우, 약간의 오차는 존재하지만, 예측 모델이 비교적 훈련 데이터셋에 대한 특성을 잘 나타내고 있고, 정상 추정이 되었다고 봄

- 그러므로 과적합은 일반화 오류, 과소적합은 학습 오류에서 발생함

 

2) 과대적합 억제

- 분석 모델에 매개변수가 많고, 표현력이 높거나(은닉층이 깊은), 훈련 데이터가 적을 때 발생

 

a. 데이터 증가

- 표본을 늘림

 

b. 가중치 감소

- 과대적합 원인 중 가중치의 값이 커서 발생하는 경우가 많기에 큰 가중치에 대해 그에 상응하는 패널티를 부과함

- L1, L2와 같은 가중치 규제가 사용되며, 규제는 모델이 과대적합 되지 않도록 강제로 제한하는 것으로 개별 가중치의 절댓값을 0에 가깝게 하여 모든 특성이 출력에 주는 영향을 최소화함 

종류 설명
- L1 규제 (Lasso) - 가중치가 0이 될 수 있음
- 중요한 가중치만을 취함
- L2 규제 (Lidge) - 가중치가 0이 될 수 없음
- 이상치나 노이즈가 있는 데이터에 대한 학습을 진행하기에 좋음 (특히 선형 모델)

 

c. 모델의 복잡도 감소 

- 신경망의 복잡도는 은닉층의 수나 모델의 수용력 등으로 결정됨

- 복잡한 모델은 과대적합 가능성이 커, 은닉층의 수를 감소시키거나 모델의 수용력을 낮추어 복잡도를 줄일 수 있음

 

d. 드롭아웃

https://seandoprep.tistory.com/12

- 신경망 모델이 복잡해지면 가중치 감소만으로는 대응하기 어려워짐

- 드롭아웃 기법은 신경망 모델에서 일부 뉴런을 임의로 삭제하여 사용하지 않고 학습하는 방법

- 매번 랜덤 선택으로 뉴런들을 삭제하여 적은 수의 뉴런만으로 지정된 레이블을 맞추도록 훈련시킴

- 평가 시에는 각 뉴런의 출력에 훈련 때 삭제한 비율을 곱해 모든 뉴런에 신호를 전달함 

- 적은 수의 뉴런만으로 학습을 해야하므로 학습 시간이 오래 걸린다는 단점이 존재하며 신경망 학습 시에만 사용하고 예측 시에는 사용하지 않음

 

※ 드롭아웃 유형

종류 설명
초기 드롭아웃 - 학습 과정에서 노드들을 일반적으로 p=0.5의 확률로 랜덤하게 생략
- DNN(심층 신경망) 알고리즘에 사용
공간적 드롭아웃 - 합성곱 계층에서의 드롭아웃
- 특징 맵 내의 노드 전체에 대해 드롭아웃의 적용 여부를 결정
- CNN (합성곱 신경망) 알고리즘에 사용
시간적 드롭아웃 - 노드들을 생략하는 대신 일부 연결선을 생략하는 방식
- RNN(순환 신경망) 알고리즘에 사용

2. 매개변수 최적화

- 매개변수 최적화는 학습 모델과 실제 레이블과의 차이를 손실함수로 표현하며, 학습의 목적은 오차, 손실함수의 값이 최대한 작도록 하는 매개변수를 찾는 것

 

1) 매개변수와 초매개변수

- 매개변수와 초매개변수의 가장 큰 구분 기준은 사용자의 직접 설정 여부

- 모델 및 데이터에 의해 결정되는 것은 매개변수, 사용자가 직접 설정하면 초매개변수

 

a. 매개변수

- 머신러닝 모델 내부에서 결정되는 변수로서, 매개변수 값은 데이터로부터 학습되어 산출이 가능한 값임

 

※ 매개변수의 특징

- 머신러닝 학습에서 예측을 수행할 때 모델에서 요구되는 값

- 매개변수는 모델의 성능을 결정

- 예측자에 의해 수작업으로 결정되지 않음

- 훈련 데이터로부터 학습된 모델의 한 부분으로 저장됨

- 알고리즘 최적화 과정에서 결정

 

※ 매개변수의 예시

- 선형회귀에서 결정계수

- 편향 또는 절편

- SVM의 서포트벡터

- 인공신경망에서의 가중치

 

b. 초매개변수

- 모델 외적인 요소로서, 데이터 분석을 통해 얻어지는 값이아닌 학습을 시작하기 전에 사용자가 직접 설정하는 파라미터

 

※ 초매개변수 특징

- 알고리즘 구현 과정에서 사용됨

- 절대적인 최적값은 존재하지 않음

- 초매개변수의 변경에 따라 모델이 달라짐

 

※ 초매개변수의 예시

- KNN에서의 K 개수

- SVM에서의 코스트 값 C

- 신경망 학습에서의 학습률

- 로지스틱 회귀에서의 훈련 세트의 반복 횟수

 

c. 딥러닝의 매개변수와 초매개변수 비교

  매개변수 초매개변수
사용 목적 최적화된 딥러닝 모델 구현 모델링 최적화 파라미터 값 도출
생성 주체 데이터 학습 모델이 생성함 사용자 판단 기반 생성
조정 여부 임의 조정 불가 조정 가능
활용 사례 인공 신경망의 가중치 학습률, 경사하강법 반복 횟수

 

 

2) 매개변수 최적화 기법

- 2차원 손실 함수 그래프를 이용

 

a. 경사 하강법

- 현재의 기울기(미분값)를 기반으로 해서 매개변수가 갱신해야할 방향과 크기를 설정

- 기울어진 방향으로 매개변수 값을 갱신하는 일을 반복하여 최적의 값에 다가가는 방법이 확률적 경사하강법

 

※ 배치 경사 하강법 (BGD)

- 배치는 한번에 처리하는 데이터 수를 말함

- 배치 경사 하강법은 모든 데이터셋을 하나의 배치로 보고 전체 미분값을 평균하여 1에폭 동안 한번만 갱신

- 한 스텝에 모든 학습데이터를 사용하기에 학습 속도가 느리지만, 전체 연산 횟수가 적으며 최적값을 찾을 수 있음

 

※ 확률적 경사 하강법 (SGD)

- 손실함수의 기울기를 구하여 그 기울기를 따라 조금씩 아래로 내려가 최종적으로는 손실함수가 가장 작은 지점에 도달하도록 하는 알고리즘

- 기울기를 구하는데 학습시 필요한 한 개의 데이터가 무작위로 선택됨

- 각 반복에서 하나의 데이터만을 뽑음

 

- 기울기가 줄어드는 최적점 근처에서 느리게 진행

- 배치경사하강법에 비해 최적화로 가는 과정에서 노이즈가 많이 발생할 수 있음

- 탐색 경로가 지그재그로 크게 변함 (비효율적 움직임)

- 이러한 단점을 개선하는 방법으로 모멘텀, AdaGrad, Adam 등이 있음

 

b. 모멘텀

 

※ 모멘텀의 개념

https://tensorflow.blog/2017/03/22/momentum-nesterov-momentum/

- 기울기 방향으로 힘을 받으면 물체가 가속된다는 물리법칙을 적용한 알고리즘

- 확률적 경사 하강법에 속도라는 개념을 적용

- 기울기가 줄어들더라도 누적된 기울기 값으로 인해 빠르게 최적점으로 수렴하게 됨

 

※ 모멘텀의 특징

- 확률적 경사 하강법보다 지그재그의 정도가 적음

- 관성을 고려해 진동과 폭을 줄이는 효과가 있음 

- X축 한 방향으로 일정하게 가속하지만 Y축 방향의 속도는 일정하지 않음

 

c. Per-매개변수 조정 학습률

- 위의 매개변수 최적화 방법들은 모든 매개변수에 대해 동일한 학습 속도를 적용함

- 그러나 Per-매개변수 조정 학습률 방법에서는 각 매개변수에 대해 조정된 학습 속도를 적용함

 

※ AdaGrad

- 조정된 경사 기반 방식으로 이전 갱신에서 갱신이 많이 된 매개변수들에 대해서는 학습량을 줄임

- 기울기가 큰 첫 부분에서는 크게 학습하다가 최적점에 가까워질수록 학습률을 줄여 적게 학습함

- 전체의 학습률 값을 일괄적으로 낮추는 것이 아니라, 각각의 매개변수에 맞는 학습률 값을 만들어주는 방식

- 해당 방법은 학습률을 지나치게 낮추는 경향이 있어, 자주 사용하지 않음

 

- 최적점을 향해 매우 효율적으로 움직임 (처음에는 큰폭, 점점 줄어드는 모습)

- 갱신 강도가 빠르게 약해지고, 지그재그 움직임이 눈에 띄게 줄어들어 빠르게 최적점으로 수렴

 

※ Adam

- 모멘텀 방식과 AdaGrad 방식을 합친 알고리즘

- 모멘텀 방식처럼 갱신이 공 굴러가듯 되며, AdaGrad로 인해 좌우 흔들림과 지그재그 움직임도 덜함

 

3) 매개변수 최적화 기법의 비교

- 최적화 방법에 따라 최적화까지의 시간 차가 매우 큼

- 확률적 경사하강법은 이해와 구현이 쉽지만, 실제론 모멘텀, AdaGrad, Adam이 더 좋은 성능을 보임

 

4) 초매개변수 최적화 기법

a. 그리드 서치

- 하이퍼파라미터를 일정한 간격으로 변경하며 최적의 파라미터를 찾아가는 기법

- 특정 범위 내에서 하이퍼파라미터를 일정 값만큼 일일이 변경하며 출력값을 비교하는 방식으로 동작

 

- 최적의 해를 찾을 수 있다는 보장이 없음

- 지정한 모든 구간을 탐색해야 하기 때문에 탐색하지 않아도 되는 값까지 탐색하는 경우가 생김

 

b. 랜덤 서치

- 임의의 하이퍼파라미터를 선정하는 과정을 통해 최적의 해를 찾아감

- 그리드 서치에 비해 확률적으로 더 빨리 최적의 해를 찾을 수 있음

 

c. 베이지안 최적화

- 최적의 해 근처의 하이퍼파라미터를 위주로 탐색하는 작업과, 임의의 새로운 하이퍼파라미터를 탐색하는 과정을 반복하여 최적의 해를 탐색하는 기법

- 최적의 해가 근처에 있을 가능성이 높은 구간을 위주로 탐색하며, 해당 구간 외에도 최적의 해가 있을 가능성을 열어둠


3. 분석모형 융합

- 강력한 단일 모델보다는 복수의 여러 모델을 종합적으로 이용할 때 더 뛰어날 수 있음

- 여러 개의 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출 (배깅, 부스팅, 랜덤포레스트)

4. 최종모형 선정

1) 최종모형 평가 기준 선정

구분 평가기준
지도학습 (분류형) 분류 정확도, 평균 오차율, 오류 재현율
비지도학습 (설명형) 집도 소속률, 데이터 밀도 및 군집도
기타 (텍스트 마이닝 등) 텍스트 매칭률, 문서 분류율

 

2) 최종모형 분석 결과 검토

 

3) 분석 알고리즘 결과 비교

 

4) 챔피언 모델 등록