| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 반복 구조 찾기
- gensim 3.7.3 설치 오류
- 딥러닝
- 운영체제 목적
- 레지스터
- 기계어
- 미래 사회의 단위
- 말 인용
- 선택
- 운영체제 서비스
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 소프트웨어 시대
- 출력
- 순서도
- 해결 방안
- 소프트웨어
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 절차적 사고의 장점
- 뿌..
- 프로그래밍
- 공부정리
- 국립과천과학관
- 운영체제의 미래
- 처리
- 앨런 튜링
- 겁나 많아
- 패킷트레이서 이용
- 운영체제의 발달 과정
- 컴퓨터
- 절차적 사고
- Today
- Total
hye-_
서포트벡터머신 본문
서포트벡터머신
서포트벡터머신(SVM)은 블라디미르 배프니크와 그의 동료에 의해 1992년에 최초로 정립된 선형과 비선형 분류, 회귀(예측) 및 이상값 분류에도 사용할 수 있는 패턴인식, 자료분석 등에 활용되는 지도학습 알고리즘이다(인공지능의 2차 암흑기는 서포트벡터머신과 같은 우수한 알고리즘의 등장도 원인이 되었다.)
- 의미 →
SVM은 지도학습 알고리즘으로서, 데이터를 분류하거나 예측하는 데 사용되며 선형/비선형 문제 모두를 해결할 수 있는 강력한 머신러닝 모델이다. - 왜 →
데이터는 현실에서 대부분 선형으로 깔끔하게 나뉘지 않기 때문에, 단순한 선형 모델만으로는 분류 성능이 떨어질 수 있다. SVM은 커널 기법을 통해 데이터를 고차원 공간으로 변환하여 비선형 문제도 선형처럼 해결할 수 있게 만들어주며, 일반화 성능이 뛰어나 과적합을 줄이는 데 강점을 가진다. 이 때문에 기존 알고리즘보다 더 안정적인 예측이 가능해졌고 머신러닝 발전에 큰 기여를 했다. - 용어뜻 →
SVM(Support Vector Machine): 서포트 벡터를 기반으로 경계를 찾는 알고리즘
지도학습(Supervised Learning): 입력과 정답이 같이 주어진 학습 방식
패턴인식(Pattern Recognition): 데이터에서 규칙을 찾는 과정
회귀(Regression): 연속값 예측
분류(Classification): 범주 예측 - 수식 →
결정함수:
f(x) = w^T x + b - 예시 →
스팸메일 vs 일반메일 분류, 집값 예측, 이상거래 탐지 등
서포트벡터머신의 특징: 지도학습에서의 과적합 회피, 분류(종속변수:범주형), 회귀(종속변수:연속형)의 문제 활용, 인공신경망 대비 사용이 쉬움, 학습속도가 느리고 해석의 어려움 존재.
- 의미 →
SVM은 과적합을 잘 방지하고 분류와 회귀 둘 다 가능하지만, 학습 속도가 느리고 해석이 어렵다. - 왜 →
SVM은 마진을 최대화하는 구조를 가지기 때문에 단순히 데이터에 맞추는 것이 아니라 일반화 성능을 높이는 방향으로 학습된다. 그러나 최적화 과정이 복잡하고 커널 계산이 포함되면 연산량이 커지므로 학습 속도가 느려지고, 내부 구조가 직관적이지 않아 해석이 어려운 문제가 발생한다. - 용어뜻 →
과적합(Overfitting): 학습 데이터에만 과하게 맞춰진 상태
종속변수(Target Variable): 예측하려는 값
연속형(Continuous): 실수값
범주형(Categorical): 클래스 값 - 수식 →
Soft Margin SVM:

- 예시 →
고객 구매 여부 예측(분류), 매출 예측(회귀)
서포트벡터머신은 최대 마진을 가지는 선형 판별에 기초하며, 속성들 간의 의존성은 고려하지 않는다.
- 의미 →
SVM은 데이터 간 거리(마진)를 최대화하는 선형 경계를 찾는다. - 왜 →
마진이 크다는 것은 두 클래스 간 경계가 넓다는 의미이며, 이는 새로운 데이터가 들어왔을 때 경계에 덜 민감하게 반응하여 일반화 성능이 좋아진다. 즉, 작은 노이즈나 데이터 변동에도 모델이 안정적으로 유지될 가능성이 높아지기 때문에 과적합을 줄이고 더 좋은 예측을 하게 된다. - 용어뜻 →
마진(Margin): 경계와 데이터 사이 거리
선형 판별: 직선/평면으로 나누는 것 - 수식 →
마진 최대화:

- 예시 →
두 집단을 나누는 선을 최대한 멀리 떨어지게 그리는 것
데이터가 사상(관련된)된 공간에서 경계선과 근접한 데이터(Support Vector)간의 거리가 가장 큰 경계(마진,Margin)를 식별하여 새로운 데이터가 경계 밖, 어느 범주에 속하는지 분류한다.
- 의미 →
가장 경계에 가까운 데이터(서포트 벡터)를 기준으로 최대 거리 경계를 만든다. - 왜 →
전체 데이터가 아니라 경계에 가장 영향을 주는 일부 데이터만 사용하면 모델이 단순해지고 계산 효율이 높아진다. 또한 이 데이터들이 실제로 분류를 결정하는 핵심 역할을 하기 때문에 불필요한 데이터에 영향을 받지 않고 더 안정적인 결정 경계를 만들 수 있다. - 용어뜻 →
Support Vector: 경계에 가장 가까운 데이터
사상(Mapping): 고차원 변환 - 수식 →
조건:

