Skip to main content
Summary

숲이 투표했다면, 이제는 팀이 복습합니다

앞 장에서 우리는 랜덤포레스트를 만났습니다. 랜덤포레스트는 여러 개의 결정트리를 만들고, 그 예측을 모아 더 안정적인 답을 내는 방식이었습니다. 한 사람의 판단보다 여러 사람의 의견을 모으면 더 균형 잡힌 결론에 가까워질 수 있다는 아이디어였습니다.

그런데 여기서 다른 질문을 해볼 수 있습니다.

여러 사람이 각자 독립적으로 판단한 뒤 투표하는 것도 좋지만, 만약 앞사람이 틀린 부분을 뒷사람이 보고 보완한다면 어떨까요?

첫 번째 모델이 대략적인 답을 냅니다. 두 번째 모델은 첫 번째 모델이 어디서 틀렸는지 보고 그 부분을 고칩니다. 세 번째 모델은 앞의 두 모델이 아직 놓친 부분을 다시 보완합니다. 네 번째 모델은 더 작은 실수를 찾아 메웁니다. 이렇게 이어지면 처음에는 엉성했던 예측도 점점 정교해질 수 있습니다.

이것이 부스팅(boosting)의 핵심 감각입니다. 부스팅은 약한 모델을 여러 개 이어 붙여 강한 모델을 만드는 방법입니다. 여기서 약한 모델이란 혼자서는 완벽하지 않지만, 아무렇게나 찍는 것보다는 조금 나은 모델을 뜻합니다. 그래디언트 부스팅은 그 약한 모델들을 순서대로 쌓아 올리면서 이전 모델의 부족한 부분을 보완합니다.

랜덤포레스트가 "여러 트리의 집단지성"이라면, 그래디언트 부스팅은 "실수를 복습하며 점점 나아지는 팀"에 가깝습니다.

그래디언트 부스팅

부스팅은 실수를 먹고 자랍니다

집값 예측 문제를 다시 떠올려 봅시다. 어떤 집의 실제 가격이 5억 원이라고 합시다. 첫 번째 모델이 이 집의 가격을 4억 5천만 원으로 예측했습니다. 그러면 5천만 원만큼 낮게 예측한 셈입니다.

그래디언트 부스팅은 여기서 멈추지 않습니다. 두 번째 모델에게 이렇게 말하는 것처럼 움직입니다.

"앞 모델이 이 집을 5천만 원 낮게 봤어. 이 부족한 부분을 맞혀 봐."

두 번째 모델은 전체 집값을 처음부터 다시 예측하는 대신, 첫 번째 모델이 남긴 오차를 보완하려고 합니다. 만약 두 번째 모델이 "이 집은 4천만 원 정도 더 올려야 할 것 같다"고 판단한다면, 두 모델의 예측을 합쳐 4억 9천만 원이 됩니다. 아직 실제값 5억 원과 1천만 원 차이가 남았습니다.

그러면 세 번째 모델이 다시 등장합니다.

"아직 1천만 원 부족하네. 이 남은 차이를 내가 조금 더 고쳐 볼게."

이 과정을 반복하면 모델은 큰 오차를 먼저 줄이고, 이후에는 점점 작은 오차를 다듬어 갑니다. 마치 초안을 먼저 쓰고, 두 번째에는 문장 흐름을 고치고, 세 번째에는 단어를 다듬고, 마지막에는 오탈자를 찾는 과정과 비슷합니다.

이 장에서 계속 붙잡아야 할 감각은 단순합니다.

그래디언트 부스팅은 한 번에 완벽한 모델을 만들려고 하지 않습니다. 대신 부족한 모델을 만든 뒤, 그 모델의 실수를 다음 모델이 보완하게 합니다.

'그래디언트'라는 말이 무섭게 들릴 때

그래디언트 부스팅이라는 이름에서 가장 겁나는 부분은 아마 그래디언트(gradient)일 것입니다. 수학책에서 본 적 있는 단어 같고, 미분이 떠오르고, 갑자기 칠판 가득 기호가 등장할 것 같은 느낌이 듭니다.

