ridger.m

来自「模式识别工具箱。非常丰富的底层函数和常见的统计识别工具」· M 代码 · 共 49 行

M
49
字号
%RIDGER Ridge Regression%%     W = RIDGER(X,LAMBDA)%% INPUT%   X        Regression dataset%   LAMBDA   Regularization parameter (default LAMBDA=1)%% OUTPUT%   W        Ridge regression mapping%% DESCRIPTION% Perform a ridge regression on dataset X, with the regularization% parameter LAMBDA.%% SEE ALSO%  LASSOR, PLOTR, LINEARR% Copyright: D.M.J. Tax, D.M.J.Tax@prtools.org% Faculty EWI, Delft University of Technology% P.O. Box 5031, 2600 GA Delft, The Netherlandsfunction y = ridger(x,lambda)if nargin<2	lambda = 1;endif nargin<1 | isempty(x)	y = mapping(mfilename,{lambda});	y = setname(y,'Ridge regression');	returnendif ~ismapping(lambda) %training	[n,d] = size(x);	y = gettargets(x);	X = +x;	beta = inv(X'*X + diag(repmat(lambda,d,1)))*X'*(y-mean(y));	W = [mean(y); beta];   % don't forget the offset	y = mapping(mfilename,'trained',W,1,d,1);	y = setname(y,'Ridge regression');else	% evaluation	w = getdata(lambda);	[n,d] = size(x);	out = [ones(n,1) +x]*w;	y = setdat(x,out);	end

⌨️ 快捷键说明

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