- 예시 →
시험 합격/불합격 경계에서 경계 근처 학생만 중요
또한 경계와 경계안에 데이터가 얼마나 많이 사상되는지를 판단하고 경계 밖의 에러값이 최소가 되도록 정의하여 새로운 데이터를 예측(회귀)하게 된다.
- 의미 →
경계 안에 데이터를 최대한 포함시키고, 밖에 있는 오류를 최소화한다. - 왜 →
완벽하게 모든 데이터를 포함시키는 것은 현실적으로 불가능하기 때문에 일부 오류를 허용하면서 전체적인 성능을 높이는 방향으로 최적화를 수행한다. 이는 모델이 너무 엄격하게 학습되는 것을 방지하고 현실 데이터의 노이즈를 반영하여 더 유연하고 실제 환경에 적합한 예측을 가능하게 만든다. - 용어뜻 →
오차(Error): 예측과 실제 차이
회귀(Regression): 값 예측 - 수식 →

- 예시 →
집값 예측에서 약간의 오차 허용
즉, 서포트벡터머신은 분류와 회귀에 모두 사용할 수 있다.
- 의미 →
SVM은 분류와 회귀 둘 다 가능하다. - 왜 →
SVM의 핵심 구조는 경계를 찾는 것이기 때문에, 이 경계를 기준으로 클래스 나누면 분류가 되고, 특정 범위 안에서 값 예측을 하면 회귀 문제로 확장할 수 있다. 즉 동일한 수학적 구조를 활용하여 다양한 문제를 해결할 수 있는 범용성이 존재한다. - 예시 →
이메일 스팸 여부 / 주가 예측
서포트벡터머신에서 데이터가 n차원으로 주어졌을 때 데이터를 n-1차원의 초평면(하이퍼플레인)으로 분리한다.
- 의미 →
n차원 데이터를 n-1차원 경계로 나눈다. - 왜 →
차원이 하나 줄어든 공간에서 경계를 정의하면 데이터가 두 그룹으로 나뉘게 된다. 이는 수학적으로 가장 일반적인 분리 방법이며, 어떤 차원에서도 동일한 방식으로 확장 가능하기 때문에 SVM이 고차원 데이터에서도 잘 작동하는 이유가 된다. - 용어뜻 →
초평면(Hyperplane): 고차원에서의 경계 - 수식 →
w^Tx + b = 0 - 예시 →
3D → 평면, 2D → 직선
2차원의 데이터에서는 초평면은 1차원의 선이 되고, 3차원의 데이터에서는 초평면이 2차원인 면이 된다.
- 의미 →
차원에 따라 경계 형태가 달라진다. - 왜 →
차원 하나 줄어든 형태가 항상 경계가 되기 때문에, 2차원에서는 선, 3차원에서는 면이 된다. 이는 고차원으로 갈수록 직관적으로 이해하기 어렵지만 수학적으로 동일한 원리가 적용되며 SVM이 다양한 차원에서 동일한 방식으로 작동하는 이유를 설명한다. - 수식 →
동일: ( w^Tx + b = 0 ) - 예시 →
평면 위 선 / 공간 속 면
또한 초평면에서 가장 가까운 데이터를 서포트벡터라 하고 서포트벡터끼리 거리를 마진이라고 한다.
- 의미 →
경계와 가장 가까운 데이터 = 서포트벡터, 그 거리 = 마진 - 왜 →
경계를 결정하는 것은 모든 데이터가 아니라 가장 가까운 데이터이기 때문에 이들만이 모델에 영향을 준다. 따라서 이들 간의 거리인 마진을 최대화하는 것이 곧 모델의 성능을 결정하는 핵심 요소가 되며 안정성과 일반화 능력을 동시에 확보할 수 있다. - 예시 →
두 집단 사이 가장 가까운 점 거리
서포트벡터머신은 집단 사이의 마진이 최대화하는 것을 기준으로 초평면을 학습 한다. 이러한 과정이 서포트벡터머신의 최적화 과정이다.
- 의미 →
마진을 최대화하도록 경계를 학습한다. - 왜 →
마진이 클수록 데이터 분포 변화나 노이즈에 강해지고, 새로운 데이터에도 잘 대응할 수 있기 때문에 일반화 성능이 향상된다. 이 때문에 단순히 데이터를 나누는 것이 아니라 가장 안정적인 분리 기준을 찾는 것이 SVM의 핵심 목적이다. - 용어뜻 →
최적화(Optimization) - 예시 →
가장 넓은 경계 찾기
대부분의 머신러닝 지도학습 알고리즘은 학습 데이터 모두를 사용하여 모델이 학습한다.
- 의미 →
일반적인 머신러닝은 모든 데이터를 사용해서 학습한다. - 왜 →
대부분의 알고리즘은 데이터 전체를 기반으로 패턴을 찾기 때문에 모든 데이터를 활용해야 평균적인 경향을 잘 반영할 수 있다. 데이터 일부만 사용하면 정보 손실이 발생할 수 있으며, 모델이 전체적인 분포를 제대로 학습하지 못할 가능성이 높아진다. 따라서 전체 데이터를 활용하는 것이 일반적인 접근 방식이다. - 용어뜻 →
지도학습(Supervised Learning): 입력과 정답을 같이 사용하는 학습 - 예시 →
학생 전체 점수를 이용해 평균 구하는 것
그런데 서포트벡터머신에서 결정경계를 정의하는 것은 서포트벡터이기 때문에 데이터 포인트 중에서 서포트벡터만 잘 골라내면 나머지 쓸 데 없는 수많은 데이터 포인트들을 무시할 수 있다.
- 의미 →
SVM은 일부 중요한 데이터(서포트벡터)만 사용한다. - 왜 →
결정경계를 실제로 결정하는 것은 경계 근처의 데이터뿐이기 때문에, 나머지 멀리 떨어진 데이터는 모델에 영향을 주지 않는다. 따라서 모든 데이터를 사용할 필요 없이 핵심 데이터만으로도 동일한 경계를 만들 수 있으며, 이는 계산 효율성과 모델 단순성을 동시에 확보할 수 있게 한다. - 용어뜻 →
Support Vector: 경계에 영향을 주는 데이터 - 예시 →
경계 근처 몇 명 학생만으로 합격선 결정
그래서 효율적인 자원 소모가 가능하다.
- 의미 →
SVM은 계산 효율성이 좋다. - 왜 →
전체 데이터가 아닌 일부 서포트벡터만 사용하기 때문에 메모리와 연산량이 줄어든다. 특히 데이터가 많을수록 이 차이는 크게 나타나며, 불필요한 데이터까지 계산하지 않아도 되기 때문에 자원 낭비를 줄이고 효율적인 모델 운영이 가능해진다. - 용어뜻 →
자원(Resource): 메모리, 연산량 - 수식 →
서포트벡터 개수만 영향 - 예시 →
전체 학생이 아니라 몇 명만 계산
서포트벡터머신 분류의 목표는 마진 오류 발생 정도를 조절(c이용)하면서 두 클래스 사이의 마진폭을 최대한 넓게 하는 모델 생성.
- 의미 →
분류에서는 C를 조절하면서 마진을 최대화한다. - 왜 →
C 값은 오류 허용 정도를 결정하는데, 값이 크면 오류를 줄이기 위해 마진이 좁아지고, 값이 작으면 오류를 허용하면서 마진이 넓어진다. 따라서 C를 통해 분류 정확도와 일반화 성능 사이의 균형을 조절할 수 있으며, 이는 모델의 성능을 결정하는 핵심 요소가 된다. - 용어뜻 →
C: 오류 패널티 계수 - 예시 →
엄격하게 나누면 오차 적음 / 느슨하면 안정적
서포트벡터 머신 분류의 종속변수는 범주형.
- 의미 →
분류 문제에서는 결과가 클래스이다. - 왜 →
분류는 특정 범주 중 하나를 선택하는 문제이기 때문에 출력값은 연속값이 아닌 이산적인 클래스 값으로 표현된다. SVM 분류는 경계를 기준으로 데이터를 나누는 방식이므로 자연스럽게 결과는 범주형이 된다. - 용어뜻 →
범주형(Categorical): 클래스 값 - 예시 →
합격/불합격
소프트벡터머신 분류의 마진 오류는 마진 위에 위치한 샘플.
- 의미 →
마진 안이나 위에 있는 데이터는 오류로 본다. - 왜 →
소프트마진에서는 일부 데이터가 마진 안에 들어오는 것을 허용하지만, 이러한 데이터는 이상적인 분리 상태에서 벗어난 것으로 간주된다. 따라서 이들을 오류로 정의하고, 이를 최소화하는 방향으로 학습을 진행하여 전체적인 모델 성능을 유지한다. - 용어뜻 →
마진 오류: 경계 안에 들어온 데이터 - 예시 →
경계 안으로 들어온 학생
서포트벡터머신 회귀의 목표는 마진 오류 발생 정도를 조절( C 이용)하면서 지정된 폭의 마진 안에 가능한 많은 샘플 포함하는 모델 생성.
- 의미 →
회귀에서는 일정 범위 안에 데이터를 최대한 포함시킨다. - 왜 →
회귀 문제에서는 정확히 맞추는 것보다 일정 오차 범위 내에 들어오는 것이 중요하기 때문에, ε(엡실론) 범위를 설정하고 그 안에 데이터를 최대한 포함시키는 것이 목표가 된다. 이는 노이즈가 있는 데이터에서도 안정적인 예측을 가능하게 한다. - 용어뜻 →
ε(엡실론): 허용 오차 범위 - 예시 →
±5만원 범위 내 집값 예측
서포트벡터머신 회귀의 종속변수는 연속형.
- 의미 →
회귀에서는 결과가 숫자값이다. - 왜 →
회귀 문제는 특정 값을 예측하는 것이기 때문에 결과는 연속적인 수치 형태로 나타난다. SVM 회귀도 동일하게 경계 대신 범위를 설정하고 그 안에서 값을 예측하기 때문에 출력은 연속형 값이 된다. - 용어뜻 →
연속형(Continuous): 실수값 - 수식 →
- 예시 →
집값, 매출
서포트벡터머신 회귀의 마진 오류는 마진 밖에 위치한 샘플.
- 의미 →
회귀에서는 범위를 벗어난 데이터가 오류이다. - 왜 →
회귀에서는 ε 범위 안에 있는 데이터는 허용되지만, 그 범위를 벗어난 데이터는 예측 오차로 간주된다. 따라서 모델은 이 범위를 벗어난 데이터를 최소화하는 방향으로 학습되며, 이는 안정적인 예측 성능을 유지하기 위한 핵심 기준이 된다. - 용어뜻 →
ε-insensitive loss - 예시 →
허용 범위를 벗어난 예측값
하드마진과 소프트마진
SVM (서포트벡터머신)
├── 하드 마진 SVM
└── 소프트 마진 SVM
마진은 결정경계와 서포트벡터 사이의 거리를 의미하는데, 이상값을 얼마나 허용할 것인가에 따라 소프트마진과 하드마진으로 구분할 수 있다.
- 의미 →
마진은 경계와 가장 가까운 데이터 사이 거리이며, 이상값 허용 여부에 따라 두 가지 방식으로 나뉜다. - 왜 →
현실 데이터에는 항상 노이즈나 이상값이 포함되기 때문에 이를 완전히 배제할지 아니면 일부 허용할지에 따라 모델의 성격이 크게 달라진다. 이상값을 허용하지 않으면 모델은 매우 엄격해지고 데이터에 과하게 맞춰질 수 있으며, 반대로 허용하면 일반화 성능은 좋아지지만 일부 오차를 감수해야 한다. 따라서 마진 개념은 단순 거리 이상의 의미를 가지며, 모델의 유연성과 일반화 능력을 조절하는 핵심 요소이다. - 용어뜻 →
마진(Margin): 결정경계와 가장 가까운 데이터 사이 거리
하드마진(Hard Margin): 이상값 허용 X
소프트마진(Soft Margin): 이상값 허용 O - 예시 →
시험 합격선에서 모든 학생을 정확히 나누면 하드마진, 몇 명 틀려도 허용하면 소프트마진
서포트벡터머신은 데이터 포인트들을 올바르게 분리하면서 마진의 크기를 최대화해야 하는데 이는 결국 이상값을 잘 다루는 게 중요함을 의미한다.
- 의미 →
SVM은 데이터 분리 + 마진 최대화를 동시에 수행하며, 이상값 처리가 핵심이다. - 왜 →
단순히 데이터를 분리하는 것만으로는 좋은 모델이 아니며, 경계가 너무 좁으면 새로운 데이터에 민감하게 반응하여 성능이 떨어질 수 있다. 따라서 마진을 최대화하여 안정성을 확보해야 하는데, 이 과정에서 이상값이 존재하면 경계가 왜곡될 수 있으므로 이를 적절히 처리하는 것이 중요하다. 결국 SVM의 핵심은 분리 정확도와 일반화 성능 사이의 균형을 맞추는 것이다. - 용어뜻 →
최대마진(Maximum Margin)
이상값(Outlier): 데이터 분포에서 벗어난 값 - 예시 →
소수의 이상한 고객 데이터 때문에 전체 기준이 왜곡되는 상황
초평면(결정경계, 하이퍼플레인)의 가중치(Weight, 기울기)가 작아질수록 마진의 경계 폭이 커지게 된다.
- 의미 →
가중치가 작을수록 마진은 넓어진다. - 왜 →
마진은 ( {2}/{||w||} )로 정의되기 때문에 가중치 벡터의 크기가 작아질수록 분모가 작아지고 결과적으로 마진이 커지게 된다. 이는 수학적으로 명확한 관계이며, 모델이 복잡하지 않고 단순할수록 더 넓은 경계를 형성하게 된다는 의미를 포함한다. 따라서 가중치를 줄이는 것은 곧 모델을 단순화하고 일반화 성능을 높이는 방향으로 작용한다. - 용어뜻 →
Weight(가중치): 모델의 기울기
노름(||w||): 벡터 크기 - 예시 →
완만한 직선일수록 두 집단 사이 간격이 넓어짐
따라서 결정경계 마진의 폭을 크게 하기 위해서 초평면을 최소화해야 한다.
- 의미 →
마진을 키우기 위해 가중치를 최소화해야 한다. - 왜 →
마진이 가중치 크기의 역수 형태이기 때문에, 마진을 최대화하려면 가중치의 크기를 최소화하는 방향으로 최적화해야 한다. 이는 단순히 수학적인 관계일 뿐만 아니라, 모델이 불필요하게 복잡해지는 것을 방지하고 데이터에 과하게 적합되는 것을 막는 효과도 가진다. 즉, 가중치를 줄이는 것은 모델을 단순하게 유지하면서도 더 넓은 분리 경계를 확보하기 위한 핵심 전략이다. - 용어뜻 →
최소화(Minimization): 값을 줄이는 것 - 예시 →
경계선 기울기를 줄여서 더 넓은 간격 확보
하드마진
하드마진은 모든 데이터(양성/음성)가 결정경계의 마진 밖으로 위치하는 가중치를 찾는 방법이다.
- 의미 →
모든 데이터를 완벽하게 분리하는 방식이다. - 왜 →
하드마진은 오류를 전혀 허용하지 않기 때문에 모든 데이터가 정확히 분리되어야 한다. 이는 데이터가 완전히 선형적으로 분리 가능한 경우에만 적용 가능하며, 현실 데이터에서는 노이즈나 이상값이 존재하기 때문에 적용이 제한적이다. 그러나 조건이 맞는다면 매우 깔끔한 경계를 형성할 수 있는 장점이 있다. - 용어뜻 →
양성/음성: 클래스 구분 - 예시 →
완벽하게 나뉘는 데이터 (시험 점수 100 vs 0)
하드마진은 이상값을 허용하지 않고 기준을 까다롭게 세웠으며, 서포트벡터와 결정경계 사이의 거리가 매우 좁은 것을 알 수 있다(마진이 작아짐), 이는 이상값이 존재 할 경우 민감하게 반응할 수 있다는 의미이며 과적합에 빠질 수 있다.
- 의미 →
하드마진은 엄격하지만 과적합 위험이 크다. - 왜 →
이상값을 전혀 허용하지 않으면 모델은 모든 데이터를 완벽히 맞추기 위해 경계를 조정하게 되는데, 이 과정에서 특정 데이터에 지나치게 민감해지고 일반화 능력이 떨어진다. 특히 하나의 이상값이 존재하면 전체 경계가 크게 흔들릴 수 있어 모델이 불안정해지며, 결국 새로운 데이터에 대해 성능이 떨어지는 과적합 문제가 발생하게 된다. - 용어뜻 →
과적합(Overfitting) - 수식 →
하드마진 조건 유지 - 예시 →
한 명의 이상한 점수 때문에 기준이 완전히 바뀌는 상황
소프트마진
또한 소프트마진은 결정경계 마진 안에 위치하는 데이터의 수를 제한하면서 결정경계 도로의 폭이 최대가 되도록 하는 가중치(기울기)를 찾는 방법이다.
- 의미 →
일부 오류를 허용하면서 마진을 최대화한다. - 왜 →
현실 데이터는 완벽히 분리되지 않기 때문에 일부 데이터를 마진 안에 허용하는 대신 전체적인 경계의 안정성과 일반화 성능을 높이는 것이 더 중요하다. 이를 위해 소프트마진은 오류를 제어하는 파라미터(C)를 통해 마진과 오류 사이 균형을 조절하며, 모델이 지나치게 엄격해지는 것을 방지한다. - 용어뜻 →
C: 오류 허용 정도를 조절하는 파라미터 - 예시 →
몇 명 틀려도 전체 기준 유지
마진 안에 어느 정도 데이터가 포함되도록 여유롭게 기준을 잡았다.
- 의미 →
일부 데이터는 마진 안에 들어가도록 허용한다. - 왜 →
데이터는 항상 잡음과 변동성을 포함하고 있기 때문에 모든 데이터를 완벽하게 분리하려고 하면 모델이 과하게 복잡해진다. 따라서 일부 데이터를 허용하는 것은 모델을 더 현실적으로 만들고, 새로운 데이터에도 잘 대응할 수 있도록 일반화 성능을 높이는 중요한 전략이다. - 예시 →
시험에서 몇 명 예외 인정
서포트벡터와 결정경계 사이의 거리가 멀어진 것과(마진이 넓어짐), 일부 이상값이 포함된 것도 확인할 수 있다.
- 의미 →
소프트마진은 마진이 넓고 일부 오류를 포함한다. - 왜 →
마진을 넓히기 위해 일부 데이터를 희생하는 방식이기 때문에, 경계가 더 안정적이고 일반화 성능이 좋아진다. 이는 전체 데이터 구조를 더 잘 반영하는 결과를 만들며, 특정 데이터에 과도하게 영향을 받지 않는 모델을 형성하게 된다. - 용어뜻 →
마진 확장 - 수식 →
동일 (소프트마진 식) - 예시 →
약간 틀린 데이터 포함하지만 전체 기준 유지
실제 분석을 진행할 때는 지나치게 많은 이상값의 존재를 허용하지 않는 기울기를 찾는 것이 중요하다.
- 의미 →
적절한 수준의 오류 허용이 중요하다. - 왜 →
이상값을 너무 많이 허용하면 모델이 데이터 구조를 제대로 학습하지 못하고 너무 단순해질 수 있으며, 반대로 너무 적게 허용하면 과적합이 발생한다. 따라서 적절한 균형을 찾는 것이 중요하며, 이는 C 파라미터를 통해 조절된다. - 용어뜻 →
하이퍼파라미터(C) - 예시 →
너무 느슨하거나 너무 엄격한 기준 둘 다 문제
이상값이 포함이 증가될수록 과소적합에 문제가 발생할 수 있다.
- 의미 →
이상값을 너무 많이 허용하면 과소적합 발생 - 왜 →
이상값을 과도하게 허용하면 모델이 데이터의 세부 구조를 무시하게 되고, 단순한 경계만 유지하려 하기 때문에 중요한 패턴까지 놓치게 된다. 이는 모델이 충분히 학습되지 않은 상태인 과소적합으로 이어지며, 결과적으로 학습 데이터와 테스트 데이터 모두에서 성능이 낮아지는 문제가 발생한다. - 용어뜻 →
과소적합(Underfitting) - 수식 →
C가 매우 작을 때 발생 - 예시 →
모든 학생을 대충 같은 기준으로 평가하는 경우
| 개념 | 역할 |
| SVM | 전체 알고리즘 |
| 결정경계 | 데이터를 나누는 선 |
| 마진 | 경계와 데이터 거리 |
| 서포트벡터 | 경계를 결정하는 핵심 데이터 |
| 하드마진 | 이론적 방식 (오류 0) |
| 소프트마진 | 현실적 방식 (오류 허용) |
| C | 오류 vs 마진 조절 |
| 구분 | 목표 | 결과 |
| 하드마진 | 마진 최대화 | 데이터 때문에 좁아질 수 있음 |
| 소프트마진 | 마진 최대화 | 더 넓게 가능 |
커널 기법
서포터벡터머신은 커널 기법을 이용하여 비선형 분류를 가능하게 한다.
- 의미 →
SVM은 커널 기법을 사용하여 직선으로 나눌 수 없는 데이터도 분류할 수 있다. - 왜 →
현실 데이터는 대부분 직선(선형)으로 깔끔하게 나뉘지 않기 때문에 단순한 선형 분류기로는 정확한 분리가 어렵다. 이를 해결하기 위해 데이터를 다른 공간으로 변환하면 기존에는 직선으로 나눌 수 없던 구조도 선형적으로 분리 가능해지며, 이때 커널 기법을 사용하면 복잡한 변환을 효율적으로 수행할 수 있다. - 용어뜻 →
커널(Kernel): 데이터 변환을 도와주는 함수
비선형(Non-linear): 직선으로 나눌 수 없는 형태 - 수식 →

