91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10.16MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-24
  • 語言: Matlab
  • 標簽: SVM??SMO??MNIST??matlab??

資源簡介

代碼使用matlab編寫,壓縮包中包含MNIST數據集及其讀取函數、SVM算法實現和ReadMe.txt。 SVM算法中使用了PCA降維處理數據減少運行時間,但是由于使用的SMO算法較為原始,運行速度仍然較慢。由于實現未經過任何優化,僅適合初學者使用,使用高斯核正確率在75%以上,有部分注釋。請結合ReadMe文件使用。

資源截圖

代碼片段和文件信息

clear;
clc;
%讀取數據
trainImages?=?loadMNISTImages(‘train-images.idx3-ubyte‘);
trainLabels?=?loadMNISTLabels(‘train-labels.idx1-ubyte‘);
testImages?=?loadMNISTImages(‘t10k-images.idx3-ubyte‘);
testLabels?=?loadMNISTLabels(‘t10k-labels.idx1-ubyte‘);
%PCA降維
square?=?double(trainImages?*?trainImages‘);
[eigVect?eigVal]?=?eig(square);
eigVal?=?diag(eigVal);??
eigVal?=?cumsum(eigVal)?/?sum(eigVal);
k?=?find(eigVal?>=?1e-2?1);
pca?=?eigVect(:?k:end);
trainImages?=?pca‘?*?trainImages;
testImages?=?pca‘?*?testImages;
%選取部分樣本便于測試
trainImages?=?trainImages(:1:500)‘;
trainLabels?=?trainLabels(1:5001);
testImages?=?testImages‘;
%獲得樣本規模
[mn]?=?size(trainImages);
[rs]?=?size(testImages);
%調節sig1和C
%當前最佳sig1.sig2C為12.316.7530
tic;
kernels?=?zeros(mr);
for?i?=?1?:?r
????kernels(:i)?=?Kernel(trainImagestestImages(i:)12.3);
end
?????
%?omegas?=?zeros(n10);
b?=?zeros(101);
alphas?=?zeros(m10);
C?=?30;
dis?=?0.001;
tolerance?=?10;
vote?=?zeros(r10);
testResults?=?zeros(r10);
Labels?=?zeros(r1);
error?=?0;
%OvR
fprintf(‘計算alpha...\n‘);
for?i?=?1?:?10
????one?=?i?-?1;
????[b(i)alphas(:i)]?=?kernelSVM(trainImagestrainLabelsCdistoleranceone);
????fprintf(‘第%d個alpha計算完畢\n‘i);
%?????for?j?=?1?:?10
%?????????omegas(:j)?=?((alphas(:i)?.*?trainLabels)‘?*?trainImages)‘;
%?????end
end
fprintf(‘投票中...\n‘);
%根據alpha和b計算出結果y
for?i?=?1?:?10
????tmpLabels?=?trainLabels;
????y?=?zeros(r10);
????for?j?=?1?:?m
????????if?tmpLabels(j)?==?(i?-?1)
????????????tmpLabels(j)?=?1;
????????else
????????????tmpLabels(j)?=?-1;
????????end
????end
????for?j?=?1?:?r
????????y(ji)?=?(alphas(:i)?.*?tmpLabels)‘?*?kernels(:j)?+?b(i);
%?????????y?=?omegas(:i)‘?*?testImages(j:)‘?+?b(i);
%????????fprintf(‘y的值為%d\n‘y);
????????vote(ji)?=?sign(y(ji));
????end
????clear?tmpLabels;
end
%投票得到待測樣本類別
for?i?=?1?:?r
????for?j?=?1?:?10
????????if?vote(ij)?==?1
????????????testResults(ij)?=?testResults(ij)?+?1;
????????else
????????????testResults(i:)?=?testResults(i:)?+?1;
????????????testResults(ij)?=?testResults(ij)?-?1;
????????end
????end
end
fprintf(‘計算結果...‘);
for?i?=?1?:?r
????[maxCountpos]?=?max(testResults(i:));
????Labels(i)?=?pos?-?1;
end

for?i?=?1?:?r
????if?Labels(i)?~=?testLabels(i)
????????error?=?error?+?1;
%?????????fprintf(‘錯誤%d‘Labels(i));
%?????????fprintf(‘正確%d\n‘testLabels(i));
????end
end

fprintf(‘正確率為%d\n‘1-error/r);
toc;

%?save?data;
%?system(‘shutdown?-s‘);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2583??2017-11-14?21:21??2.SVM\imple_kernelSVM.m

?????文件????????372??2017-11-14?21:21??2.SVM\Kernel.m

?????文件???????3023??2017-11-14?19:55??2.SVM\kernelSVM.m

?????文件????????837??2017-11-07?16:51??2.SVM\loadMNISTImages.m

?????文件????????535??2017-11-03?17:49??2.SVM\loadMNISTLabels.m

?????文件????????561??2017-11-13?19:01??2.SVM\Readme.txt

?????文件????7840016??1998-01-26?23:07??2.SVM\t10k-images.idx3-ubyte

?????文件??????10008??1998-01-26?23:07??2.SVM\t10k-labels.idx1-ubyte

?????文件???47040016??1996-11-18?23:36??2.SVM\train-images.idx3-ubyte

?????文件??????60008??1996-11-18?23:36??2.SVM\train-labels.idx1-ubyte

?????目錄??????????0??2017-11-14?21:21??2.SVM

-----------?---------??----------?-----??----

?????????????54957959????????????????????11


評論

共有 條評論