ML 4) Support Vector machine - 2

홍진우·2021년 8월 5일
0

Machine Learning

목록 보기
5/8

ML 4) Support Vector machine - 1

ML 포스팅은 한학기동안 머신러닝 스터디를 하며 공부한 내용을 바탕으로 하였으며,

O’Reilly Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition을 기반으로 하고 있습니다.

1편) What is Machine Learning?
2편) Linear Regression, Gradient Descent
3편) Regularization, Logistic Regression
4편) SVM-2
5편) Decision Tree
6편) Ensemble
7편) Dimension Reduction

2. 비선형 SVM 분류

선형적으로 분류할 수 없는 데이터셋

SVM에서는 커널트릭을 활용하여 실제로는 특성을 추가하지 않으면서 다항식 특성을 많이 추가한 것과 같은 결과 도출 가능

모델이 과대적합이라면 다항식의 차수를 줄이고, 과소적합이라면 차수를 늘려야 함
매개변수 coef는 모델이 높은 차수와 낮은 차수에 얼마나 영향을 받을지 조절

from sklearn.svm import SVC
poly_kernel_svm_clf = Pipeline([
		("scaler", StandardScaler()),
        ("svm_clf, SVC(kernel="poly, degree = 3, coef0 = 1, C=5))
    ])
poly_kernel_svm_clf.fix(X,y)


각 샘플이 특정 랜드마크와 얼마나 닮았느지 측정하는 유사도함수로 게산한 특성을 추가하여 비선형 특성을 다룰 수 있음.

유사도 함수로는 가우시안 방사 기저 함수(RBF, radial basis function)을 유사도 함수로 정의


0 : 랜드마크에서 아주 멀리 떨어진 경우
~ 1 : 랜드마크와 같은 위치인 경우
까지 변화하며 종 모양으로 나타남.

X1을 첫번째, 두번째 랜드마크와의 거리를 이용해 x2, x3의 특성을 만들고 이를 바탕으로 선형 분류

방식 : 데이터셋에 있는 모든 샘플위치에 랜드마크를 설정하여 선형 구분
Training dataset이 큰 경우, 특성이 많은 경우 비효율적

가우시안 RBF 커널

Gamma를 증가시키면 종 모양 그래프가 좁아져서 각 샘플의 영향 범위가 좁아지고, 결정 결계가 각 샘플을 따라 불규칙, 구불구불하게 생성

작은 gamma값은 넓은 종모양 그래프를 만들어 샘플이 넓은 범위에 걸쳐 영향을 주므로, 부드러운 결정 경계
즉 감마값 하이퍼 파라미터가 규제의 역할을 수행함
과대적합일 경우 감소시키고, 과소 적합일 경우 증가시켜야 함(하이퍼파라미터 C와 비슷)

분류별 시간복잡도 비교SVC 파이썬 라이브러리는 커널 트릭 알고리즘을 구현한 svm 라이브러리를 기반으로 하기 때문에
높은 시간 복잡도 즉, 훈련 샘플수가 커지면 느려지지만, 복잡하거나 작은 중간 규모의 훈련 세트에 적잘하게 사용 가능
희소 특성인 경우에 확장 가능

SVM 회귀

SVM은 선형, 비선형 분류 뿐만 아니라, 선형, 비선형 회귀에도 사용 가능
회귀에 SVM을 적용하는 메커니즘 : 일정한 마진 오류 안에서 두 클래스 간의 도록폭이 가능한 최대가 되게 하는 동시에, 도로 안에 가능한 많은 샘플이 들어가도록 학습

마진이 1.5(큰) 경우와, 마진이 작은 경우(0.5)

from sklearn.svm import LinearSVR

svm_reg = LinearSVR(epsilon=1.5)
svm_reg.fit(X,y)

비선형 SVM 회귀

커널 SVM을 사용한 비선형 회귀. 오른쪽의 그래프가 규제가 훨씬 더 많은 경우(작은 C 하이퍼파라미터)

from sklearn.svm import LinearSVR

svm_poly_reg = SVR(kernel='poly', degree=2, C=100, epsilon=0.1)
svm_poly_reg.fit(X,y)
profile
Yonsei Univ. Sports Industry studies/ Computer Science / Applied Statistics

0개의 댓글