[ML] Summary SVM

2022. 5. 30. 16:06·Programming/ML
728x90
728x90

https://ko.wikipedia.org/wiki/%EC%84%9C%ED%8F%AC%ED%8A%B8_%EB%B2%A1%ED%84%B0_%EB%A8%B8%EC%8B%A0

Summary

Support vector machine 은 classifier 의 한 유형 : (regression도 가능함).

  • Support vector 만을 사용하여
    분류의 기준인 hyperplane 이 계산되어지기 때문에
    Support vector machine이라는 이름이 유래됨.
  • Machine 은 vector 형태의 입력을 통해 decision (클래스의 분류)을 하는 의사결정머신 이라는 점에 착안.

Support vector 를 이용하여 generalization error 를 최소화하는 classifier 를 만들 수 있음.

  • 가장 우수한 supervised learning algorithm 중 하나로 꼽힘.
  • 단, (Kernel)SVM 의 성능은 hyper-parameter ($C$, $\gamma$) 및 kernel 에 매우 민감한 영향을 받음.
  • 또한 입력의 scale 에도 매우 민감함.

Kernel SVM의 장단점과 매개변수

장점

  • Kernel SVM은 매우 강력한 모델 : 다양한 데이터셋에서 잘 작동
  • (Kernel) SVM은 데이터의 특성이 몇 개 안 되더라도 복잡한 decision boundary를 만들 수 있음.
  • 저차원과 고차원의 데이터(= feature (or # of columns)가 적을 때와 많을 때)에 모두 잘 작동

2024.09.28 - [Programming/ML] - [ML] Kernel Function 이란: Kernel Trick 포함

 

[ML] Kernel Function 이란: Kernel Trick 포함

Kernel Function이란: 고차원으로의 매핑을 명시적으로 하지 않고도, 그 공간에서의 내적 값(innder product)을 직접 계산할 수 있게 해주는 함수 Kernel Function은머신러닝, 특히 SVM(Support Vector Machine) 과 같

dsaint31.tistory.com


단점

  • training dataset의 case가 많을 때 (=sample_size가 큰 경우)는 효과적이지 못한 편.
    • 10,000개의 샘플 정도면 SVM 모델이 잘 작동
    • 100,000개 이상의 데이터셋에서는 속도와 메모리 관점에서 적용이 어려움.
    • case가 늘어날 수록 강력한 성능 향상을 보이는 deep ann계열이 최근 SVM보다 많이 사용되는 이유 중 하나임.
  • 데이터 전처리(preprocessing)와 hyper-parameter 설정이 매우 중요함.
    • SVM은 모든 feature(특성)이 비슷한 scale인 경우 잘 동작(feature scaling이 매우 중요)
      • 모든 특성이 비슷한 단위이고(예를 들면 모든 값이 픽셀의 컬러 강도) 스케일이 비슷하면 SVM은 잘 동작함.
      • random forrest 등의 트리 기반 모델들은 feature scale에 매우 강건하여
        feature scaling 등의 데이터 전처리가 필요하지 않는 것과 비교됨.
      • 더욱이 deep learning에 사용되는 deep ANN도 상대적으로 feature scale에 둔감함.
    • 성능에 영향을 주는 hyper-parameter설정이 매우 중요하고 어려운 편임. 
      • 커널 SVM에서 중요한 hyper-parameter는 regularization 과 관련된 $C$의 크기 선택, 어떤 커널을 사용할지, 각 커널에 따른 매개변수 등이 있음: 조합이 매우 다양하고, 각각이 성능에 미치는 영향이 매우 큼.
      • RBF kernel의 경우 $\gamma$와 $C$ 모두 모델의 복잡도를 조정하며 둘 다 큰 값이 더 복잡한 모델을 만들어냄.
      • 높은 성능을 위해선, $C$와 $\gamma$를 함께 조정해야 함: 쉽지 않음.
  • SVM 모델은 분석하기 까다로운 편.
    • 예측이 어떻게 결정되었는지 이해하기 어렵고 비전문가에게 모델을 설명하기가 난해한 편임.
    • 수학적으로 generalization error가 줄어드는 이유가 명확하고, kernel trick을 통한 non-linear 적용이 효과적이나, 개별 학습된 최종 모델을 해석하고 설명하는 것은 다른 문제임.

 

RBF를 kernel 로 하는 sklearn.svm.SVC 에서의 hyperparameters, $\gamma$와 $C$에 따른 차이를 보여주는 그림: 하이퍼파라미터에 따른 SVM의 변화를 보여줌.


참고자료

  • 헤이스티, 팁시라니, 프리드먼의 『The Elements of Statistical Learning』12장
    • https://web.stanford.edu/~hastie/Papers/ESLII.pdf

2024.09.26 - [Programming/ML] - [ML] Radial Basis Function Kernel (RBF Kernel)

 

[ML] Radial Basis Function Kernel (RBF Kernel)

RBF KernelRBF 커널 또는 Gaussian 커널이라고도 불리는 함수머신 러닝에서 Kernel Function으로 널리 사용되는 함수서포트 벡터 머신(SVM), 커널 PCA 등의 알고리즘에서 사용.similarity 계산 및 고차원 feature sp

dsaint31.tistory.com

 

728x90

'Programming > ML' 카테고리의 다른 글

[ML] RANdom SAmple Consensus (RANSAC)  (0) 2024.06.13
[ML] Feature Scaling  (0) 2024.05.04
[Statistics] coefficient of determination (결정계수 ~ R squared)  (0) 2024.05.01
[ML] Underfit  (0) 2023.09.21
[Fitting] Ordinary Least Squares : OLS, 최소자승법  (0) 2022.04.28
'Programming/ML' 카테고리의 다른 글
  • [ML] Feature Scaling
  • [Statistics] coefficient of determination (결정계수 ~ R squared)
  • [ML] Underfit
  • [Fitting] Ordinary Least Squares : OLS, 최소자승법
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Private Life (15)
      • Programming (206)
        • DIP (116)
        • ML (35)
      • Computer (17)
        • CE (54)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    Optimization
    인허가제도
    Term
    Python
    SIGNAL
    math
    signal_and_system
    Probability
    fourier transform
    cv2
    ML
    signals_and_systems
    Vector
    linear algebra
    numpy
    function
    random
    opencv
    Programming
    SS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[ML] Summary SVM
상단으로

티스토리툴바