반응형
토론장에 올라온 질문이다... 공부할겸 정리해보았다!
Why do we prefer a larger margin in hard-classification SVM? (Among other reasons, think about the correctness and certainty of data.) What about in a soft-classification setting: what's the benefit of a bigger margin (possibly with more error in classifying your known data) vs. a smaller margin (possibly with less error in classifying your known data), and what's the benefit in the opposite direction (smaller margin)?
1. 왜 hard-classification SVM에서 더 큰 마진을 선호하는가?
더 큰 마진을 선호하는 이유는 결정의 확실성이 높아지기 때문이다.
- 새로운 데이터에 대한 견고성: 큰 마진은 분류기가 입력 데이터의 작은 변화에 덜 민감하게 만들어 overfitting을 줄여준다!
- 명확한 분리: 큰 마진을 서로 다른 클래스의 가장 가까운 점(서포트 백터) 사이의 거리를 최대화하여 더 신뢰할 수 있는 분류 경계를 제공한다.
1-1 큰 마진이 결정의 확실성이 높아진다고? 이해가 잘안가는데?
직관적으로는 마진이 작을 때 결정 경계가 더 타이트하게 데이터에 맞춰져서 확실성이 더 높다고 느껴질 수 있다
하지만!
- 더 큰 마진은 더 일반화된 모델을 만든다.
- 마진이 크면, 새로운 데이터 포인트가 들어왔을 때 기존의 결정 경계에서 멀리 떨어져 있어도 올바르게 분류될 가능성이 높아진다.
- 마진이 작으면, 결정 경계가 데이터에 너무 민감하게 반응하게 되어, 작은 변화(노이즈나 outlier)에 의해 잘못된 분류를 할 가능성이 커진다.
- 📌 비유를 들어보자:
- 큰 마진 = 넓은 길: 자동차(데이터)가 조금 흔들려도 도로를 벗어나지 않음.
- 작은 마진 = 좁은 길: 자동차가 약간만 흔들려도 도로를 벗어나 잘못된 분류로 연결됨.
- 결정 경계가 명확하다
- 큰 마진은 클래스 간의 "최소한의 거리"를 최대화 한다. 즐, 서로 다른 클래스의 데이터 사이에 안전한 공간이 생기게 되어, 이 공간 내에서 새로운 데이터 포인트가 들어와도 잘못 분류될 가능성이 낮아진다.
- 작은 마진은 클래스 간 경계가 너무 가까워서 데이터가 경계를 살짝만 넘어도 오분류될 위험이 높아진다.
- 큰 마진은 클래스 간의 "최소한의 거리"를 최대화 한다. 즐, 서로 다른 클래스의 데이터 사이에 안전한 공간이 생기게 되어, 이 공간 내에서 새로운 데이터 포인트가 들어와도 잘못 분류될 가능성이 낮아진다.
2. soft-classification SVM 에서는 큰마진, 작은 마진의 이점?
- 큰 마진(알려진 데이터에 더 많은 오류 포함)
- 일반화 성능 향상: 학습 데이터에 일부 오류를 허용함으로써 모델이 overfitting을 피하고 보지 못한 데이터에 대해 더 잘 작동할 수 있다.
- 노이즈 데이터 처리: 데이터셋에 잘못된 레이블이나 노이즈가 포함되어 있을 경우, 큰 마진은 전체 구조에 더 집중하게 하여 outlier에 영향을 덜 받게 만든다.
- 작은 마진(알려진 데이터에 더 적은 오류 포함)
- 학습 데이터 정확도 향상: 작은 마진은 학습 데이터를 모두 정확히 분류하는 것을 우선시하여, 신뢰할 수 있는 학습 데이터에서 유리할 수 있다.
- 세부사항 민감도 증가: 작은 마진은 데이터의 미세한 차이를 더 잘 포착할 수 있지만, 데이터가 노이즈가 많다면 과적합의 위험이 높아진다.
그러하다! 토론 주제가 몇개 더 올라와서 공부할겸 다뤄봐야겠다.... ㅠㅠ 공부할꺼 왜이렇게 많아? 나슬퍼
** 그냥 하루하루 개인 공부한 것을 끄적 거리는 공간입니다.
이곳 저곳에서 구글링한 것과 강의 들은 내용이 정리가 되었습니다.
그림들은 그림밑에 출처표시를 해놓았습니다.
문제가 될시 말씀해주시면 해당 부분은 삭제 하도록하겠습니다. **
반응형
'public void static main > AI' 카테고리의 다른 글
[Discussion] KNN(K-Nearest Neighbors)알고리즘에서 스케일링(Scaling)이 중요한 이유 (0) | 2025.01.14 |
---|---|
[Discussion] SVM(Support Verctor Machine)과 KNN(K-Nearest Neighbors) (1) | 2025.01.14 |
[DataModeling] 회귀분석(Regression Analysis) (0) | 2025.01.14 |
[Discussion] Scaling이 적합한 상황과 Standardization이 적합한 상황 (2) | 2025.01.13 |
[DataModeling] Week01-데이터 모델링 기본 용어 및 개념 (0) | 2025.01.10 |
댓글