하지만 이 책에서는 그래디언트를 이렇게 이해해도 충분합니다.

그래디언트는 손실을 줄이려면 어느 방향으로 움직여야 하는지를 알려주는 신호입니다.

우리는 앞에서 학습을 "오차를 줄이는 과정"이라고 배웠습니다. 모델이 예측을 하고, 실제값과 비교하고, 얼마나 틀렸는지 계산한 뒤, 다음에는 덜 틀리도록 모델을 고치는 과정이 학습이었습니다. 그래디언트는 이때 "어느 쪽으로 고치면 손실이 줄어드는가"를 알려주는 방향 정보라고 볼 수 있습니다.

산을 내려가는 장면을 떠올려 봅시다. 눈앞에 안개가 끼어 있어서 전체 지도를 볼 수 없습니다. 대신 발밑의 경사를 느낄 수 있습니다. 어느 방향이 더 내려가는 길인지 알 수 있다면, 조금씩 그 방향으로 움직이며 낮은 곳으로 내려갈 수 있습니다.

모델 학습도 비슷합니다. 지금 모델이 얼마나 틀렸는지 확인하고, 손실을 줄이는 방향으로 조금씩 움직입니다. 그래디언트 부스팅은 이 "줄여야 할 방향"을 다음 모델이 학습하게 만드는 방식입니다.

회귀 문제에서 손실을 평균제곱오차처럼 잡으면 이 과정은 꽤 직관적으로 보입니다. 실제값과 예측값의 차이, 즉 잔차를 다음 모델이 맞히는 것처럼 생각할 수 있습니다. 분류 문제에서는 조금 더 복잡합니다. 단순히 정답과 예측값의 차이를 보는 것이 아니라, 확률 예측이 얼마나 나쁜지를 나타내는 손실을 줄이는 방향을 따라갑니다. 하지만 큰 그림은 같습니다.

모델이 예측합니다. 실제값과 비교합니다. 손실을 줄일 방향을 찾습니다. 다음 모델이 그 방향을 배웁니다. 그리고 이전 예측에 조금 더해집니다.

하나의 큰 모델이 아니라 작은 수정들의 합입니다

그래디언트 부스팅 모델을 볼 때는 거대한 나무 한 그루를 상상하기보다, 작은 조각들을 차례대로 붙인 결과물을 떠올리는 편이 좋습니다.

첫 번째 트리는 전체적인 경향을 잡습니다. 예를 들어 집값 예측이라면 "면적이 넓을수록 비싸다", "입지가 좋으면 비싸다" 같은 큰 흐름을 배울 수 있습니다. 하지만 이 트리 하나만으로는 섬세한 차이를 모두 설명하기 어렵습니다.

두 번째 트리는 첫 번째 트리가 놓친 패턴을 봅니다. "면적은 넓지만 오래된 집은 생각보다 덜 비싸다", "역과 아주 가까운 소형 아파트는 면적에 비해 비싸다" 같은 보정이 들어갈 수 있습니다.

세 번째 트리는 그다음 남은 차이를 봅니다. "특정 지역에서는 층수가 더 중요하다", "신축 여부가 예상보다 큰 영향을 준다" 같은 더 작은 패턴을 잡을 수 있습니다.

이렇게 그래디언트 부스팅의 최종 예측은 여러 트리의 예측을 더한 결과입니다. 단, 랜덤포레스트처럼 여러 트리가 각자 독립적으로 만든 의견을 평균 내는 것이 아닙니다. 앞 트리가 만든 예측 위에 다음 트리가 보정값을 더하고, 그다음 트리가 다시 보정값을 더합니다.

그래서 그래디언트 부스팅은 학습 순서가 중요합니다. 앞 모델이 무엇을 틀렸는지 알아야 다음 모델이 무엇을 배울지 정해지기 때문입니다. 랜덤포레스트의 트리들은 대체로 동시에 만들어도 되지만, 그래디언트 부스팅의 트리들은 줄을 서야 합니다. 앞사람의 답안지를 보고 다음 사람이 첨삭해야 하기 때문입니다.