- 예시 →
원형 데이터(안쪽/바깥쪽)를 직선으로는 못 나누지만, 고차원에서는 가능
커널 기법은 저차원의 데이터를 고차원의 데이터로 옮겨주는 사상 함수가 계산량이 많아 현실적으로 구현하기 어렵기에 고안되었다.
- 의미 →
고차원 변환은 계산이 너무 많아서, 이를 효율적으로 하기 위해 커널이 만들어졌다. - 왜 →
데이터를 직접 고차원으로 변환하면 차원이 폭발적으로 증가하여 연산량이 매우 커지고 메모리 사용량도 급격히 증가하게 된다. 이러한 문제는 실제 시스템에서 처리하기 어렵기 때문에, 동일한 효과를 내면서도 계산량을 줄일 수 있는 방법이 필요했고, 그 해결책으로 커널 기법이 고안되었다. - 용어뜻 →
사상함수(φ): 데이터를 고차원으로 변환하는 함수
저차원/고차원: 데이터의 특징 개수 - 수식 →

- 예시 →
2차원 데이터를 100차원으로 올리면 계산 폭발
예를 들어, 회색과 녹색 데이터가 있다고 가정했을 때, 입력공간에서는 회색 점과 녹색 점을 분리하는 직선인 결정공간을 찾기가 어렵다.
- 의미 →
원래 공간에서는 두 그룹을 직선으로 나누기 어렵다. - 왜 →
데이터가 원형, 곡선, 겹침 구조처럼 복잡한 형태를 가지면 단순한 직선 하나로 두 클래스를 구분하는 것이 불가능해진다. 이러한 경우 선형 모델은 분류 경계를 제대로 찾지 못하고 오분류가 발생하게 되며, 이는 모델 성능 저하로 이어진다. - 용어뜻 →
입력공간(Input Space): 원래 데이터 공간
결정공간: 데이터를 나누는 경계 공간 - 수식 →

- 예시 →
도넛 모양 데이터 (안/밖 구분 어려움)
따라서 커널 기법을 사용하면 저차원의 데이터를 고차원으로 변환하여 저차원 데이터의 비선형 분류가 가능하게 된다.
- 의미 →
고차원으로 변환하면 비선형 문제를 선형처럼 풀 수 있다. - 왜 →
고차원 공간에서는 데이터가 더 많은 축으로 펼쳐지기 때문에 기존에 겹쳐 있던 데이터가 분리 가능한 구조로 바뀌게 된다. 즉, 원래 공간에서는 비선형 문제였지만, 변환된 공간에서는 선형 경계로 나눌 수 있게 되어 SVM이 효과적으로 작동할 수 있다. - 용어뜻 →
고차원 변환: 특징을 늘려 데이터 구조를 바꾸는 것 - 수식 →

- 예시 →
원형 데이터 → 3차원으로 올리면 평면으로 분리 가능
이를 커널트릭이라고도 한다.
- 의미 →
이 과정을 커널트릭이라고 부른다. - 왜 →
실제로 데이터를 고차원으로 변환하지 않고도 마치 변환한 것처럼 계산할 수 있기 때문에 계산 효율성과 성능을 동시에 얻는 “트릭(속임수)” 같은 방법이라는 의미에서 커널트릭이라는 이름이 붙었다. - 용어뜻 →
커널트릭(Kernel Trick): 고차원 계산을 저차원에서 대신하는 기법 - 예시 →
직접 변환 없이 결과만 얻는 방식
커널트릭은 커널 기법의 한 종류로 벡터의 내적을 계산할 경우 연산량이 많은 사상 함수를 사용하지 않고 커널 함수를 정의하여 저차원의 데이터로 직접 계산할 수 있게 해주는 방법이다.
- 의미 →
고차원 변환 없이도 내적을 계산할 수 있게 해준다. - 왜 →
고차원 공간에서의 내적을 직접 계산하려면 매우 많은 연산이 필요하지만, 커널 함수를 사용하면 저차원 공간에서 두 데이터의 관계를 계산하는 것만으로 동일한 결과를 얻을 수 있다. 이는 계산 효율을 크게 향상시키고, 고차원 데이터를 직접 다루지 않아도 되는 장점을 제공한다. - 용어뜻 →
내적(Inner Product): 두 벡터의 유사도 계산
커널 함수(Kernel Function): 내적을 대신 계산하는 함수 - 예시 →
고차원 계산 대신 간단한 함수 계산으로 해결
커널 종류
서포트벡터머신과 함께 사용되는 커널의 종류는 다음과 같다.
- 왜 →
SVM은 기본적으로 선형 분류기이지만, 현실 데이터는 비선형 구조가 많기 때문에 이를 해결하기 위해 다양한 커널 함수를 사용한다. 각각의 커널은 데이터를 다른 방식으로 변환하여 분류 성능에 영향을 주므로, 상황에 맞는 커널을 선택하는 것이 매우 중요하다. - 용어뜻 →
커널(Kernel): 데이터 변환 함수

