격자를 촘촘히 훑는 탐색보다 무작위로 찍는 탐색이 더 좋은 값을 찾아내는 경우가 많습니다. 이유를 알면 탐색 전략이 달라집니다.
풀고 시작
문제 1. 학습 과정에서 데이터로부터 추정되는 것이 아니라 분석자가 미리 정해 주어야 하는 값은?
학습률, 나무의 최대 깊이, 군집 수처럼 학습을 시작하기 전에 사람이 정하는 값이 초매개변수입니다. 회귀계수와 신경망 가중치는 학습을 통해 데이터에서 얻어지는 매개변수입니다.
외운 모델과 게으른 모델
과대적합은 훈련 데이터를 외워 버린 상태입니다. 훈련 성적은 훌륭한데 새 데이터에서 무너지죠. 반대로 과소적합은 아직 아무것도 배우지 못한 상태여서 훈련 데이터에서조차 성적이 나쁩니다.
이 둘은 편향과 분산이라는 두 오차의 다른 이름이기도 합니다. 편향은 모델이 너무 단순해서 생기는 구조적인 빗나감이고, 분산은 모델이 너무 예민해서 데이터가 조금만 바뀌어도 결과가 출렁이는 정도입니다. 모델을 복잡하게 만들수록 편향은 줄고 분산은 늘어납니다. 둘의 합이 가장 작아지는 지점이 우리가 찾는 자리이고, 그래서 "무조건 복잡한 모델이 좋다"는 문장은 성립하지 않습니다.
진단은 간단합니다. 훈련 성능과 검증 성능의 격차를 보세요. 둘 다 나쁘면 과소적합이라 모델을 키워야 하고, 훈련만 좋고 검증이 나쁘면 과대적합이라 제동을 걸어야 합니다.
제동을 거는 여러 방법
방법
어떻게
규제 (L1, L2)
계수가 커지지 못하도록 손실함수에 벌점을 더함
드롭아웃
학습할 때마다 뉴런 일부를 무작위로 꺼서 특정 경로에 의존하지 못하게 함
조기 종료
검증 오차가 다시 올라가기 시작하면 학습을 멈춤
가지치기
나무의 깊이나 잎 수를 제한
데이터 늘리기
표본을 더 모으거나 이미지를 회전, 반전해 증강
교차검증
성능 추정 자체를 안정시켜 잘못된 선택을 줄임
L1과 L2의 차이는 다시 짚을 만합니다. L1인 라쏘는 계수의 절댓값에 벌점을 매기고, 그 결과 쓸모없는 변수의 계수가 정확히 0이 되어 변수 선택 효과가 생깁니다. L2인 릿지는 계수의 제곱에 벌점을 매기며 계수를 0에 가깝게 줄이지만 0으로 만들지는 않습니다. 둘을 섞은 것이 엘라스틱넷이죠.
드롭아웃은 발상이 재미있습니다. 학습 때마다 뉴런 일부를 무작위로 끄면, 망은 특정 뉴런에 의존하는 대신 여러 경로로 같은 일을 할 수 있게 배웁니다. 매번 조금씩 다른 망을 학습시켜 평균 내는 효과라, 앙상블의 사촌으로 볼 수 있습니다. 예측할 때는 모든 뉴런을 다시 켭니다.
무작위가 격자를 이기는 이유
초매개변수는 학습으로 얻어지지 않으니 우리가 찾아 줘야 합니다. 방법은 셋입니다.
그리드 서치는 후보값을 격자로 늘어놓고 모든 조합을 시험합니다. 빠짐없지만 조합 수가 곱하기로 늘어 금세 감당이 안 되죠. 랜덤 서치는 정해진 횟수만큼 무작위 조합을 뽑아 시험합니다. 베이지안 최적화는 지금까지의 결과로 유망한 영역을 추정해 다음 후보를 고르므로 적은 시도로 좋은 값을 찾습니다.
여기서 직관에 반하는 사실 하나. 같은 시도 횟수라면 랜덤 서치가 그리드 서치보다 나은 경우가 많습니다. 이유는 이렇습니다. 여러 초매개변수 중 성능에 크게 영향을 주는 것은 보통 한두 개뿐입니다. 그리드로 두 변수를 각각 다섯 값씩 훑으면 시도는 25번이지만, 정작 중요한 변수에 대해서는 다섯 개의 값만 시험한 셈이 됩니다. 나머지 20번은 같은 값을 반복한 것이죠. 랜덤 서치는 매 시도마다 모든 변수가 새 값을 갖기 때문에, 중요한 변수를 25가지 값으로 시험하게 됩니다.
기본 용어도 정리해 두죠. 에폭은 전체 데이터를 한 번 다 훑은 횟수, 배치 크기는 가중치를 한 번 갱신하는 데 쓰는 데이터 수, 학습률은 한 번에 움직이는 보폭입니다. 마지막으로 여러 모델을 합치는 모형 융합과 최종 모형 선정이 남는데, 이때도 최종 성능은 손대지 않은 테스트 셋에서 딱 한 번 재야 합니다.
인출 문제
문제 1. 훈련 데이터 정확도는 99퍼센트인데 검증 데이터 정확도가 65퍼센트입니다. 적절한 대응이 아닌 것은?
훈련만 잘하고 검증에서 무너지는 것은 과대적합 신호입니다. 복잡도를 더 키우면 상황이 악화됩니다. 규제, 단순화, 데이터 확보, 조기 종료가 맞는 방향입니다.
문제 2. 라쏘와 릿지의 차이로 옳은 것은?
절댓값에 벌점을 주는 라쏘는 일부 계수를 정확히 0으로 만들어 변수를 걸러 내고, 제곱에 벌점을 주는 릿지는 전반적으로 계수를 축소하되 0으로는 만들지 않습니다. 둘을 섞은 것이 엘라스틱넷입니다.
문제 3. 드롭아웃이 과대적합을 줄이는 원리로 가장 적절한 것은?
매 반복마다 구조가 조금씩 다른 망을 학습하는 셈이 되어 특정 뉴런에 의존하지 못하게 됩니다. 삭제되는 것은 데이터가 아니라 뉴런이며, 예측 시에는 모든 뉴런을 사용합니다.
문제 4. 같은 시도 횟수에서 랜덤 서치가 그리드 서치보다 유리할 수 있는 이유는?
격자 탐색은 중요한 변수의 값을 격자 눈금 수만큼만 시험하고 나머지 시도는 그 값을 반복합니다. 무작위 탐색은 매 시도마다 모든 변수가 새 값을 가지므로 중요한 축을 더 촘촘히 훑게 됩니다.
더 풀기
출제기준의 세세항목을 따라 이 강의 범위에서 새로 낸 문제입니다. 모형 융합과 최종모형 선정도 여기에 함께 담았습니다.
묶음 1
문제 1. 초매개변수와 모수의 차이로 옳은 것은?
회귀계수는 모수이고 규제 강도나 트리 깊이는 초매개변수입니다.
문제 2. 그리드 탐색의 단점으로 가장 알맞은 것은?
차원이 늘수록 조합이 폭증합니다. 그래서 랜덤 탐색이나 베이지안 최적화를 씁니다.
문제 3. 랜덤 탐색이 그리드 탐색보다 유리한 이유로 가장 알맞은 것은?
성능에 영향이 적은 축에 예산을 낭비하지 않습니다.
문제 4. 베이지안 최적화의 아이디어로 옳은 것은?
탐색과 활용의 균형을 맞춰 적은 시도로 좋은 값을 찾습니다.
문제 5. 초매개변수 탐색을 시험 데이터로 수행하면 안 되는 이유로 가장 알맞은 것은?
탐색은 검증 데이터나 교차검증에서 수행해야 합니다.
문제 6. L1 규제와 L2 규제의 차이로 옳은 것은?
벌점 모양의 차이가 해의 위치를 다르게 만듭니다.
문제 7. 조기 종료의 기준으로 가장 알맞은 것은?
훈련 손실은 계속 떨어지므로 기준이 될 수 없습니다.
문제 8. 드롭아웃을 추론 단계에서 끄는 이유로 가장 알맞은 것은?
학습 때의 기댓값과 맞도록 가중치를 조정해 사용합니다.
문제 9. 데이터 증강이 과대적합을 줄이는 원리로 가장 알맞은 것은?
다양한 변형을 보게 되어 특정 표본에 의존하지 않게 됩니다.
문제 10. 트리 모델에서 과대적합을 막는 설정으로 보기 어려운 것은?
학습률 0이면 학습 자체가 진행되지 않습니다.
문제 11. 교차검증이 과대적합 방지에 기여하는 방식으로 가장 알맞은 것은?
직접 규제하는 것은 아니지만 선택의 실수를 줄여 줍니다.
문제 12. 규제 강도를 정할 때 참고할 그림으로 가장 알맞은 것은?
두 곡선이 갈라지는 지점을 보고 적절한 값을 고릅니다.
묶음 2
문제 1. 모형 융합에서 여러 모델의 예측을 단순 평균하는 방식의 장점으로 가장 알맞은 것은?
다양성이 있는 모델들을 평균하면 분산이 줄어듭니다.
문제 2. 가중 평균 앙상블에서 가중치를 정하는 방법으로 가장 알맞은 것은?
훈련 성능으로 정하면 과적합된 모델에 큰 가중치가 갑니다.
문제 3. 스태킹에서 상위 모델을 학습할 때 교차검증 예측을 쓰는 이유로 가장 알맞은 것은?
각 폴드에서 학습에 쓰이지 않은 부분의 예측을 모아 씁니다.
문제 4. 최종 모형을 선정할 때 고려할 기준으로 보기 어려운 것은?
새 기법을 써 보고 싶다는 이유는 선정 기준이 될 수 없습니다.
문제 5. 성능이 비슷한 두 모형 가운데 선택 기준으로 가장 알맞은 것은?
같은 성능이면 단순한 것이 낫다는 원칙이 적용됩니다.
문제 6. 학습 곡선에서 훈련과 검증 성능이 모두 낮은 수준에서 붙어 있다면 우선 시도할 것은?
과소적합 상태에서는 데이터를 늘려도 크게 나아지지 않습니다.
문제 7. 학습 곡선에서 검증 성능이 데이터가 늘수록 계속 좋아지고 있다면 취할 조치로 가장 알맞은 것은?
아직 데이터가 성능의 병목이라는 신호입니다.
문제 8. 초매개변수 탐색에서 로그 척도로 값을 탐색하는 경우로 가장 알맞은 것은?
크기 차수가 중요한 값은 로그 척도로 훑어야 효율적입니다.
문제 9. 탐색 예산이 매우 적을 때의 전략으로 가장 알맞은 것은?
학습률이나 규제처럼 민감한 값에 예산을 집중하는 편이 효율적입니다.
문제 10. 여러 번의 탐색 결과를 비교할 때 반드시 통제해야 하는 것은?
조건이 다르면 성능 차이의 원인을 알 수 없습니다.
문제 11. 과대적합을 의심할 수 있는 신호로 보기 어려운 것은?
마지막은 과소적합의 모습입니다.
문제 12. 규제와 데이터 증강, 조기 종료를 함께 쓰는 것에 대한 설명으로 가장 알맞은 것은?
다만 지나치게 겹치면 과소적합으로 갈 수 있어 검증으로 확인해야 합니다.
묶음 3
문제 1. 앙상블로 성능이 오르지 않는 경우의 원인으로 가장 알맞은 것은?
같은 실수를 하는 모델을 모으면 평균해도 그 실수가 남습니다.
문제 2. 지식 증류의 목적으로 가장 알맞은 것은?
큰 모델의 출력 분포를 목표로 작은 모델을 학습시킵니다.
문제 3. 초매개변수 최적화 결과를 그대로 믿기 어려운 경우로 가장 알맞은 것은?
차이가 잡음 수준이면 어느 설정이 낫다고 말할 수 없습니다.
문제 4. 모형 개선 작업의 우선순위로 가장 합리적인 것은?
대부분의 성능 향상은 데이터에서 나옵니다.
문제 5. 최종 모형을 확정한 뒤 해야 할 일로 가장 알맞은 것은?
재현할 수 없는 모델은 운영에서 유지할 수 없습니다.
문제 6. 규제 강도가 적절한지 확인하는 가장 직접적인 방법은?
규제는 검증 성능을 기준으로 조정합니다.
문제 7. 매개변수가 많은 모델에서 표본이 적을 때의 대응으로 보기 어려운 것은?
검증 데이터를 훈련에 쓰면 성능 판단 근거를 잃습니다.
문제 8. 교차검증 폴드 수를 정할 때의 일반적 기준으로 가장 알맞은 것은?
5겹과 10겹이 편향과 계산 비용의 균형에서 널리 쓰입니다.
문제 9. 시간에 따라 데이터 특성이 변하는 문제에서 초매개변수를 다시 조정해야 하는 이유로 가장 알맞은 것은?
재학습 주기에 설정 재탐색을 포함하는 것이 안전합니다.
문제 10. 자동화된 기계학습 도구를 쓸 때 주의할 점으로 가장 알맞은 것은?
편리하지만 결과의 책임은 여전히 분석가에게 있습니다.
문제 11. 과대적합 방지 기법을 적용한 뒤 확인해야 할 것으로 가장 알맞은 것은?
규제를 넣었으니 좋아졌으리라 가정하면 안 됩니다.
문제 12. 여러 모델을 결합할 때 예측 지연이 문제라면 고려할 대안으로 가장 알맞은 것은?