⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rbfn.m

📁 基于多元线性回归、偏最小二乘、神经网络、卡尔漫滤波、径向基网络、主成分分析等等的程序。可用于建模和预测。
💻 M
字号:

function [rbfmodel,error] = rbfn(X,Y,clusters,sigma)

%   [rbfmodel,error] = rbfn(X,Y,clusters,sigma)
%
% Radial Basis Function regression model construction.
%
% Input parameters:
%  - X: Input data block (k x n)
%  - Y: Output data block (k x m)
%  - clusters: Cluster index between 1 and N for all k samples,
%    constructed by K-means ('km.m') or SOM
%  - sigma: Distribution of the Gaussians
% Return parameters:
%  - rbfmodel: Matrix containing the model in the form
%    rbfmodel = [centers;sigmas;weights], where
%     - centers: Vector (n x N) containing cluster centers
%     - sigmas: Standard deviations in the clusters
%     - weights: Mappings (m x N) from cluster to outputs
%  - error: Prediction errors
%
% Heikki Hyotyniemi Feb.20, 2001


[kx,n] = size(X);
[ky,m] = size(Y);
if kx ~= ky, disp('Incompatible X and Y'); break; 
else k = kx; end

N = max(clusters);
centers = zeros(n,N);
for i = 1:N
   centers(:,i) = mean(X(find(clusters==i),:))';
end

dist2 = sum(X.*X,2)*ones(1,N) - 2*X*centers + ones(k,1)*sum(centers.*centers,1);

p = exp(-dist2/sigma);
p = p./(sum(p')'*ones(1,N));
F = mlr(p,Y);
error = Y - p*F;

rbfmodel = [centers',ones(N,1)*sigma,F];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -