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

📄 gradnet1.m

📁 偏最小二乘算法在MATLAB中的实现
💻 M
字号:
function grad=gradnet1(t,u,kin,beta)
%GRADNET1 Calculates Jacobian of inner network....
% This routine calculates the Jacobian of the inner network with
% respect to the network weights. This routine is used in conjunction
% with the leastsq.m routine in Optimization Toolbox. I/O syntax is:
% grad = gradnet1(t,u,kin,beta);

%  Copyright
%  Thomas Mc Avoy
%  1994
%  Distributed by Eigenvector Technologies
%  Modified by BMW 5-8-95
	Lambda=.0002;
	Lam=sqrt(Lambda/2);
% Lambda=penalty used for large weights
	n=length(beta)-1;
	[m1,m2]=size(t);
	T=[ones(m1,1),t];
	Z=T*kin;
	[upred,usig]=bckprpnn(t,kin,beta);
	sigd=[2.*exp(-Z)./(1+exp(-Z)).^2];
% sigd equals derivative sigma with respect to Z
	bp=beta(2:n+1,1);
% bp = beta less bias. bp's multiply sigmas.
	sigt=sigd'*diag(t);
	sigd=sigd*diag(bp);
	sigt=(sigt'*diag(bp));
% Calculate Jaqcobian of objective function
	grad=zeros(m1+3*n+1,3*n+1);
	grad(1:m1,:)=[-usig,-sigd,-sigt];
	grad(m1+1:m1+3*n+1,1:3*n+1)=Lam*eye(3*n+1);
	grad=grad';

⌨️ 快捷键说明

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