랜덤포레스트와 그래디언트 부스팅의 차이

랜덤포레스트와 그래디언트 부스팅은 둘 다 여러 결정트리를 사용합니다. 그래서 처음에는 비슷해 보입니다. 하지만 두 모델의 성격은 꽤 다릅니다.

구분랜덤포레스트그래디언트 부스팅
트리를 만드는 방식여러 트리를 비교적 독립적으로 만든다앞선 트리의 실수를 보고 다음 트리를 만든다
결합 방식예측을 평균 내거나 투표한다이전 예측에 보정값을 순차적으로 더한다
핵심 감각다양한 의견을 모아 안정성을 높인다실수를 계속 고쳐 정확도를 높인다
학습 순서트리 사이의 순서가 덜 중요하다순서가 매우 중요하다
과적합 관리무작위성과 평균 효과로 완화한다학습률, 트리 수, 깊이 등을 조심스럽게 조절해야 한다

랜덤포레스트는 튼튼한 모델입니다. 데이터가 조금 흔들려도 여러 트리의 평균을 내기 때문에 비교적 안정적입니다. 설정을 아주 정교하게 만지지 않아도 꽤 괜찮은 성능을 내는 경우가 많습니다.

그래디언트 부스팅은 더 집요한 모델입니다. 앞선 모델이 틀린 부분을 계속 파고들기 때문에 예측 성능이 매우 좋아질 수 있습니다. 실제 데이터 분석 대회나 기업의 예측 문제에서 오랫동안 강력한 도구로 사용된 이유도 여기에 있습니다. 하지만 집요하다는 것은 장점이자 위험입니다. 훈련 데이터의 진짜 패턴뿐 아니라 우연한 잡음까지 열심히 외워 버릴 수 있기 때문입니다.

좋은 학생은 오답 노트를 보며 실력을 키우지만, 나쁜 오답 노트는 우연히 찍어 맞힌 흔적까지 외우게 만들 수 있습니다. 그래디언트 부스팅도 마찬가지입니다. 그래서 이 모델은 성능이 좋은 만큼 조심해서 다루어야 합니다.

학습률: 한 번에 얼마나 고칠 것인가

그래디언트 부스팅에서 매우 중요한 설정 중 하나가 학습률(learning rate)입니다. 학습률은 새로 추가되는 모델의 보정값을 얼마나 크게 반영할지 정합니다.

앞 모델이 집값을 5천만 원 낮게 예측했다고 합시다. 다음 모델이 "5천만 원 올리면 좋겠다"고 말했습니다. 이 말을 그대로 모두 반영할 수도 있습니다. 하지만 그래디언트 부스팅은 보통 조심스럽게 움직입니다. 학습률이 0.1이라면, 5천만 원을 전부 더하지 않고 그중 10%인 5백만 원만 반영합니다.

처음 들으면 답답해 보입니다. 왜 정답에 가까워질 수 있는 보정값을 일부러 조금만 반영할까요?

이유는 간단합니다. 한 번에 크게 고치면 훈련 데이터에 너무 급하게 맞춰질 수 있기 때문입니다. 모델이 현재 데이터의 오차를 보고 "이 방향으로 가면 좋겠다"고 판단했더라도, 그 판단에는 잡음이 섞여 있을 수 있습니다. 너무 큰 걸음으로 움직이면 진짜 패턴을 따라가는 것이 아니라 훈련 데이터의 우연한 흔들림에 끌려갈 수 있습니다.

학습률이 낮으면 모델은 천천히 배웁니다. 대신 더 섬세하게 조정할 수 있습니다. 학습률이 높으면 빠르게 배웁니다. 대신 실수도 크게 할 수 있습니다.

여기에는 트레이드오프가 있습니다. 학습률을 낮추면 보통 더 많은 트리가 필요합니다. 한 걸음이 작으니 여러 번 걸어야 합니다. 반대로 학습률을 높이면 적은 수의 트리로도 빠르게 훈련 데이터에 맞출 수 있지만, 과적합 위험이 커질 수 있습니다.

