이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
predict
서포트 벡터 머신(SVM) 분류기를 사용하여 관측값 분류
설명
예제
입력 인수
출력 인수
세부 정보
팁
분류를 위해 선형 SVM 모델을 사용하고 있고 모델에 다수의 지원 벡터가 있다면
predict
를 예측 방법으로 사용하는 경우 속도가 느릴 수 있습니다. 선형 SVM 모델을 기반으로 관측값을 효율적으로 분류하려면discardSupportVectors
를 사용하여 모델 객체에서 서포트 벡터를 제거하십시오.
알고리즘
기본적으로, 모델 커널 함수와 관계없이, MATLAB®은 점수 함수의 쌍대 표현을 사용하여 훈련된 SVM 모델을 기반으로 관측값을 분류합니다. 구체적으로는 다음과 같습니다.
이 예측 방법을 사용하려면 훈련된 서포트 벡터와 α 계수가 필요합니다(SVM 모델의
SupportVectors
속성과Alpha
속성 참조).기본적으로는 다음과 같은 플랫(Platt) 방법[1]을 사용하여 최적의 사후 확률을 계산합니다.
10겹 교차 검증을 수행합니다.
교차 검증에서 반환된 점수에 시그모이드 함수 모수를 피팅합니다.
교차 검증 점수를 피팅된 시그모이드 함수에 입력하여 사후 확률을 추정합니다.
훈련 중에 SVM 목적 함수에 사후 확률을 통합합니다.
SVM의 경우,
predict
와resubPredict
가 가장 높은 점수(가장 큰 사후 확률)를 산출하는 클래스로 관측값을 분류합니다. 분류기를 훈련시키기 전에 평균 비용 조정을 적용하여 오분류 비용을 보완합니다. 즉, 클래스 사전 벡터 P, 오분류 비용 행렬 C, 관측값 가중 벡터 w가 주어지면 관측값 가중치로 구성된 새 벡터(W)를 다음처럼 정의합니다.
대체 기능
Simulink 블록
SVM 분류 모델의 예측을 Simulink®에 통합하려면 Statistics and Machine Learning Toolbox™ 라이브러리의 ClassificationSVM Predict 블록을 사용하거나 MATLAB Function 블록에 predict
함수를 사용할 수 있습니다. 예제는 Predict Class Labels Using ClassificationSVM Predict Block 및 Predict Class Labels Using MATLAB Function Block 항목을 참조하십시오.
어떤 접근법을 사용할지 결정할 때는 다음을 고려하십시오.
Statistics and Machine Learning Toolbox 라이브러리 블록을 사용하는 경우, 고정소수점 툴 (Fixed-Point Designer)을 사용하여 부동소수점 모델을 고정소수점 모델로 변환할 수 있습니다.
MATLAB Function 블록에
predict
함수를 사용하려면 이 블록에 대해 가변 크기 배열 지원이 활성화되어 있어야 합니다.MATLAB Function 블록을 사용하는 경우, 이 MATLAB Function 블록에서 예측 전이나 후에 전처리 또는 후처리를 위해 MATLAB 함수를 사용할 수 있습니다.
참고 문헌
[1] Platt, J. “Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods.” Advances in Large Margin Classifiers. MIT Press, 1999, pages 61–74.
확장 기능
버전 내역
R2014a에 개발됨