매개변수 최적화와 최종모형 선정
쉽게 말하면
안개 낀 산에서 가장 낮은 골짜기로 내려가려면 발밑 경사가 내려가는 쪽으로 한 걸음씩 가면 돼요. 이게 경사하강법이고, 한 걸음 크기가 학습률이에요. 걸음이 너무 크면 골짜기를 건너뛰고, 너무 작으면 한참 걸려요. 모형의 '설정값'(나무 깊이 같은 것)은 여러 값을 시험해 보고 가장 좋은 것을 골라요.
시험용 정의
매개변수 최적화는 손실 함수(오차)를 가장 작게 하는 매개변수(가중치·계수)를 찾는 일이다. 기본은 경사하강법으로, 손실의 기울기(미분)를 구해 기울기 반대 방향으로 학습률만큼 이동하기를 반복한다. 기울기를 전체 데이터로 구하면 배치 경사하강법, 한 개씩이면 확률적 경사하강법(SGD), 작은 묶음이면 미니배치 경사하강법이다. 개선한 방법으로 관성을 주는 모멘텀, 매개변수마다 학습률을 조절하는 AdaGrad·RMSProp, 둘을 합친 Adam이 있다. 학습 전에 사람이 정하는 초매개변수는 그리드 탐색, 랜덤 탐색, 베이지안 최적화로 고른다. 마지막으로 여러 후보 모형을 융합하거나 비교해 최종모형을 정한다.
비유로 이해하기
공을 언덕에서 굴리면 바닥으로 간다(경사하강법). 공에 무게가 있으면 작은 웅덩이를 지나쳐 더 깊은 곳까지 가는데 그게 모멘텀이다. 길이 가파른 곳에선 보폭을 줄이고 평평한 곳에선 늘리는 것이 AdaGrad·RMSProp 이고, 둘을 함께 쓰는 것이 Adam 이다.
자세히
경사하강법 세 가지
| 방법 | 기울기 계산 | 장점 | 단점 |
|---|---|---|---|
| 배치 | 전체 데이터 | 안정적으로 내려감 | 데이터가 크면 한 번 계산이 오래 걸림 |
| 확률적 (SGD) | 무작위 한 개 | 빠르고 지역 최솟값을 벗어나기 쉬움 | 경로가 크게 흔들림 |
| 미니배치 | 작은 묶음(예: 32, 64개) | 속도와 안정의 균형, 실제로 가장 많이 씀 | 묶음 크기를 정해야 함 |
학습률이 너무 크면 최솟값을 건너뛰며 발산하고, 너무 작으면 느리고 지역 최솟값에 갇히기 쉽다. 전체에서 가장 낮은 곳은 전역 최솟값이다. 전체 데이터를 한 번 다 쓰면 1 에포크다.
개선된 최적화 방법
| 방법 | 생각 |
|---|---|
| 모멘텀 | 이전 이동 방향을 관성처럼 이어 가 흔들림을 줄이고 빨리 내려감 |
| NAG | 모멘텀으로 갈 곳을 미리 보고 그 지점의 기울기로 고침 |
| AdaGrad | 많이 바뀐 매개변수는 학습률을 줄임. 오래 하면 학습률이 너무 작아짐 |
| RMSProp | AdaGrad 의 기울기 누적을 최근 것 위주(지수 이동 평균)로 바꿔 학습률이 꺼지지 않게 |
| Adam | 모멘텀 + RMSProp. 방향과 보폭을 함께 조절, 기본값으로 많이 씀 |
초매개변수 탐색
| 방법 | 하는 일 | 특징 |
|---|---|---|
| 그리드 탐색 | 후보 값의 모든 조합을 다 시험 | 확실하지만 조합이 많으면 오래 걸림 |
| 랜덤 탐색 | 범위 안에서 무작위로 조합을 뽑아 시험 | 같은 시간에 더 넓게 탐색, 중요한 초매개변수를 잘 찾음 |
| 베이지안 최적화 | 지금까지 결과로 좋을 것 같은 다음 후보를 골라 시험 | 적은 시도로 좋은 값 |
탐색할 때 성능은 검증 데이터나 교차 검증으로 잰다. 평가 데이터는 마지막에 한 번만 쓴다.
분석모형 융합과 최종모형 선정
- 융합: 여러 모형의 결과를 다수결(투표)·평균하거나, 그 결과를 다시 입력으로 하는 메타 모형으로 합친다(스태킹). 배깅·부스팅도 융합의 한 형태다
- 최종모형 선정: 평가 지표(정확도, F1, RMSE 등) + 해석 가능성 + 예측 속도·운영 비용 + 업무 요구 사항을 함께 따진다. 성능이 비슷하면 더 단순한 모형을 고른다
시험에 이렇게 나와요
- 학습률: 너무 크면 발산, 너무 작으면 느리고 지역 최솟값
- 배치(전체) / 확률적(한 개) / 미니배치(묶음)
- 모멘텀(관성), AdaGrad(학습률 감소), RMSProp(최근 기울기), Adam(모멘텀 + RMSProp)
- 매개변수(학습됨) vs 초매개변수(사람이 정함)
- 그리드(모든 조합) / 랜덤(무작위) / 베이지안(다음 후보를 똑똑하게)
- 융합: 투표·평균·스태킹, 비슷하면 단순한 모형
출제기준 4과목 '매개변수 최적화, 분석모형 융합, 최종모형 선정'
확인 문제
Q1. 모형이 학습으로 스스로 정하는 값이 아니라, 사람이 학습 전에 정해 주는 값은?
- 회귀계수
- 신경망 가중치
- 학습률
- 절편
정답 보기
3번 학습률
학습률, 나무 깊이, k-평균의 k 처럼 학습 전에 정하는 값이 초매개변수다. 계수·가중치는 데이터로 학습되는 매개변수다.
Q2. 모멘텀과 RMSProp 의 아이디어를 함께 쓰는 최적화 방법은?
- Adam
- 그리드 탐색
- AdaGrad
- SGD
정답 보기
1번 Adam
Adam 은 이동 방향(모멘텀)과 매개변수별 보폭(RMSProp)을 함께 조절한다.
Q3. 다음 중 초매개변수가 아닌 것은?
- 의사결정나무의 최대 깊이
- 학습률
- k-평균의 k
- 회귀계수
정답 보기
4번 회귀계수
회귀계수는 데이터로 추정하는 매개변수다.
Q4. 후보 값의 모든 조합을 빠짐없이 시험하는 초매개변수 탐색 방법은?
- 조기 종료
- 랜덤 탐색
- 베이지안 최적화
- 그리드 탐색
정답 보기
4번 그리드 탐색
그리드 탐색이다. 모든 조합을 다 해 보므로 확실하지만 오래 걸린다. 랜덤 탐색은 일부를 무작위로, 베이지안 최적화는 앞 결과를 보고 다음 후보를 고른다.
Q5. 학습률을 너무 크게 정했을 때 일어나기 쉬운 일은?
- 과소적합이 반드시 해결된다
- 기울기가 0 이 된다
- 학습이 매우 느려진다
- 손실이 줄지 않고 발산한다
정답 보기
4번 손실이 줄지 않고 발산한다
최솟값을 건너뛰며 오히려 커질 수 있다.
Q6. 여러 모형의 예측을 다시 입력으로 받아 최종 예측을 하는 메타 모형을 두는 융합은?
- 스태킹
- 가지치기
- 드롭아웃
- 정규화
정답 보기
1번 스태킹
스태킹이다. 여러 모형의 예측을 메타 모형이 다시 학습해 최종 예측을 낸다. 드롭아웃과 정규화는 과대적합을 막는 방법이다.
헷갈리기 쉬운 O·X
확률적 경사하강법은 매번 전체 데이터로 기울기를 계산한다.
정답 보기
X 그건 배치 경사하강법. 확률적은 한 개씩 쓴다.
AdaGrad 는 오래 학습하면 학습률이 너무 작아질 수 있다.
정답 보기
O 기울기 제곱을 계속 누적하기 때문이다. RMSProp 이 이를 고쳤다.
초매개변수 탐색은 평가 데이터 점수를 보면서 반복하는 것이 원칙이다.
정답 보기
X 검증 데이터나 교차 검증으로 하고, 평가 데이터는 마지막에 한 번만 쓴다.