- 예시 →
선형 / 다항 / RBF / 시그모이드 커널
1.선형 커널 (Linear Kernel)
- 의미 →
가장 기본적인 커널로, 데이터를 변환하지 않고 그대로 사용하는 방식이다. - 왜 →
데이터가 이미 선형적으로 잘 분리되는 경우에는 굳이 고차원 변환을 할 필요가 없으며, 오히려 계산만 증가시키게 된다. 따라서 단순한 문제에서는 선형 커널이 가장 빠르고 효율적인 선택이 된다. - 용어뜻 →
선형(Linear): 직선으로 분리 가능한 상태 - 수식 →

- 예시 →
직선 하나로 나뉘는 데이터
x₁, x₂ : 데이터포인트(입력벡터)
- 의미 →
x₁, x₂는 각각 데이터 샘플을 의미한다. - 왜 →
커널 함수는 두 데이터 간의 관계(유사도)를 계산하는 함수이기 때문에 입력값으로 두 개의 벡터가 필요하다. 이 벡터는 각각 하나의 데이터 포인트를 의미하며, 이들 간의 내적 또는 거리 등을 계산하여 학습에 사용된다. - 수식 →

- 예시 →
(키, 몸무게) 같은 특징 벡터
2. 다항식 커널 (Polynomial Kernel)
- 의미 →
데이터를 다항식 형태로 확장하여 분류하는 커널이다. - 왜 →
선형으로 분리되지 않는 데이터도 다항식 형태로 변환하면 더 복잡한 경계를 만들 수 있어 분류가 가능해진다. 특히 데이터 간 상호작용(곱 관계)을 고려할 수 있기 때문에 더 유연한 모델을 만들 수 있다. - 용어뜻 →
다항식(Polynomial): x², x³ 같은 형태 - 수식 →