초보자에게 중요한 감각은 이것입니다.

그래디언트 부스팅은 대개 작은 학습률로 조금씩 고치고, 여러 개의 트리를 쌓아 가며 성능을 높입니다.

트리 개수: 얼마나 오래 복습할 것인가

그래디언트 부스팅에서 트리 개수는 모델이 몇 번이나 보정을 반복할지를 뜻합니다. 트리가 10개라면 10번 고칩니다. 트리가 500개라면 500번 고칩니다.

트리 개수가 너무 적으면 모델이 충분히 배우지 못할 수 있습니다. 큰 흐름만 대충 잡고 세부 패턴을 놓칠 수 있습니다. 이것을 과소적합(underfitting)이라고 합니다. 모델이 너무 단순해서 데이터의 구조를 제대로 설명하지 못하는 상태입니다.

반대로 트리 개수가 너무 많으면 문제가 생길 수 있습니다. 모델이 훈련 데이터의 작은 흔들림까지 계속 보정하려 들기 때문입니다. 처음에는 의미 있는 오차를 줄입니다. 하지만 어느 순간부터는 실제 패턴이 아니라 훈련 데이터에만 존재하는 우연한 잡음을 따라가기 시작할 수 있습니다. 이것이 과적합(overfitting)입니다.

그래서 트리 개수는 "많을수록 무조건 좋다"가 아닙니다. 어느 시점까지는 성능이 좋아지다가, 그 이후에는 새로운 데이터에서 오히려 성능이 나빠질 수 있습니다.

실무에서는 훈련 데이터만 보지 않고 검증 데이터를 함께 봅니다. 훈련 데이터의 손실은 계속 낮아지는데 검증 데이터 성능이 더 이상 좋아지지 않거나 나빠지기 시작한다면, 그쯤에서 멈추는 것이 좋습니다. 이 방식은 나중에 다룰 검증 데이터와 교차검증의 핵심 감각과도 연결됩니다.

복습도 마찬가지입니다. 중요한 개념을 반복해서 보는 것은 좋지만, 시험에 나오지도 않을 사소한 낙서까지 외우기 시작하면 방향이 잘못된 것입니다.

트리 깊이: 한 번의 보정을 얼마나 복잡하게 할 것인가

결정트리에서 배웠듯이 트리의 깊이가 깊어질수록 모델은 더 복잡한 규칙을 만들 수 있습니다. 그래디언트 부스팅에서도 트리 깊이는 매우 중요합니다.

깊이가 얕은 트리는 단순한 보정을 합니다. 예를 들어 "면적이 일정 이상이면 조금 올린다"처럼 큰 기준 하나나 두 개로만 나눌 수 있습니다. 이런 트리는 혼자서는 약하지만, 여러 개가 순차적으로 쌓이면 꽤 강력한 모델이 됩니다.

깊이가 깊은 트리는 더 복잡한 보정을 할 수 있습니다. "특정 지역이고, 면적이 어느 범위이며, 건축 연도가 얼마 이후이고, 역과의 거리가 가까우면 가격을 올린다" 같은 세밀한 규칙을 만들 수 있습니다. 문제는 이런 세밀함이 언제나 좋은 것은 아니라는 점입니다. 너무 깊은 트리는 훈련 데이터에만 맞는 좁은 규칙을 만들기 쉽습니다.

그래디언트 부스팅에서는 보통 아주 깊은 트리보다 비교적 얕은 트리를 많이 쌓는 방식이 자주 쓰입니다. 각 트리는 약한 학습자로 남겨 두고, 여러 약한 학습자의 조합으로 강한 모델을 만드는 것입니다.

여기서 "약한 모델을 쌓는다"는 부스팅의 철학이 다시 등장합니다. 한 명의 천재에게 모든 것을 맡기는 대신, 작은 실수를 고치는 여러 명의 조교를 순서대로 배치하는 셈입니다.

성능을 좌우하는 주요 설정들

