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

R语言神经网络迭代过程中如何保存每轮w1~w6权重值

代码修改方案

只需两步即可保存全部迭代轮次的权重:

  1. 在迭代循环启动前,初始化权重存储矩阵
# 初始化存储矩阵:行数等于迭代次数,列数对应6个权重,设置列名方便后续调用
weight_history <- matrix(NA, nrow = numIter, ncol = 6, dimnames = list(NULL, c("w1","w2","w3","w4","w5","w6")))
# 如果需要额外保留初始权重,可在此处加一行 weight_history[1,] <- w
  1. 在循环末尾权重更新完成后,添加权重存储逻辑,修改后的循环末尾片段如下:
### update all parameters via a gradient descent 
    w1 = w1 - gamma1*dE_dw1
    w2 = w2 - gamma1*dE_dw2
    w3 = w3 - gamma1*dE_dw3
    w4 = w4 - gamma1*dE_dw4
    w5 = w5 - gamma1*dE_dw5
    w6 = w6 - gamma1*dE_dw6
       
    w = c(w1, w2, w3, w4, w5, w6)
    # 新增:保存当前轮次更新后的权重
    weight_history[i, ] <- w
}

补充说明

如果你的需求是保存本轮迭代中用于前向传播、计算误差的权重(而非本轮梯度更新后的权重),只需要把存储代码放到循环开头的前向传播步骤之前即可:

for(i in 1:numIter){
    # 新增:保存当前轮次迭代用的初始权重
    weight_history[i, ] <- w
    ### forward
    res = forwardProp(input, w)
    # 其余代码保持不变...
}

训练完成后,你可以直接通过weight_history[k, ]提取第k轮的全部权重,也可以直接基于该矩阵绘制各权重随迭代次数的变化趋势。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:54:01