- 예시 →
곡선 형태로 데이터 분리
3. 가우시안 커널 (Gaussian Kernel) = RBF (Radial Basis Function)
- 의미 →
데이터 간 거리를 기반으로 유사도를 계산하는 커널이다. - 왜 →
데이터가 매우 복잡하게 분포되어 있을 경우, 특정 중심을 기준으로 거리 기반으로 판단하는 것이 더 효과적이다. RBF 커널은 무한 차원으로 데이터를 확장하는 효과를 가지며, 매우 유연한 결정경계를 만들 수 있어 실제로 가장 많이 사용된다. - 용어뜻 →
RBF: 방사형 기반 함수
유클리드 거리: 두 점 사이 거리 - 수식 →

- 예시 →
원형 / 복잡한 데이터 분리
||x₁ - x₂|| : 유클리드거리
- 의미 →
두 데이터 간의 실제 거리이다. - 왜 →
RBF 커널은 데이터 간 거리를 기반으로 유사도를 계산하기 때문에, 거리가 가까우면 비슷하고 멀면 다르다고 판단한다. 이 거리 개념이 핵심이기 때문에 반드시 정의가 필요하다. - 수식 →

- 예시 →
두 점 사이 직선 거리
4. 시그모이드 커널 (Sigmoid Kernel)
- 의미 →
신경망의 활성화 함수와 유사한 형태의 커널이다. - 왜 →
비선형성을 부여하기 위해 하이퍼볼릭 탄젠트(tanh) 함수를 사용하며, 신경망과 유사한 특성을 가지기 때문에 특정 상황에서 사용된다. 하지만 안정성이 떨어져 실제로는 RBF보다 덜 사용된다. - 수식 →