그래디언트 부스팅은 강력하지만, 설정값에 따라 성격이 크게 달라집니다. 모든 설정을 처음부터 완벽히 외울 필요는 없습니다. 다만 어떤 손잡이를 돌리면 모델이 어떻게 변하는지 감각을 잡아 두는 것이 중요합니다.

  • 학습률은 새 트리의 보정을 얼마나 크게 반영할지 정합니다. 낮으면 천천히 안정적으로 배우고, 높으면 빠르게 배우지만 과적합 위험이 커질 수 있습니다.

  • 트리 개수는 보정을 몇 번 반복할지 정합니다. 너무 적으면 충분히 배우지 못하고, 너무 많으면 훈련 데이터의 잡음까지 따라갈 수 있습니다.

  • 트리 깊이는 각 트리가 얼마나 복잡한 규칙을 만들 수 있는지 정합니다. 깊을수록 표현력은 커지지만 과적합 위험도 커집니다.

  • 샘플링 비율은 학습할 때 데이터나 특징의 일부만 사용하게 하여 모델에 적당한 무작위성을 줍니다. 이는 과적합을 줄이는 데 도움이 될 수 있습니다.

  • 규제(regularization)는 모델이 지나치게 복잡해지지 않도록 제동을 거는 장치입니다. 쉽게 말해 "너무 억지로 맞추지 마"라고 말하는 안전장치입니다.

이 설정들은 서로 연결되어 있습니다. 학습률을 낮추면 트리 개수를 늘려야 할 수 있습니다. 트리 깊이를 깊게 하면 트리 개수를 줄이거나 규제를 강하게 해야 할 수 있습니다. 데이터가 많고 패턴이 복잡하면 더 많은 트리가 도움이 될 수 있지만, 데이터가 적고 잡음이 많으면 조심해야 합니다.

머신러닝에서 좋은 모델을 만든다는 것은 멋진 알고리즘 이름을 고르는 일만이 아닙니다. 모델이 얼마나 빨리, 얼마나 깊게, 얼마나 오래 학습할지를 조절하는 일입니다.

실무에서 그래디언트 부스팅이 강한 이유

전통 머신러닝에서 그래디언트 부스팅은 매우 중요한 위치를 차지합니다. 특히 표 형태의 데이터, 즉 행과 열로 정리된 데이터에서 강력한 성능을 보이는 경우가 많습니다. 집값 예측, 고객 이탈 예측, 대출 상환 가능성 예측, 광고 클릭 예측, 상품 추천의 일부 단계처럼 현실의 많은 문제는 표 데이터로 표현됩니다.

표 데이터에는 여러 종류의 특징이 섞여 있습니다. 숫자도 있고, 범주도 있고, 결측값도 있고, 변수들 사이의 복잡한 상호작용도 있습니다. 선형회귀나 로지스틱 회귀는 단순하고 해석하기 좋지만, 복잡한 비선형 패턴을 잡는 데 한계가 있습니다. 결정트리는 이런 패턴을 잘 잡지만 혼자서는 불안정합니다. 랜덤포레스트는 안정적이지만, 아주 정교한 예측 성능이 필요할 때는 더 집요한 방법이 필요할 수 있습니다.

그래디언트 부스팅은 이 지점에서 빛을 발합니다. 트리 기반 모델이기 때문에 변수의 복잡한 관계를 잡을 수 있고, 부스팅 방식으로 실수를 순차적으로 줄이기 때문에 높은 예측 성능을 기대할 수 있습니다.

물론 모든 문제에서 무조건 최고라는 뜻은 아닙니다. 데이터가 매우 작거나, 잡음이 심하거나, 모델 해석이 가장 중요한 상황에서는 더 단순한 모델이 나을 수 있습니다. 이미지, 음성, 자연어처럼 비정형 데이터가 중심인 문제에서는 딥러닝이 더 적합한 경우가 많습니다. 하지만 표 데이터 예측 문제에서 그래디언트 부스팅은 여전히 꼭 알아야 할 핵심 도구입니다.

XGBoost, LightGBM, CatBoost는 왜 등장했을까

