
Sinopsis
Contents
Kali ini kalian akan belajar mengenai Machine Learning dengan metode Support Vector Machine. Kalian akan pelajari secara mudah sekali mengenai vector machine secara langkah demi langkah. Pembahasan ini didasari atas pertanyaan masuk ke email mengenai link berikut http://www.softscients.web.id/2018/01/classification-with-support-vector.html#more
Bagaimana cara mudah memahami Support Vector Machine?
Yup, sebelum membahas mengenai SVM, ada baiknya kamu baca link berikut http://www.softscients.web.id/2019/05/matlab-simple-quadratic-programing.html. Kita akan kembali ke pelajaran SMA mengenai persamaan garis lurus dengan model matematika seperti berikut
Dengan m disebut dengan gradient, persamaan berikut
Kamu harus paham mengenai teori aljabar linear yang merupakan dasar-dasar pelajaran matematika. Bila digambarkan dalam koordinat kartesius
ref: http://www.wikipedia/linear_programming
Model Umum SVM
Kembali ke SVM yang secara umum persamaan/model SVM sederhana yaitu
Merupakan bidang/hyperplane yang bersifat linear. Operator adalah dot product. Bila w=(w0,w1 ) dan x=(x,y), maka persamaan diatas, diubah menjadi
maka
Jika a dan c di definisikan sebagai berikut
dan
Maka
Misalkan sebuah data ditampilkan sebagai berikut
Jika suatu hyperplane mempunyai nilai w=(0.4,1.0) dan b= -9. Sehingga didapatkan w0=0.4 dan w1=1.0 yang akan kita masukan kedalam persamaan SVM berikut
Maka
Sehingga
Atau
Sehingga
Bila di overlay dengan gambar diatas, akan menghasilkan
Sehingga persamaan SVM umum yaitu untuk mencari nilai w dan b. Kita akan kembali membahas mengenai link berikut http://www.softscients.web.id/2019/05/matlab-simple-quadratic-programing.html. Merupakan Quadratic Programming untuk menyelesaikan persamaan dari model matematika
Mending anda pelajari link diatas, bagaimana mengubah persamaan berikut
Agar memenuhi QP (Quadratic Programming), saya akan berikan contoh menggunakan Matlab sesuai dengan contoh data sebelumnya, kamu belajar sendiri saja cara mengubah ke QP.
dataset = [ 1,3;2,5;2,7;4,4;4,6;7,5;8,3 4,8;4,10;,7,10;8,7;9,6;,9,7;10,10 ]; target = [-1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1]; %mengubah persamaan menjadi QP n = size(dataset,2); %jumlah fitur ell = size(dataset,1); %jumlah data H = diag([ones(1,n) 0]); f = zeros(1,n+1); A = -diag(target)*[ dataset ones(ell,1)]; c = -ones(ell,1); z = quadprog(H,f,A,c); w = z(1:n) b = z(n+1)
hasil
w = 0.4444 1.1111 b = -9.6667
Hasilnya sama, hanya sedikit perbedaan saja, Sedangkan untuk prediksi, menggunakan rumus
Kode:
prediksi = sign(dataset*w+b*ones(ell,1))
hasil
-1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1
Perhatikan bahwa variabel target dan prediksi akan menghasilkan nilai yang sama. Baca link berikut tentang penerapan kernel, pada kasus non linear. http://www.softscients.web.id/2019/05/kernel-function-to-machine-learning.html. Jangan lupa kalau mau beli buku terbitan penulis ya, biar makin semangat menulis postingan di blog ini.
Support Vector Machine dengan Matlab
Untuk SVM dengan Matlab, kalian bisa menggunakan function fitsvm
clc;clear all;close all; %SVM dengan Matlab X = [ 1,3;2,5;2,7;4,4;4,6;7,5;8,3 4,8;4,10;,7,10;8,7;9,6;,9,7;10,10 ]; y = [-1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1]; model = fitcsvm(X,y,'KernelFunction','linear','ClassNames',[-1,1]);
Untuk mendapatkan nilai dan
yaitu
%bobot dan bias w = model.Beta b = model.Bias
hasil
w = 0.4443 1.1108 b = -9.6637
Nilainya hampir sama kan antara menggunakan Quadratic Programming dengan SVM bawaan Matlab untuk nilai dan
, untuk melakukan prediksi bisa dengan menggunakan persamaan SVM seperti
ataupun menggunakan function
%menggunakan persamaan umum SVM rumussvm = @(x) sign(dot(w,x)+b); %contoh dataset yang akan digunakan no_dataset = 10 data_sample = X(no_dataset,:) prediksi_svm_umum = rumussvm(data_sample) prediksi_svm_matlab = predict(model,data_sample)
Hasil
no_dataset = 10 data_sample = 7 10 prediksi_svm_umum = 1 prediksi_svm_matlab = 1
Support Vector Machine non Linear Dataset
Perhatikan dataset_xy berikut yang tercluster ditengah dan dibagian pinggir,
X Y Kelas __________ __________ _____ -0.29911 0.57233 -1 -0.83648 -0.1436 -1 0.0080639 -0.0070249 -1 -0.34317 0.42961 -1 0.32155 -0.20824 -1 -0.21707 -0.21265 -1 0.42945 0.042832 -1 0.53101 -0.25217 -1 -0.22858 -0.58696 -1 0.73394 -0.012347 -1 0.30354 0.57189 -1 0.53904 0.62822 -1 0.41222 -0.18582 -1 -0.30733 -0.88525 -1 0.15146 0.066678 -1 0.028101 -0.81834 -1 0.015731 -0.6458 -1 0.66172 -0.34758 -1 -0.089699 -0.36379 -1 0.31616 0.31328 -1 0.88787 0.11148 -1 0.97069 0.16132 -1 0.55101 0.099047 -1 0.019807 0.83182 -1 0.59686 -0.72122 -1 -0.91782 -0.22849 -1 -0.27571 -0.09502 -1 0.10801 -0.16549 -1 0.29291 0.28988 -1 -0.17087 0.92138 -1 -0.26917 -0.16092 -1 0.63712 -0.12322 -1 -0.90764 -0.36617 -1 0.72518 0.085356 -1 0.26018 -0.79005 -1 0.059975 0.5585 -1 0.29095 -0.77579 -1 -0.69603 0.59175 -1 0.088499 -0.10226 -1 -0.015663 -0.86597 -1 -0.93297 -0.34413 -1 0.56606 0.65402 -1 0.49248 0.19469 -1 0.64247 0.61361 -1 0.30878 0.088767 -1 0.52232 0.41842 -1 0.14492 0.94212 -1 -0.12488 -0.52728 -1 -0.49913 -0.19659 -1 0.35947 0.028418 -1 0.12518 0.060811 -1 0.80656 -0.16821 -1 -0.41856 -0.19089 -1 0.14907 0.49328 -1 -0.010245 0.70105 -1 -0.0089591 -0.23083 -1 0.25474 0.7136 -1 -0.33408 -0.1874 -1 0.75408 -0.14375 -1 0.47811 -0.68642 -1 0.020392 0.31925 -1 -0.64298 0.025183 -1 -0.60761 -0.57027 -1 0.30642 -0.56594 -1 0.12354 0.18626 -1 0.72707 0.085249 -1 0.73715 0.347 -1 -0.71492 0.061488 -1 -0.76295 -0.60208 -1 -0.69531 -0.32108 -1 -0.39038 0.8666 -1 0.36983 -0.026498 -1 -0.32732 -0.17927 -1 -0.65556 0.61452 -1 -0.59858 -0.19844 -1 -0.011919 -0.40646 -1 -0.46803 -0.8417 -1 -0.055201 0.58713 -1 0.79231 0.35078 -1 -0.5836 0.62081 -1 -0.64458 -0.68397 -1 0.19556 0.76513 -1 0.015003 -0.86644 -1 0.53981 0.23981 -1 -0.033649 0.51846 -1 0.31925 -0.89105 -1 0.22768 0.6134 -1 -0.62868 -0.75472 -1 -0.80475 -0.12575 -1 0.70211 -0.35881 -1 -0.028268 0.33756 -1 0.89192 0.39238 -1 -0.062847 -0.6678 -1 0.10563 -0.75315 -1 0.53466 -0.34969 -1 0.44305 -0.20182 -1 0.94681 0.083211 -1 0.074301 0.75376 -1 -0.039789 -0.035877 -1 0.74562 -0.24737 -1 0.74362 -1.8159 1 1.1551 -1.1557 1 -0.73048 -1.7925 1 -1.5497 -0.72324 1 0.78172 1.2486 1 -1.534 0.32391 1 -0.94421 1.3861 1 0.25419 1.6075 1 -1.6246 -1.0673 1 -0.73909 1.7916 1 1.2783 -0.74193 1 1.6628 -1.0606 1 -0.055157 1.2324 1 0.90061 0.75358 1 0.41579 1.1101 1 -1.5865 0.0041451 1 -0.13841 -1.0225 1 0.50909 1.8933 1 0.023053 1.8657 1 0.60954 -0.82068 1 -1.0675 0.62368 1 -1.0499 -0.94551 1 0.12091 1.174 1 1.4844 1.1068 1 -1.4192 -0.14187 1 -1.9344 0.27976 1 0.95139 1.3568 1 -1.3752 -1.3211 1 -1.8085 -0.51325 1 -1.0922 -1.5885 1 0.94895 1.2162 1 0.015594 -1.6244 1 0.32197 1.8144 1 -1.3527 -0.16529 1 0.34574 -1.5334 1 1.6561 0.2339 1 -0.46079 0.91338 1 1.1636 -1.1944 1 0.85034 -1.2562 1 -1.7962 -0.44247 1 0.93299 -1.037 1 1.8234 -0.59491 1 0.7636 -1.4665 1 0.75808 -0.98861 1 1.4923 1.0663 1 -0.97867 -1.3705 1 -0.31034 -1.0322 1 -1.157 -0.96013 1 0.53453 -1.6588 1 1.8924 0.41766 1 0.1269 -0.99252 1 -0.2271 -1.9694 1 -0.088874 1.4567 1 -0.087929 1.9783 1 -1.1305 -1.2394 1 -1.0524 1.5424 1 0.47627 -1.5803 1 -1.602 0.56376 1 0.27841 -1.3339 1 1.6585 -0.099409 1 -0.55977 1.7137 1 1.1775 1.4793 1 1.4706 -1.0501 1 -1.6994 -0.45412 1 1.8718 -0.2996 1 -0.91708 -1.0616 1 1.7343 -0.066364 1 -1.47 -0.43782 1 -1.4449 -0.24214 1 0.98507 1.1234 1 -0.91519 1.1691 1 1.3783 0.22913 1 0.90353 1.4316 1 -0.041484 -1.513 1 1.9442 0.37595 1 -1.1644 1.2952 1 0.81946 -0.96135 1 -0.53217 -1.4131 1 -0.51665 -1.3278 1 0.69272 1.7068 1 -1.7822 0.68106 1 -1.679 -0.9448 1 1.725 -0.11123 1 0.38428 1.2896 1 0.018881 1.3254 1 -0.14427 1.8825 1 0.0017411 -1.6072 1 -1.7786 0.49289 1 1.5441 0.57716 1 -1.7861 -0.095666 1 0.37857 1.5536 1 0.54723 -1.7359 1 -0.48208 1.573 1 1.525 0.26721 1 -1.1857 -0.78882 1 0.61029 -0.91224 1 -1.0712 0.99313 1 -0.0009909 -1.113 1 -1.9822 -0.13899 1 -1.202 -0.31629 1
Kalau kalian paksakan untuk dicari menggunakan Quadratic Programming, maka akan menghasilkan Non Feasible
%mengubah persamaan menjadi QP n = size(dataset_xy,2); %jumlah fitur ell = size(dataset_xy,1); %jumlah data H = diag([ones(1,n) 0]); f = zeros(1,n+1); A = -diag(target)*[dataset_xy ones(ell,1)]; c = -ones(ell,1); z = quadprog(H,f,A,c); w = z(1:n) b = z(n+1)
hasil
No feasible solution found. quadprog stopped because it was unable to find a point that satisfies the constraints within the default value of the constraint tolerance. <stopping criteria details> w = -0.1165 -0.0014 b = 5.2960e-04
Karena tidak akan mungkin dipisahkan dataset diatas hanya menggunakan persamaan garis lurus sumbu x dan y saja, oleh karena hal tersebut harus kalian tambahkan sumbu z dengan melibatkan radial basis function
%anonimous function rbf kernel = @(a) exp(-1*sum(a.^2,2)); %cara kedua Z = kernel(dataset_xy);
Sehingga datasetnya menjadi berikut terdapat sumbu Z (menjadi 3 sumbu)
X Y Z KELAS __________ __________ ________ _____ -0.29911 0.57233 0.65901 -1 -0.83648 -0.1436 0.48659 -1 0.0080639 -0.0070249 0.99989 -1 -0.34317 0.42961 0.73909 -1 0.32155 -0.20824 0.8635 -1 -0.21707 -0.21265 0.9118 -1 0.42945 0.042832 0.83006 -1 0.53101 -0.25217 0.70782 -1 -0.22858 -0.58696 0.67249 -1 0.73394 -0.012347 0.58344 -1 0.30354 0.57189 0.65758 -1 0.53904 0.62822 0.50398 -1 0.41222 -0.18582 0.81509 -1 -0.30733 -0.88525 0.41556 -1 0.15146 0.066678 0.97298 -1 0.028101 -0.81834 0.51147 -1 0.015731 -0.6458 0.65882 -1 0.66172 -0.34758 0.57196 -1 -0.089699 -0.36379 0.86902 -1 0.31616 0.31328 0.82029 -1 0.88787 0.11148 0.44899 -1 0.97069 0.16132 0.37974 -1 0.55101 0.099047 0.73094 -1 0.019807 0.83182 0.50041 -1 0.59686 -0.72122 0.41628 -1 -0.91782 -0.22849 0.40877 -1 -0.27571 -0.09502 0.91847 -1 0.10801 -0.16549 0.9617 -1 0.29291 0.28988 0.84381 -1 -0.17087 0.92138 0.41555 -1 -0.26917 -0.16092 0.90633 -1 0.63712 -0.12322 0.65632 -1 -0.90764 -0.36617 0.3837 -1 0.72518 0.085356 0.58674 -1 0.26018 -0.79005 0.50064 -1 0.059975 0.5585 0.72941 -1 0.29095 -0.77579 0.50333 -1 -0.69603 0.59175 0.43404 -1 0.088499 -0.10226 0.98188 -1 -0.015663 -0.86597 0.4723 -1 -0.93297 -0.34413 0.372 -1 0.56606 0.65402 0.47323 -1 0.49248 0.19469 0.75545 -1 0.64247 0.61361 0.45417 -1 0.30878 0.088767 0.90192 -1 0.52232 0.41842 0.63897 -1 0.14492 0.94212 0.40309 -1 -0.12488 -0.52728 0.74556 -1 -0.49913 -0.19659 0.74993 -1 0.35947 0.028418 0.87807 -1 0.12518 0.060811 0.98082 -1 0.80656 -0.16821 0.50721 -1 -0.41856 -0.19089 0.80927 -1 0.14907 0.49328 0.76679 -1 -0.010245 0.70105 0.61166 -1 -0.0089591 -0.23083 0.94804 -1 0.25474 0.7136 0.5632 -1 -0.33408 -0.1874 0.86353 -1 0.75408 -0.14375 0.55471 -1 0.47811 -0.68642 0.49671 -1 0.020392 0.31925 0.90273 -1 -0.64298 0.025183 0.66096 -1 -0.60761 -0.57027 0.49937 -1 0.30642 -0.56594 0.66088 -1 0.12354 0.18626 0.95127 -1 0.72707 0.085249 0.58514 -1 0.73715 0.347 0.51489 -1 -0.71492 0.061488 0.59757 -1 -0.76295 -0.60208 0.38884 -1 -0.69531 -0.32108 0.55624 -1 -0.39038 0.8666 0.40519 -1 0.36983 -0.026498 0.87156 -1 -0.32732 -0.17927 0.86999 -1 -0.65556 0.61452 0.44602 -1 -0.59858 -0.19844 0.67188 -1 -0.011919 -0.40646 0.84759 -1 -0.46803 -0.8417 0.39554 -1 -0.055201 0.58713 0.70626 -1 0.79231 0.35078 0.47198 -1 -0.5836 0.62081 0.48384 -1 -0.64458 -0.68397 0.41341 -1 0.19556 0.76513 0.53597 -1 0.015003 -0.86644 0.47192 -1 0.53981 0.23981 0.70546 -1 -0.033649 0.51846 0.76343 -1 0.31925 -0.89105 0.40825 -1 0.22768 0.6134 0.65175 -1 -0.62868 -0.75472 0.38104 -1 -0.80475 -0.12575 0.51508 -1 0.70211 -0.35881 0.53703 -1 -0.028268 0.33756 0.89159 -1 0.89192 0.39238 0.38694 -1 -0.062847 -0.6678 0.63768 -1 0.10563 -0.75315 0.5608 -1 0.53466 -0.34969 0.66489 -1 0.44305 -0.20182 0.78897 -1 0.94681 0.083211 0.4052 -1 0.074301 0.75376 0.56345 -1 -0.039789 -0.035877 0.99713 -1 0.74562 -0.24737 0.53948 -1 0.74362 -1.8159 0.021268 1 1.1551 -1.1557 0.069255 1 -0.73048 -1.7925 0.023593 1 -1.5497 -0.72324 0.053681 1 0.78172 1.2486 0.11417 1 -1.534 0.32391 0.085608 1 -0.94421 1.3861 0.060029 1 0.25419 1.6075 0.070747 1 -1.6246 -1.0673 0.022856 1 -0.73909 1.7916 0.023372 1 1.2783 -0.74193 0.11252 1 1.6628 -1.0606 0.02045 1 -0.055157 1.2324 0.2183 1 0.90061 0.75358 0.25183 1 0.41579 1.1101 0.24531 1 -1.5865 0.0041451 0.080702 1 -0.13841 -1.0225 0.34487 1 0.50909 1.8933 0.02141 1 0.023053 1.8657 0.030766 1 0.60954 -0.82068 0.35167 1 -1.0675 0.62368 0.21684 1 -1.0499 -0.94551 0.13585 1 0.12091 1.174 0.24833 1 1.4844 1.1068 0.032436 1 -1.4192 -0.14187 0.13078 1 -1.9344 0.27976 0.021921 1 0.95139 1.3568 0.064181 1 -1.3752 -1.3211 0.026344 1 -1.8085 -0.51325 0.029182 1 -1.0922 -1.5885 0.024327 1 0.94895 1.2162 0.092584 1 0.015594 -1.6244 0.07143 1 0.32197 1.8144 0.033513 1 -1.3527 -0.16529 0.15612 1 0.34574 -1.5334 0.084521 1 1.6561 0.2339 0.060973 1 -0.46079 0.91338 0.35113 1 1.1636 -1.1944 0.062011 1 0.85034 -1.2562 0.10016 1 -1.7962 -0.44247 0.032644 1 0.93299 -1.037 0.14288 1 1.8234 -0.59491 0.025257 1 0.7636 -1.4665 0.064987 1 0.75808 -0.98861 0.21182 1 1.4923 1.0663 0.034604 1 -0.97867 -1.3705 0.058654 1 -0.31034 -1.0322 0.31295 1 -1.157 -0.96013 0.10429 1 0.53453 -1.6588 0.047969 1 1.8924 0.41766 0.023382 1 0.1269 -0.99252 0.36744 1 -0.2271 -1.9694 0.019638 1 -0.088874 1.4567 0.11887 1 -0.087929 1.9783 0.019814 1 -1.1305 -1.2394 0.059956 1 -1.0524 1.5424 0.030607 1 0.47627 -1.5803 0.065603 1 -1.602 0.56376 0.055898 1 0.27841 -1.3339 0.15618 1 1.6585 -0.099409 0.06326 1 -0.55977 1.7137 0.038772 1 1.1775 1.4793 0.028017 1 1.4706 -1.0501 0.038188 1 -1.6994 -0.45412 0.045313 1 1.8718 -0.2996 0.027504 1 -0.91708 -1.0616 0.13973 1 1.7343 -0.066364 0.049175 1 -1.47 -0.43782 0.095119 1 -1.4449 -0.24214 0.11691 1 0.98507 1.1234 0.10727 1 -0.91519 1.1691 0.11031 1 1.3783 0.22913 0.14197 1 0.90353 1.4316 0.05694 1 -0.041484 -1.513 0.10119 1 1.9442 0.37595 0.019813 1 -1.1644 1.2952 0.048152 1 0.81946 -0.96135 0.20276 1 -0.53217 -1.4131 0.10227 1 -0.51665 -1.3278 0.13133 1 0.69272 1.7068 0.033611 1 -1.7822 0.68106 0.026252 1 -1.679 -0.9448 0.02444 1 1.725 -0.11123 0.05038 1 0.38428 1.2896 0.16355 1 0.018881 1.3254 0.17254 1 -0.14427 1.8825 0.028306 1 0.0017411 -1.6072 0.075536 1 -1.7786 0.49289 0.033158 1 1.5441 0.57716 0.066042 1 -1.7861 -0.095666 0.040786 1 0.37857 1.5536 0.077534 1 0.54723 -1.7359 0.036419 1 -0.48208 1.573 0.066765 1 1.525 0.26721 0.090979 1 -1.1857 -0.78882 0.13159 1 0.61029 -0.91224 0.2998 1 -1.0712 0.99313 0.11839 1 -0.0009909 -1.113 0.28971 1 -1.9822 -0.13899 0.019285 1 -1.202 -0.31629 0.21335 1
Kalian bisa plotkan menggunakan scatter3
Biar saya putar agar lebih jelas
Kalian bisa melihat, dengan menarik garis lurus pada sumbu Z maka dataset tersebut akan terpisah dengan baik yang menghasilkan nilai sebagai berikut menggunakan Quadratic Programming
%mengubah persamaan menjadi QP XYZ = [dataset_xy,Z]; n = size(XYZ,2); %jumlah fitur ell = size(XYZ,1); %jumlah data H = diag([ones(1,n) 0]); f = zeros(1,n+1); A = -diag(target)*[XYZ ones(ell,1)]; c = -ones(ell,1); z = quadprog(H,f,A,c); w = z(1:n) b = z(n+1)
hasil
w = 0.7735 -0.8910 -132.0126 >> b b = 48.5237
Sehingga w mempunyai panjang 3 sesuai dengan jumlah parameter input yaitu (dataset_xyz) X, Y, dan Z. Kalian bisa coba dengan persamaan rumus SVM
X Y Z KELAS __________ __________ ________ _____ -0.29911 0.57233 0.65901 -1
Dengan rumus
rumussvm=@(x,w,b) sign(dot(x,w)+b); data_sample = dataset_xyz(1,:) prediksi = rumussvm(data_sample,w,b)
hasil
data_sample = -0.2991 0.5723 0.6590 prediksi = -1
Hasilnya telah sesuai, tapi untuk menggambarkan persamaan garis lurus diatas (hyperplane), akan sulit sekali dalam versi 3 dimensi.
Support Vector Machine dengan RBF di Matlab
Nah untuk versi di Matlab, kalian harus menyertakan jenis kernel menggunakan rbf yaitu
https://www.mathworks.com/help/stats/support-vector-machines-for-binary-classification.html
Kalian hanya perlu memasukan dataset_xy bukan dataset_xyz
model = fitcsvm(dataset_xy,target,'KernelFunction','rbf','ClassNames',[-1,1]);
Sedangkan untuk prediksi
%untuk memporediksi yaitu no_dataset = 10 data_sample = dataset_xy(no_dataset,:) prediksi_svm_matlab = predict(model,data_sample)
Sedangkan untuk bias dan bobotnya gimana? Ini yang agak susah, saya pun belum begitu paham, tapi yang pasti kalian akan mendapatkan dataset support vector dari sebuah model diatas yaitu
>> model model = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: [-1 1] ScoreTransform: 'none' NumObservations: 200 Alpha: [46×1 double] Bias: 0.7245 KernelParameters: [1×1 struct] BoxConstraints: [200×1 double] ConvergenceInfo: [1×1 struct] IsSupportVector: [200×1 logical] Solver: 'SMO' Properties, Methods
Kalian bisa plot dataset support vector yaitu
model.SupportVectors ans = -0.3073 -0.8852 0.9707 0.1613 0.0198 0.8318 0.5969 -0.7212 -0.9178 -0.2285 -0.1709 0.9214 -0.9076 -0.3662 0.2602 -0.7901 0.2909 -0.7758 -0.6960 0.5917 -0.9330 -0.3441 0.6425 0.6136 0.1449 0.9421 0.4781 -0.6864 -0.7630 -0.6021 -0.3904 0.8666 -0.6556 0.6145 -0.4680 -0.8417 0.0150 -0.8664 0.3192 -0.8910 -0.6287 -0.7547 0.8919 0.3924 0.9468 0.0832 -0.0552 1.2324 0.9006 0.7536 0.4158 1.1101 -0.1384 -1.0225 0.6095 -0.8207 -1.0675 0.6237 -1.0499 -0.9455 0.1209 1.1740 -1.3527 -0.1653 -0.4608 0.9134 0.7581 -0.9886 -0.3103 -1.0322 0.1269 -0.9925 -0.9171 -1.0616 1.3783 0.2291 0.8195 -0.9613 -0.5167 -1.3278 0.0189 1.3254 1.5250 0.2672 -1.1857 -0.7888 0.6103 -0.9122 -1.0712 0.9931 -0.0010 -1.1130 -1.2020 -0.3163
Yang bila diplotkan bersama-sama menghasilkan berikut (bulatan hijau merupakan support vector-nya)