alpha
, beta
및 gamma
내 SVM 분류기 값을 확인하고 SVM 분류자를 교육하고 알파 및 지원 벡터를 결정했습니다. 그래서 기본적으로 뭘기호 변수를 추가 한 후 매우 긴 숫자입니까?
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
입니다 : 유사 아래에있는 내 알파에서 불과 열 행된다
0.0904235536887480 -0.269325475875919 -0.678528701392414
-0.321039098061280 -0.507618180664821 -1.42365662798284
-0.0737761304021185 -0.269641311369441 -0.647521877863172
0.00105779420640393 -0.311226557946309 -0.667506146498475
0.0913098589312967 -0.289462325547514 -0.391261050348894
0.00622693949845773 -0.166248587146820 -0.149546793127464
-0.292302915842567 -0.564676268888150 -1.60153093563523
0.112997393643248 -0.310512134534035 -0.725281274142312
-0.135361511770186 -0.456321702624641 -1.26973221898260
-0.173160731078767 -0.434439033384469 -1.22687774941370
및 내 지원 벡터에서 불과 열 행이 아래에있는 내 지원 벡터, 행당 3 개 변수를 계수를 결정하는 것 :
c = (-1)*[0.0904*x1 + (-0.2693)*x2 + (-0.6785)*x3] + (-1)*[(-0.321)*x1 + (-0.5076)*x2 + (-1.4236)*x3].....
등등 내 alpha
의 크기까지.
(107845064549358722206080751595348329973204613074833920445585562521882937008164658045489239834546021458299139*x1)/50534761550197893278639420198779799540396107395587434771118149413836407509953624874438129483687080755200 + (95720990302914087945142311872326568914380675701489099929103269189530321664249312169660240242394455632803627*x2)/134178504805697854567421908803656709124500009291732154392279224305703564767807900528680550698065697177600 + (90626366614084720573448362168042659133754200934323766866906741825007634289583081638045482944881264585156183*x3)/125521827076297992982426946945356276277758073208394596044390242092432367040852552107475353878835652198400
이 예상 된 출력 :
은 그래서 matlab에syms x1, syms x2, syms x3;
alpha = SVMStruct.Alpha;
svm_vec = SVMStruct.SupportVectors;
for i = 1:size(alpha,1)
c(i) = alpha(i)*(svm_vec(i,1)*x1 + svm_vec(i,2)*x2 + svm_vec(i,3)*x3);
end
sum_it = sum(c);
에서 다음 그러나 이것은 매우 이상한 출력을 생성 코딩? 왜 그것을 분수로 사용합니까?
출력을 보면 내 방정식을 올바르게 구현 했습니까?
감사를 수행 할
\
연산자를 사용할 수 있습니다. 나는''\'이 무엇을 성취했는지 모르겠다. 나는 그것을 읽었으며 그 목적을 정확히 이해하지 못했다. 그런 말은, 내 구현이 맞습니까? 그렇다면이 수를 "x1"로 수동으로 나눠서 계수를 구할 수 있습니다. 맞습니까? – StuckInPhD@StuckInPhD : ['vpa'] (https://www.mathworks.com/help/symbolic/vpa.html)를 사용하십시오. 하지만이 응용 프로그램에서 왜 기호 또는 가변 정밀도 수학이 필요한지 잘 모릅니다. – horchler
@ StuckInPhD'x1','x2','x3'을 해결하려고하지 않습니까? – Suever