그래디언트 부스팅의 아이디어는 강력하지만, 실제로 큰 데이터에 적용하려면 여러 어려움이 있습니다. 트리를 순서대로 만들어야 하므로 계산이 오래 걸릴 수 있습니다. 데이터가 커지면 메모리도 많이 필요합니다. 결측값, 범주형 변수, 희소한 데이터처럼 현실 데이터의 지저분한 문제도 다뤄야 합니다.

이런 이유로 실무에서는 그래디언트 부스팅을 더 빠르고 안정적으로 사용하기 위한 도구들이 발전했습니다. 대표적으로 XGBoost, LightGBM, CatBoost가 있습니다.

XGBoost는 오랫동안 데이터 분석 대회와 실무에서 널리 사용된 강력한 그래디언트 부스팅 도구입니다. 속도와 성능, 과적합을 줄이기 위한 여러 장치 덕분에 많은 사람들에게 사랑받았습니다. LightGBM은 큰 데이터에서 빠르게 학습할 수 있도록 설계된 도구로 알려져 있습니다. CatBoost는 범주형 변수를 다루는 데 강점이 있어, 문자열이나 카테고리 정보가 많은 데이터에서 편리하게 사용할 수 있습니다.

초보자 입장에서 이 도구들의 세부 알고리즘을 모두 알 필요는 없습니다. 지금은 이렇게 이해하면 충분합니다.

그래디언트 부스팅은 아이디어이고, XGBoost·LightGBM·CatBoost는 그 아이디어를 실무에서 빠르고 강력하게 쓰기 위해 발전한 대표적인 구현체입니다.

비유하자면 그래디언트 부스팅은 "실수를 순서대로 고쳐 가며 성능을 높인다"는 요리법입니다. XGBoost, LightGBM, CatBoost는 그 요리법을 더 빠르고 안정적으로 실행하기 위해 개발된 주방 도구들입니다.

작은 예시로 보는 부스팅의 흐름

이번에는 고객 이탈 예측 문제를 생각해 봅시다. 통신사 고객이 다음 달에 서비스를 해지할지 예측해야 합니다. 입력 데이터에는 사용 기간, 월 요금, 최근 고객센터 문의 횟수, 약정 여부, 데이터 사용량 등이 들어 있습니다. 라벨은 "이탈함" 또는 "이탈하지 않음"입니다.

첫 번째 트리는 아주 단순한 규칙을 배울 수 있습니다. 예를 들어 최근 고객센터 문의가 많고 약정이 없는 고객은 이탈 가능성이 높다고 판단합니다. 이 규칙은 꽤 그럴듯하지만 완벽하지 않습니다. 어떤 고객은 문의가 많아도 이탈하지 않고, 어떤 고객은 문의가 적어도 갑자기 이탈합니다.

두 번째 트리는 첫 번째 트리가 틀린 고객들을 더 자세히 봅니다. "문의가 많아도 장기 고객이면 이탈하지 않는 경우가 많다"는 패턴을 배울 수 있습니다. 세 번째 트리는 다시 남은 실수를 봅니다. "장기 고객이어도 최근 요금이 급격히 올랐다면 이탈 가능성이 높다"는 보정을 추가할 수 있습니다.

이렇게 모델은 고객 이탈이라는 복잡한 현상을 여러 단계의 보정으로 배웁니다. 한 번에 모든 규칙을 찾는 것이 아니라, 틀린 부분을 보며 차근차근 정교해집니다.

여기서 중요한 점은 각 트리가 전체 문제를 완벽하게 해결할 필요가 없다는 것입니다. 각 트리는 이전까지의 모델이 부족했던 부분을 조금씩 보완하면 됩니다. 작은 개선이 쌓이면 강력한 예측기가 됩니다.

강력한 모델일수록 평가가 중요합니다

그래디언트 부스팅은 성능이 좋은 모델을 만들 가능성이 큽니다. 그래서 더더욱 평가가 중요합니다. 훈련 데이터에서 잘 맞는다고 해서 실제로 좋은 모델이라고 말할 수는 없습니다.

