ONE QUESTION AT A TIME.

천천히 생각하고, 분명하게.

TODAY’S QUESTION959 / 1500

제곱 손실 boosting에서 다음 트리가 잔차를 맞춘다는 말의 정확한 뜻은 무엇인가요?

잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?

답변과 점검 포인트 펼치기답변 접기
01

구두 답변

정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.

제곱 손실에서 “잔차를 맞춘다”는 말은 다음 트리가 실제 y-F를 완벽히 복사한다는 뜻이 아닙니다. 현재 앙상블의 예측을 F라고 하면 표본별 손실을 L(y,F)=1/2(y-F)^2로 둘 때 ∂L/∂F=F-y이고, 손실을 줄이는 방향인 음의 gradient가 y-F가 됩니다. 그래서 다음 트리 h가 이 값을 근사하고 F_new=F+ηh로 더해집니다.

예를 들어 현재 예측이 [2,5], 정답이 [3,7]이면 음의 gradient는 [1,2]입니다. 트리가 이 값을 그대로 낸다는 설명용 가정에서 η=.1이면 새 예측은 [2.1,5.2]가 되고 잔차는 [.9,1.8]이 됩니다. 실제 트리는 깊이와 잎 제약이 있으므로 두 표본의 값을 정확히 내지 않고, 같은 잎에 들어간 표본에 공통 출력을 내어 gradient 방향을 근사합니다. 따라서 트리의 구조와 잎 출력, shrinkage를 함께 봐야 합니다.

이 표현은 제곱 손실에 특화된 직관입니다. 로그손실이나 Huber 손실에서는 다음 목표가 언제나 y-F가 아니라 현재 출력에 대한 해당 손실의 음의 미분인 pseudo-residual입니다. 분류 모델이 raw score를 쓰는지 확률을 쓰는지에 따라 식도 달라집니다. 구현을 점검할 때는 초기 F, loss gradient, 선택된 표본과 h, ηh를 단계별로 기록하겠습니다. 손실이 내려갔다고 해서 다음 트리가 잔차를 완벽히 제거했다거나 일반화가 좋아졌다고 해석하지 않습니다.

여기서 중요한 중간 상태는 트리가 학습되기 전과 후를 분리하는 것입니다. F=[2,5]일 때 첫 샘플의 손실은 1/2(3-2)^2=.5, 둘째는 1/2(7-5)^2=2이고, h=[1,2]를 그대로 가정하면 ηh=[.1,.2]가 됩니다. 새 손실은 각각 1/2(.9)^2=.405, 1/2(1.8)^2=1.62로 줄지만, 실제 잎 하나에 두 샘플이 함께 들어가면 h는 [1,2]가 아니라 두 방향의 절충값이 됩니다. 따라서 “잔차 적합”은 목표 벡터를 복사한다는 말이 아니라 제한된 함수 공간에서 음의 gradient의 감소 방향을 선택한다는 뜻입니다.

02

득점 포인트

이해가 드러나는 지점을 확인해 보세요.

  • 제곱손실에서 y−F가 negative gradient가 되는 조건과 F_new=F+ηh의 적용 순서를 정확히 구분합니다.
  • [2,5], [3,7], η=.1의 상태를 따라가며 트리가 잔차를 완벽히 복사하지 않고 근사한다는 점을 설명합니다.
  • 로그손실·Huber·다중 분류에서는 목표가 일반적인 y−F가 아니라 loss와 출력 좌표에 따른 pseudo-residual임을 짚습니다.
03

감점 포인트

놓치기 쉬운 조건과 오해를 짚어 보세요.

  • 다음 트리가 잔차를 0으로 만든다고 단정하거나 shrinkage를 생략합니다.
  • 모든 loss에서 잔차가 y−F라고 말하고 raw score와 확률의 미분 변수를 구분하지 않습니다.
04

더 파고들 거리

하나 더 질문하며 이해의 범위를 넓혀 보세요.

  • 제곱손실이 아닌 Huber·로그손실에서 raw score별 pseudo-residual을 어떻게 계산할지 적어 보세요.
  • 잎 제약과 정규화가 h의 근사 오차와 조기 종료에 미치는 영향을 비교해 보세요.

득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.

← 전체 질문 보기