- 예시 →
신경망과 유사한 분류
C(Cost) : 모델에 규제를 적용하는 값 (float)
- 의미 →
오류를 얼마나 허용할지 결정하는 값이다. - 왜 →
모델이 데이터를 얼마나 엄격하게 맞출지 결정하는 중요한 하이퍼파라미터로, 너무 크게 하면 과적합이 되고 너무 작으면 과소적합이 된다. 따라서 적절한 균형을 찾는 것이 중요하다. - 용어뜻 →
Cost: 비용 (오류 패널티) - 예시 →
엄격한 기준 vs 느슨한 기준
D(Degree) : 다항식의 차수
- 의미 →
다항식 커널에서 몇 차까지 확장할지 정하는 값이다. - 왜 →
차수가 높아질수록 모델이 더 복잡한 패턴을 학습할 수 있지만, 동시에 과적합 위험도 증가한다. 따라서 데이터 특성에 맞게 적절한 차수를 선택해야 한다. - 용어뜻 →
차수(Degree): 최고 지수 - 예시 →
2차 → 곡선, 3차 → 더 복잡한 곡선
θ(Theta) : coef 0은 모델이 높은 차수와 낮은 차수에 얼마나 영향을 받을 지에 대해 조절
- 의미 →
다항 커널에서 상수항 역할을 한다. - 왜 →
상수항은 데이터의 스케일과 모델의 복잡도에 영향을 주며, 고차항과 저차항의 균형을 조절하는 역할을 한다. 이를 통해 모델이 특정 차수에 과도하게 의존하는 것을 방지할 수 있다. - 용어뜻 →
coef0: 상수항 - 예시 →
기본값 이동 역할
γ(Gamma) : 가우시안 커널의 폭을 제어하는 매개변수. 모델이 생성하는 경계가 복잡해지는 정도
- 의미 →
데이터 영향 범위를 조절하는 값이다. - 왜 →
Gamma 값이 크면 한 점의 영향 범위가 작아져 경계가 복잡해지고, 작으면 영향 범위가 넓어져 부드러운 경계가 만들어진다. 따라서 모델 복잡도를 직접적으로 조절하는 핵심 파라미터이다. - 용어뜻 →
Gamma: 영향 범위 조절 - 예시 →
γ 크면 울퉁불퉁, 작으면 부드러움
C(Cost) : 오류허용 정도(기울기)
- 의미 →
오류를 얼마나 허용할지 - 왜 →
C 값은 모델의 성능을 결정하는 핵심 요소이기 때문에 별도로 강조하여 설명한다. 특히 마진과 오류 사이 균형을 조절하는 중요한 역할을 하기 때문에 반드시 이해해야 한다. - 용어뜻 →
Cost = 오류 패널티 - 예시 →
엄격 vs 느슨
높을 경우 → 마진 좁아짐. 오분류 적어짐. 과적합
- 의미 →
C가 크면 데이터에 딱 맞춘다. - 왜 →
오류를 크게 패널티 주기 때문에 모델이 데이터를 거의 완벽하게 맞추려고 하며, 이 과정에서 마진이 좁아지고 경계가 복잡해진다. 이는 새로운 데이터에 대한 일반화 성능을 떨어뜨릴 수 있다. - 용어뜻 →
과적합(Overfitting) - 수식 →
C ↑ - 예시 →
데이터 하나하나 맞추는 모델
낮을 경우 → 마진 넓어짐. 오분류 많아짐. 과소적합
- 의미 →
C가 작으면 느슨한 모델이 된다. - 왜 →
오류를 크게 신경 쓰지 않기 때문에 마진을 넓게 유지하려고 하며, 결과적으로 일부 데이터는 잘못 분류된다. 이는 모델이 충분히 학습되지 않은 상태로 이어질 수 있다. - 용어뜻 →
과소적합(Underfitting) - 수식 →
C ↓ - 예시 →
대충 나누는 모델
γ(Gamma) : 초평면과의 거리(Margin)
- 의미 →
Gamma는 경계 복잡도와 관련 있다. - 왜 →
Gamma는 개별 데이터의 영향 범위를 결정하기 때문에, 결과적으로 경계가 얼마나 세밀하게 데이터에 맞춰질지 결정한다. 따라서 마진과 간접적으로 연결된다. - 용어뜻 →
Gamma - 수식 →
동일 - 예시 →
경계 형태 조절
높을 경우 → 데이터에 영향 크게 받음. 과적합
- 의미 →
Gamma가 크면 복잡한 경계 생성 - 왜 →
각 데이터가 좁은 영역에 강하게 영향을 미치기 때문에 경계가 매우 세밀하게 변형되며, 이는 데이터에 과하게 맞춰지는 과적합으로 이어진다. - 용어뜻 →
과적합 - 수식 →
γ ↑ - 예시 →
울퉁불퉁 경계
낮을 경우 → 데이터에 영향 적게 받음. 과소적합
- 의미 →
Gamma가 작으면 단순한 경계 - 왜 →
데이터 하나의 영향이 넓게 퍼지기 때문에 전체적으로 부드러운 경계가 만들어지고, 세부 패턴을 놓칠 가능성이 높아진다. - 용어뜻 →
과소적합 - 수식 →
γ ↓ - 예시 →
단순 직선 경계
둘의 값이 클수록 모형의 복잡도가 증가하며, 둘의 값이 작을수록 모형의 복잡도가 감소한다.
- 의미 →
C와 Gamma가 클수록 모델이 복잡해진다. - 왜 →
C는 오류를 줄이기 위해 경계를 복잡하게 만들고, Gamma는 데이터에 민감하게 반응하도록 만들어 경계를 더 세밀하게 만든다. 따라서 둘이 동시에 크면 모델이 매우 복잡해진다. - 용어뜻 →
모형 복잡도(Model Complexity) - 수식 →
C↑, γ↑ - 예시 →
복잡한 곡선
모형의 성능을 최적화/극대화하는 Cost와 Gamma의 최적값을 찾아낼 필요가 있다.
- 의미 →
C와 Gamma를 잘 튜닝해야 한다. - 왜 →
두 값이 모델 성능을 직접적으로 결정하기 때문에 적절한 값을 찾지 않으면 과적합 또는 과소적합 문제가 발생한다. 따라서 교차검증 등을 통해 최적의 조합을 찾는 것이 중요하다. - 예시 →
최적 모델 찾기