특히 그래디언트 부스팅은 훈련 데이터의 실수를 계속 고치는 방식이기 때문에, 훈련 데이터 점수만 보면 착각하기 쉽습니다. 트리를 계속 추가하면 훈련 데이터에서는 점점 더 잘 맞을 수 있습니다. 하지만 우리가 원하는 것은 이미 본 데이터에 대한 암기가 아니라, 아직 보지 못한 새로운 데이터에 대한 좋은 예측입니다.

따라서 그래디언트 부스팅을 사용할 때는 항상 이런 질문을 던져야 합니다.

"이 모델은 훈련 데이터에서만 잘하는가, 아니면 새로운 데이터에서도 잘하는가?"

이 질문은 앞으로 다룰 모델 평가지표, 학습 데이터와 테스트 데이터, 검증 데이터, 교차검증, 과적합과 일반화로 이어집니다. 사실 좋은 머신러닝 실력은 모델 이름을 많이 아는 데서 끝나지 않습니다. 모델이 실제로 잘하고 있는지 의심하고 확인하는 태도에서 시작됩니다.

그래디언트 부스팅을 처음 배울 때의 기준선

그래디언트 부스팅은 처음에는 조금 복잡하게 느껴질 수 있습니다. 랜덤포레스트는 여러 트리를 만들고 평균이나 투표를 한다고 이해하면 비교적 간단합니다. 반면 그래디언트 부스팅은 오차, 손실, 그래디언트, 학습률, 순차적 보정 같은 개념이 함께 등장합니다.

하지만 처음부터 모든 세부사항을 완벽히 이해하려고 할 필요는 없습니다. 지금은 다음 네 가지 감각만 붙잡으면 됩니다.

  • 그래디언트 부스팅은 약한 모델을 순서대로 쌓아 강한 모델을 만든다.

  • 새 모델은 처음부터 다시 배우는 것이 아니라 이전 모델의 부족한 부분을 보완한다.

  • 학습률, 트리 개수, 트리 깊이를 잘못 조절하면 과적합되기 쉽다.

  • XGBoost, LightGBM, CatBoost는 그래디언트 부스팅을 실무에서 강력하게 쓰기 위한 대표 도구다.

이 네 가지를 이해했다면 이미 중요한 능력을 얻은 것입니다. 이제 어떤 사람이 "부스팅 모델을 써봤다"고 말할 때, 그 말이 대략 무엇을 뜻하는지 감을 잡을 수 있습니다. "여러 트리를 썼구나"에서 한 걸음 더 나아가, "앞 모델의 실수를 다음 모델이 계속 고쳐 가는 방식이구나"라고 이해할 수 있습니다.

다음 장으로 가기 전에

지금까지 우리는 지도학습의 대표적인 모델들을 살펴보았습니다. 선형회귀는 숫자 관계를 직선으로 배웠고, 로지스틱 회귀는 확률을 통해 분류를 수행했습니다. 결정트리는 질문을 던지며 데이터를 나누었고, 랜덤포레스트는 여러 트리의 의견을 모아 안정성을 높였습니다. 그래디언트 부스팅은 앞선 모델의 실수를 다음 모델이 고쳐 가며 성능을 끌어올렸습니다.

이제 자연스럽게 다음 질문이 생깁니다.

"그런데 어떤 모델이 더 좋은지는 어떻게 판단할까?"

회귀 모델은 예측한 숫자가 실제값과 얼마나 가까운지 봐야 합니다. 분류 모델은 정답을 얼마나 잘 맞혔는지 봐야 합니다. 하지만 분류에서도 단순히 정확도만 보면 위험한 경우가 있습니다. 스팸 메일 분류기, 암 진단 모델, 고객 이탈 예측 모델은 각각 중요하게 봐야 할 실수가 다를 수 있습니다.

다음 장에서는 모델의 실력을 재는 여러 가지 기준을 배웁니다. 모델을 만드는 것만큼 중요한 일, 바로 모델을 평가하는 법입니다.

책 목록

처음 만나는 머신러닝: 데이터가 스스로 규칙을 배우는 법

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기