資源簡介
用matlab實現的SVM分類器,以及對原始SVM進行的一些改進,改進之后提高了SVM分類性能,可以用于信號分類識別,分類有關的研究領域

代碼片段和文件信息
function?[Acu]=AdaptFunc(XXYY)
%C為最小二乘支持向量機的正則化參數,theta為高斯徑向基的核函數參數,兩個需要進行優化選擇調試
NumOfPre?=1;%預測天數,在此預測本季度最后七天
Time?=?24;
XX?=30;
YY?=?2;
Data?=?xlsread(‘a23.xls‘);%此為從excel表格讀數據的命令,表示將表格的數據讀到Data數組中,省略表格中的第一行第一列文字部分?可輸入你要預測的表格名稱
[M?N]?=?size(Data);%計算讀入數據的行和列?M行N列
for?i?=?1:3
????maxData?=?max(Data(:i));
????minData?=?min(Data(:i));
????Data1(:i)?=?(Data(:i)?-?minData)/(maxData-minData);%對溫度進行歸一化處理
end
for?i?=?4:5
????Data1(:i)?=?Data(:i);
end
for?i?=?6:N
????Data1(:i)?=?log10(Data(:i))?;%對負荷進行對數處理?溫度和負荷的預處理?可采用不同的方法?可不必拘泥
end
Dim?=??M?-?2?-?NumOfPre;%訓練樣本數%訓練樣本數
Input?=?zeros(M-212Time);%預先分配處理后的輸入向量空間
y?=?zeros(DimTime);
for?i?=?3:M?
????for?j?=?1:Time
????????%%選取前一天溫度、同一時刻的負荷,前兩天的負荷,當天的溫度作為輸入特征
????????x?=?[Data1(i-11:5)?Data1(i-1j+5)?Data1(i-2j+5)Data1(i1:5)];
????????Input(i-2:j)?=?x;
????????y(i-2j)?=?Data1(ij+5);
????end
end
Dist?=?zeros(DimDimTime);%預先分配距離空間
for?i=1:Time
????for?j=1:Dim
????????for?k=1:Dim
????????????Dist(jki)?=?(Input(j:i)?-?Input(k:i))*(Input(j:i)?-?Input(k:i))‘;
????????end
????end
end
Dist1=exp(-Dist/(2*YY));%RBF
for?i=1:Time
????H?=?Dist1(::i)?+?eye(Dim)/XX;%最小二乘支持向量的H矩陣
????f?=?-y(1:Dimi);?
????Aeq?=?ones(Dim1)‘;
????beq?=?[0];
????option.MaxIter=1000;
????[afval]=quadprog(Hf[][]Aeqbeq);%[][][]option);
????b?=?0;
????for?j?=?1:Dim
????????b(j)?=?y(ji)?-?a(j)/XX?-?a‘*?Dist1(:ji);%求每個輸入特征對應的b
????end
????b?=?sum(b)/Dim;%求平均b,消除誤差
????for?j?=?Dim?+?1:M-2
????????for?k?=?1:Dim
????????????K(k)?=?exp(-(Input(j:i)?-?Input(k:i))*(Input(j:i)?-?Input(k:i))‘/(2*YY));%預測輸入特征與訓練特征的RBF距離
????????end
????????Pre(j-Dimi)?=?sum(a‘*K‘)?+?b;??%求解預測值???
????end
end
Len?=?M??-?(Dim?+?3)?+?1;%預測的天數?取本季度最后Len天
Pre?=?10.^Pre;
%for?i?=?1:Len
%???figure
%???plot(1:TimeData(i+Dim+26:N)‘-ro‘1:TimePre(i:)‘-k^‘);%畫出每一天的預測值和真實值
%???hold?on
%
%???axis([0?25?0?100])%坐標范圍
%???hold?off
%end
acu?=?(Pre?-?Data(Dim+3:M6:N))./Data(Dim+3:M6:N);%相對誤差
s=0;
for?i=1:Time
????s=abs(acu(1i))+s;
end
Acu=s/Time;
save?acu.mat?acu
%?err?=?abs(Pre?-?Data(Dim+3:M6:N));
%?errpct?=?abs(err)./Data(Dim+3:M6:N);
%?MAE?=?mean(abs(err));
%?MAPE?=?mean(errpct(~isinf(errpct)));
%?fprintf(‘Mean?Absolute?Percent?Error?(MAPE):?%0.2f%%?\nMean?Absolute?Error?(MAE):?%0.2f?MWh\n‘...
%?????MAPE?MAE);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-09-12?09:04??SVM\
?????文件???????22016??2010-06-03?19:41??SVM\a23.xls
?????文件?????????381??2019-11-18?16:09??SVM\Acu.mat
?????文件?????????381??2019-11-18?16:09??SVM\acu1.mat
?????文件????????2674??2018-09-10?20:22??SVM\AdaptFunc.m
?????文件????????2787??2018-09-11?18:56??SVM\AdaptFunc1.m
?????文件????????3813??2010-05-18?10:36??SVM\ba
?????文件???????12826??2015-09-13?14:40??SVM\figure.fig
?????文件????????2762??2018-04-18?10:31??SVM\gaijin.m
?????文件???????10730??2015-09-13?20:53??SVM\gui.fig
?????文件???????17949??2015-09-13?21:33??SVM\gui.m
?????文件????????2174??2010-05-18?10:36??SVM\InitSwarm.m
?????文件????????2144??2015-09-13?21:33??SVM\pso.m
?????文件????????2615??2018-09-12?09:06??SVM\shorttime.m
?????文件??????402432??2018-09-11?17:35??SVM\svmdataset?-?副本.xls
?????文件??????333312??2018-09-11?19:02??SVM\svmdataset.xls
?????文件??????327680??2018-09-11?20:12??SVM\svmdataset1.xls
?????文件??????329728??2018-09-12?08:20??SVM\svmdataset12.xls
?????文件??????330752??2018-09-12?08:41??SVM\svmdataset123.xls
?????文件??????326144??2018-09-12?09:04??SVM\svmdataset1day.xls
?????目錄???????????0??2013-08-16?18:27??svm程序\
?????目錄???????????0??2013-08-16?18:27??svm程序\libsvm-3.11\
?????目錄???????????0??2013-08-16?18:27??svm程序\libsvm-3.11\libsvm-3.11\
?????文件????????8925??2012-04-08?11:01??svm程序\libsvm-3.11\libsvm-3.11\A.mat
?????文件???????10063??2012-04-08?11:01??svm程序\libsvm-3.11\libsvm-3.11\B.mat
?????文件????????1497??2012-04-06?19:10??svm程序\libsvm-3.11\libsvm-3.11\COPYRIGHT
?????文件???????71213??2012-04-06?19:10??svm程序\libsvm-3.11\libsvm-3.11\FAQ.html
?????文件???????27670??2012-04-06?19:10??svm程序\libsvm-3.11\libsvm-3.11\heart_scale
?????目錄???????????0??2013-08-16?18:27??svm程序\libsvm-3.11\libsvm-3.11\java\
?????目錄???????????0??2013-08-16?18:27??svm程序\libsvm-3.11\libsvm-3.11\java\libsvm\
?????文件???????50037??2012-04-06?19:10??svm程序\libsvm-3.11\libsvm-3.11\java\libsvm.jar
............此處省略72個文件信息
評論
共有 條評論