㈠ MATLAB 中 正則化函數是什麼
不知道你問的是正則化項,還是正則化方法。
(1)如果是正則化項,一般用范數表示:
norm(X)默認等同於 norm(X,2),返回 X的2-范數;
norm(X,1) 返回 X的1-范數;
norm(X,Inf) 返回 X的無窮范數;
norm(X,'fro') 返回 X的F范數.
(2)如果是某一具體的正則化方法,估計需要自己編程,彷彿曾見過老外編的一個正則化工具箱,裡麵包括常見的正則化方法,例如:Tikhnove正則化。
㈡ 關於matlab的SVM工具箱的幾個函數
能不用自帶函數不,給你個最小二乘支持向量機的自編代碼
clear all;
clc;
N=35; %樣本個數
NN1=4; %預測樣本數
%********************隨機選擇初始訓練樣本及確定預測樣本*******************************
x=[];
y=[];
index=randperm(N); %隨機排序N個序列
index=sort(index);
gama=23.411; %正則化參數
deita=0.0698; %核參數值
%thita=; %核參數值
%*********構造感知機核函數*************************************
%for i=1:N
% x1=x(:,index(i));
% for j=1:N
% x2=x(:,index(j));
% K(i,j)=tanh(deita*(x1'*x2)+thita);
% end
%end
%*********構造徑向基核函數**************************************
for i=1:N
x1=x(:,index(i));
for j=1:N
x2=x(:,index(j));
x12=x1-x2;
K(i,j)=exp(-(x12'*x12)/2/(deita*deita));
end
end
%*********構造多項式核函數****************************************
%for i=1:N
% x1=x(:,index(i));
% for j=1:N
% x2=x(:,index(j));
% K(i,j)=(1+x1'*x2)^(deita);
% end
%end
%*********構造核矩陣************************************
for i=1:N-NN1
for j=1:N-NN1
omeiga1(i,j)=K(i,j);
end
end
omeiga2=omeiga1';
omeiga=omeiga2+(1/gama)*eye(N-NN1);
A12=ones(1,N-NN1);
A21=A12';
A=[0 A12;A21 omeiga];
%**************************************
for i=1:N-NN1
B21(i,:)=y(index(i));
end
B=[0;B21];
%********LS-SVM模型的解******************************
C=A\B;
%******
b=C(1); %模型參數
for i=1:N-NN1
aipha(i)=C(i+1); %模型參數,行向量
end
%*******************************************
for i=1:N %預測模型
aifx(i)=b+(aipha)*K(1:N-NN1,i);
end
%*******************************************
aifx
index
㈢ 求大神解答:matlab軟體中center and scale x data是什麼意思
你好
這句話的意思是將x data原始數據進行中心化與比例化處理。類似於線性插值技術。matlab在曲線擬合工具箱中加入這個選項是為了當X data與ydata擬合不好時,選擇這個選項有利於得到更好的擬合效果。matlab通過正則化預測數據(Xdatal)的中心與比例,以有助於預測。具體實現過程如下:
x 是預測數據, μ 是 x的均值, σ 是x的標准差 .把xdata數據轉換成z, 轉換後的數據中心 為0, 標准差為 1.
經過centering and scaling後,求出的多項式系數是y與z的函數關系,與y與x關系不同。但是模型形式與殘差范數沒有變化。具體如何實現過程見matlab給出的比較代碼:
loadcensus
x=cdate;
y=pop;
z=(x-mean(x))/std(x);%Computez-scoresofxdata
plot(x,y,'ro')%Plotdata
holdon
zfit=linspace(z(1),z(end),100);
pz=polyfit(z,y,3);%Computeconditionedfit
yfit=polyval(pz,zfit);
xfit=linspace(x(1),x(end),100);
plot(xfit,yfit,'b-')%Plotconditionedfitvs.xdata
處理後x與z數據的差異化見下圖:
好處是能得到更加精確的擬合結果。
可也有缺點,得不到y與x的直接函數關系式,只能間接通過z得到。
希望對你有幫助!