1. 개요[편집]
| 서포트 벡터 회귀 Support Vector Regression | |
|---|---|
| 약칭 | SVR |
| 제안 | Drucker · Burges · Kaufman · Smola · Vapnik (1997) |
| 손실 | ε-무감도 손실 — 폭 2ε 의 「튜브」 |
| 모수 | C (벌점) · ε (튜브 폭) · 커널 초모수 |
| 희소성 | 튜브 밖·경계 위의 점만 서포트 벡터 |
| 안 주는 것 | 예측 불확실성 — 크리깅·GP 와의 결정적 차이 |
| 비용 | 변수 2n 개 QP — 대략 O(n²)~O(n³) |
회귀 문제에서 “오차를 최소화하라”는 명령을 “오차가 이 정도면 없는 걸로 하자”로 바꿨을 뿐인데, 회귀가 갑자기 희소해진다.
서포트 벡터 회귀(support vector regression, SVR)는 예측 오차의 절댓값이 이하면 손실을 0으로 두는 -무감도 손실을 쓰고, 그 위에 벌점을 걸어 함수를 최대한 «평평하게» 유지하는 커널 회귀 방법이다. 결과적으로 데이터를 통과하는 폭 의 관 — 튜브(tube) — 을 찾는 문제가 되고, 튜브 안에 얌전히 들어간 점은 해에 전혀 기여하지 않는다.
서포트 벡터 머신의 회귀 판본이지만 기하학적 이야기가 뒤집혀 있다는 점을 먼저 짚어야 한다. 분류에서 를 줄이는 것은 마진을 넓히는 것이었는데, 회귀에서는 마진에 해당하는 것이 없고 함수의 기울기를 낮추는(평탄화) 의미가 된다.1 튜브 폭 은 사람이 정하는 상수이므로 최적화 대상이 아니다. “마진 최대화의 회귀 버전”이라는 흔한 설명은 정확하지 않다 — 정확히는 평탄성 정규화 + 무감도 손실이다.
2. ε-무감도 손실[편집]
바프닉이 도입한 손실은 다음 한 줄이다.2
절댓값 손실()의 바닥을 폭 만큼 평평하게 깔아 놓은 모양이다. 세 손실을 나란히 놓으면 성격이 드러난다.
| 손실 | 식 | 꼬리 증가 | 해의 희소성 | 인구 최소해 |
|---|---|---|---|---|
| 제곱 | 2차 | 없음 | 조건부 평균 | |
| 절댓값 | 선형 | 없음 | 조건부 중앙값 | |
| -무감도 | 선형 | 있음 | 중앙값 근방 구간 |
여기서 두 가지가 동시에 얻어진다. 선형 꼬리 덕분에 이상치 하나가 해를 지배하지 못하고(제곱 손실은 잔차의 제곱으로 벌하므로 튄 점 하나가 전부를 끌어당긴다), 평평한 바닥 덕분에 대부분의 점이 최적해에서 승수 0을 받아 사라진다. 절댓값 손실도 로버스트하지만 희소하지는 않다 — 평평한 구간이 없으면 모든 점이 조금씩 기여한다는 것은 힌지 손실에서 본 구도와 완전히 같다.
을 “허용 오차”로 읽는 것이 실무적으로 가장 정확하다. 측정 정밀도가 K 인 온도 데이터를 맞출 때 잔차 0.1 K 를 줄이려 애쓰는 것은 잡음을 학습하는 짓이고, 로 두면 그 노동을 아예 하지 않는다. 잡음 수준을 모형에 명시적으로 알려 주는 손실인 셈이다.
3. 원시문제와 쌍대문제[편집]
로 두고, 위·아래 위반을 각각 다른 여유변수로 받는다.
여유변수가 두 벌인 이유는 자명하다 — 한 점이 튜브 위로 튀어나갈 수도, 아래로 처질 수도 있고, 동시에 둘 다일 수는 없다. 이 “동시에 둘 다일 수 없음”이 뒤에서 이라는 상보조건으로 되돌아온다.
라그랑주 승수법으로 넘기고 원시 변수를 소거하면 승수 두 벌 만 남는다.
이고 해는
다. 데이터가 커널로만 등장하므로 커널 트릭이 그대로 적용되고, 계수 하나로 합쳐서 보면 표현자 정리가 예고한 꼴 그대로다.
주목할 항은 목적함수 가운데의 다. 승수를 켜는 것 자체에 만큼의 요금이 붙는다. 이 커지면 승수를 켜는 것이 손해라서 대부분 0으로 눌리고, 이면 이 항이 사라져 요금이 없어진다 — 희소성이 에서 나온다는 것이 식 한 줄로 보인다.
3.1. KKT — 점의 네 가지 신분[편집]
상보여유조건을 정리하면 점이 잔차에 따라 정확히 갈린다.
| 잔차 위치 | 승수 | 신분 |
|---|---|---|
| 튜브 내부 () | 비-서포트 벡터 | |
| 튜브 경계 () | 또는 | 자유 서포트 벡터 |
| 튜브 밖 위쪽 | 속박 서포트 벡터 | |
| 튜브 밖 아래쪽 | 속박 서포트 벡터 |
여기에 이 항상 성립한다. 절편 는 자유 서포트 벡터에서 잔차가 정확히 이라는 조건으로 되찾는다( 이면 ). 자유 서포트 벡터가 하나도 없는 병리적 경우( 이 너무 크거나 가 너무 작을 때) 가 구간으로만 결정되는데, 이때 구현들은 구간의 중점을 취한다.
실용적 귀결은 모형 크기가 데이터 크기와 분리된다는 것이다. 예측 비용이 이고, 잘 튜닝된 SVR에서 서포트 벡터 비율은 흔히 10~40% 다. 학습점 전부를 들고 예측하는 가우시안 프로세스·크리깅과 달리 임베디드 배포나 실시간 소프트 센서에 얹기 쉽다는 것이 SVR의 실질적 장점 중 하나다.
4. ν-SVR — ε 를 데이터에게 맡기기[편집]
을 고르는 일은 은근히 고약하다. 잡음의 스케일을 미리 알아야 하고, 의 단위에 묶여 있어서 다른 문제로 옮겨 붙일 수 없다. 쇤코프·스몰라·윌리엄슨·바틀렛(2000)의 -SVR 은 을 최적화 변수로 올리고 대신 그 크기에 요금을 매긴다.
이 새 모수다. 가 크면 튜브를 넓게 유지하는 것이 비싸져 이 작아지고 위반 점이 늘어난다. 이 재정식화의 매력은 가 해석 가능한 양의 경계가 된다는 데 있다.
- 는 튜브 밖으로 나가는 점의 비율의 상한이다.
- 는 서포트 벡터 비율의 하한이다.
- 조건이 좋으면 두 비율이 점근적으로 에 수렴한다.
즉 “표본의 10% 정도는 튜브 밖으로 나가도 좋다”는 도메인 판단을 로 직접 번역할 수 있다. 튜브 폭을 미터나 켈빈 단위로 추측하는 것보다 비율을 정하는 편이 사람에게 훨씬 쉽다. -SVR 과 -SVR 은 적절한 모수 대응 아래 같은 해 집합을 만들어 내는 재모수화일 뿐이므로, 성능 차이가 아니라 어느 손잡이가 잡기 편한가의 문제다.3
5. 세 손잡이 고르기[편집]
| 모수 | 크게 하면 | 작게 하면 | 주된 실패 |
|---|---|---|---|
| 위반을 강하게 벌해 복잡한 함수 | 평평한 함수로 수렴 | 크면 과적합, 작으면 상수 함수 | |
| 서포트 벡터 감소, 함수 단순화 | 절댓값 회귀로 접근 | 크면 과소적합, 작으면 잡음 학습 | |
| (RBF) | 국소적·요동치는 함수 | 전역적·매끄러운 함수 | 크면 학습점마다 스파이크 |
세 개가 상호작용하므로 따로 최적화하면 안 되고, 교차검증 기반 격자 탐색이 표준이다. 다만 3차원 격자는 비싸서, 공개된 휴리스틱으로 출발점을 잡고 좁혀 가는 절차가 실전적으로 쓰인다. 체르카스키·마(2004)의 제안이 가장 널리 인용된다.
앞 식은 ” 는 목표값의 스케일과 같은 차수여야 한다”는 관찰이고(승수 상한이 와 같은 단위를 갖는다), 뒤 식은 잡음 표준편차 를 알거나 추정할 수 있을 때 표본 수가 늘면 을 줄여야 한다는 스케일링이다. 어디까지나 출발점이고, 잡음 추정 자체가 어려운 문제라는 점은 정직하게 인정해야 한다.
한 가지 함정은 유독 자주 밟힌다. 를 표준화해야 한다. 분류에서는 만 스케일링하면 충분하지만, SVR의 과 는 의 단위를 가진 양이다. 목표값이 파스칼 단위로 스케일인데 기본값 로 돌리면 튜브가 사실상 폭 0이 되어 절댓값 회귀가 되고, 반대로 가 스케일이면 전부 튜브 안에 들어가 모형이 상수 함수를 반환한다. “SVR을 돌렸는데 예측이 전부 같은 값”이라는 증상의 90%가 이것이다.
6. 공학 대리모형으로서 — 크리깅·GP와의 대비[편집]
대리 모델 후보로 SVR을 놓고 크리깅과 비교하면, 예측식이 놀랄 만큼 닮아 있다. 커널 능형회귀/GP 사후평균은
로 SVR과 같은 형태의 커널 전개다. 차이는 계수 를 어떻게 정하느냐이며 — 하나는 선형계 한 번, 하나는 QP — 거기서 성격이 전부 갈린다.
| 항목 | SVR | 크리깅 / 가우시안 프로세스 |
|---|---|---|
| 손실 | -무감도 (선형 꼬리) | 제곱 (가우시안 가능도) |
| 계수 결정 | 볼록 QP, 부등식 제약 | 선형계 1회, 제약 없음 |
| 희소성 | 서포트 벡터만 | 전 학습점 사용 |
| 예측 분산 | 없음 | 있음 (크리깅 분산) |
| 초모수 결정 | 교차검증 격자 탐색 | 주변우도 최대화 |
| 이상치 내성 | 강함 | 약함 (제곱 손실) |
| 보간성 | 보간 아님 (튜브 통과) | 이면 정확 보간 |
| 원거리 거동 | 로 수렴 | 사전평균으로 수렴 |
결정적 차이는 예측 분산이다. 베이지안 최적화의 획득함수(EI, UCB, PI)는 전부 예측 평균과 예측 분산 둘을 요구하고, 적응적 표본 추가·신뢰구간 보고·불확실성 정량화도 마찬가지다. SVR은 이것을 원리적으로 주지 않는다. 부트스트랩이나 교차검증 잔차로 오차 막대를 만드는 우회로가 있지만, 그것은 입력 공간의 어디가 데이터로부터 먼지를 반영하지 못한다 — 크리깅 분산이 표본이 희박한 영역에서 자동으로 커지는 그 성질이 SVR에는 없다. 시뮬레이션 기반 설계 최적화 루프에서 크리깅이 사실상 표준인 이유가 이것이고, “-무감도 손실이 대응하는 잡음 모형을 역설계해서 베이즈 SVR을 만들자”는 연구가 있었지만 표준으로 자리 잡지는 못했다.4
그럼에도 SVR을 고를 이유가 남는 자리는 있다.
- 결정론적 시뮬레이션이 아니라 실험·계측 데이터. 잡음이 두꺼운 꼬리를 가지거나 이상치가 섞이면 제곱 손실 기반 GP가 흔들리는데, 선형 꼬리인 SVR은 버틴다. 크리깅이 잡음 데이터에서 진동하는 것을 막으려고 너깃(nugget)을 손으로 키우는 것과 비교할 만하다.
- 표본이 수천 이상이고 UQ가 필요 없을 때. GP는 분해와 메모리, 그리고 조건수 문제로 지터를 넣어야 한다. SVR은 분해가 없고 예측이 희소하다.
- 입력 차원이 높을 때. 배리오그램/공분산 구조를 추정하는 절차가 고차원에서 불안정해지는 반면 SVR은 세 개만 훑으면 된다. 물론 차원의 저주는 양쪽 모두에게 온다.
- 모형을 배포해야 할 때. 서포트 벡터 수백 개와 계수만 옮기면 되므로 펌웨어에 얹기 쉽다.
7. 실무의 함정[편집]
- 표준화 누락 — 위에서 본 대로 SVR 실패의 최대 원인. 은 단위다.
- 원거리 예측은 절편이다. RBF 커널을 쓰면 학습 데이터에서 멀어질수록 모든 이라 로 수렴한다. 외삽이 상수로 «안전하게» 죽는 셈인데, 그걸 물리적 추세로 오독하면 안 된다. 다항 회귀 기반 반응표면법이 외삽에서 폭발하는 것과 정반대의 실패 방식이다.
- 서포트 벡터가 90%면 뭔가 잘못됐다. 이 너무 작거나 가 너무 커서 잡음을 학습하고 있다는 신호다. 반대로 서포트 벡터가 2~3개면 사실상 상수·선형 함수를 반환하는 중이다.
- 다출력은 없다. SVR은 스칼라 출력이고, 출력이 여럿이면 각각 따로 학습한다. 출력 간 상관을 쓰는 공동 크리깅 계열이 없다는 뜻이다.
- 표본 수만이 넘으면 근사로 간다. 그람 행렬이 벽이 되는 것은 분류와 똑같다. 선형 SVR로 내려가거나 무작위 푸리에 특징으로 명시적 특징을 만들어 선형 모형을 푸는 것이 표준 우회로다.
8. 어디에 쓰이나[편집]
- 소프트 센서 / 가상 계측. 반도체 공정이나 화학 플랜트에서 직접 측정이 비싼 물성을 다른 센서값으로 추정한다. 계측 잡음과 이상치가 많고 실시간 예측 비용이 중요한 자리라 SVR의 성질과 잘 맞는다.
- 재료 물성·구조 응답 예측. 실험 데이터 수백 점 규모에서 대리 모델로 쓰이며, 최적화 루프에 들어가면 대체로 크리깅에 자리를 내준다.
- 시계열 예측. 전력 수요, 풍속, 금융 지표에 지연 변수를 특징으로 넣어 회귀로 푸는 접근이 2000년대에 널리 시도됐다. 지금은 대체로 부스팅 계열과 신경망에 밀렸지만, 표본이 짧을 때는 여전히 경쟁력 있는 기준선이다.
- 원-클래스 판정과의 사촌 관계. 지지도 추정(SVDD)·이상치 탐지의 원-클래스 SVM은 모수 구조를 SVR과 공유한다. “튜브 밖 비율의 상한”이라는 해석이 “이상치 비율의 상한”으로 그대로 번역된다.
9. 관련 문서[편집]
- 서포트 벡터 머신 · 힌지 손실 · 커널 트릭 · 손실 함수
- 크리깅 · 가우시안 프로세스 · 능형회귀 · 최소자승법
- 대리 모델 · 반응표면법 · 베이지안 최적화 · 불확실성 정량화
- 이차계획법 · 볼록 최적화 · 라그랑주 승수법 · 쌍대성
- 교차검증 · 과적합 · 차원의 저주
- 무작위 푸리에 특징 · 이상치 탐지 · 시계열 분석
10. Footnotes[편집]
-
“평평하게 만든다”는 표현은 선형 커널에서는 문자 그대로 기울기를 줄이는 것이지만, RBF 커널에서는 RKHS 노름을 줄이는 것이라 «고주파 성분을 억제한다»에 가깝다. 특징공간에서의 평탄성이 입력공간에서 무엇을 뜻하는지는 커널이 정하며, 이 번역 과정이 커널 방법을 직관적으로 설명하기 어렵게 만드는 지점이기도 하다. ↩
-
SVR의 최초 발표는 1997년 NIPS 논문(Drucker, Burges, Kaufman, Smola, Vapnik, “Support vector regression machines”)이지만, -무감도 손실 자체는 바프닉의 1995년 저서 The Nature of Statistical Learning Theory 에 이미 등장한다. 그래서 인용이 논문과 책 사이에서 갈리고, 두 개를 같이 다는 것이 가장 안전하다. ↩
-
그럼에도 LIBSVM 사용자 대부분은 여전히 -SVR 을 쓴다. -SVR 이 이론적으로 더 친절한데도 그런 이유는 튜토리얼과 예제 코드가 전부 -SVR 로 쓰여 있기 때문이다. 좋은 인터페이스가 이기는 게 아니라 먼저 문서화된 인터페이스가 이긴다. ↩
-
-무감도 손실을 음의 로그 가능도로 되돌리면 “가우시안 잡음 위에 폭 의 균등 성분을 얹은” 형태의 잡음 모형이 나온다는 계산이 1990년대 말에 나왔다. 흥미롭긴 하지만 그 잡음 모형을 실제로 믿는 사람은 드물었고, 결국 불확실성이 필요하면 GP를 쓰는 쪽으로 정리됐다. 손실을 먼저 정하고 확률 모형을 역설계하는 접근의 한계를 보여 주는 사례. ↩