You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于岭回归的神经网络输出权重矩阵MATLAB实现验证

回声状态网络输出权重岭回归实现的正确性验证

我尝试在MATLAB中复现Mantas Lukosevicius所著*《回声状态网络实用指南》(第11页)中的岭回归训练公式,求解最优输出权重矩阵*。先后完成两次MATLAB实现尝试,但对其正确性存疑:

  • 第一次尝试不确定双求和与针对Wout的arg min操作是否正确;
  • 第二次尝试通过为每个训练信号计算Wout_i,选取对应最小*均方误差(MSE)*的Wout_i作为最终结果,但担忧该方式仅挑选单个最优Wout_i而忽略其他结果的合理性,现寻求对第二次方案的验证。

第一次尝试代码

N = 100; % 神经网络节点数
Ny = 200; % 训练信号数量
T = 50; % 每个训练信号的时间长度 
X = rand(N,T); % 神经网络状态矩阵
reg = 10^-4; % 岭回归系数
outer_sum = zeros(Ny,1);
for i = 1:Ny
y_i_target = rand(T,1); % 训练信号
Wout_i = ((X*X' + reg*eye(N)) \ (X*y_i_target)); 
Wouts{i} = Wout_i; % 收集每个训练信号对应的Wout_i到元胞矩阵
y_i = Wout_i'*X; % 预测信号 
inner_sum = sum(((y_i'-y_i_target).^2)+reg*norm(Wout_i)^2);
outer_sum(i) = inner_sum;
end
outer_sum = outer_sum.*(1/Ny);
[minval, minidx] = min(outer_sum);
Wout = cell2mat(Wouts(minidx));

第二次尝试代码

N = 100; % 神经网络节点数
Ny = 200; % 训练信号数量
T = 50; % 每个训练信号的时间长度 
X = rand(N,T); % 神经网络状态矩阵
reg = 10^-4; % 岭回归系数
MSE = zeros(Ny,1);
for i = 1:Ny
y_i_target = rand(T,1); % 训练信号
Wout_i = ((X*X' + reg*eye(N)) \ (X*y_i_target)); % 来自Luko等人的公式9
Wouts{i} = Wout_i; % 收集每个训练信号对应的Wout_i到元胞矩阵
y_i = Wout_i'*X; % 预测信号 
MSE(i) = (1/T)*sum((y_i'-y_i_target).^2); % 均方误差
end
[minval, minidx] = min(MSE);
Wout = cell2mat(Wouts(minidx));

内容的提问来源于stack exchange,提问作者Jonathan Frutschy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:33:10