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

从零构建神经网络:权重矩阵初始化的随机数生成问题

解决神经网络权重初始化(-0.5到0.5范围)的问题

嘿,我完全懂你遇到的小麻烦!np.random.rand()确实只能生成0到1之间的浮点数,要得到你想要的以0为中心、范围在-0.5到0.5的权重矩阵,其实只需要简单的数学转换或者换个numpy函数就行,给你两种实用的方案:

  • 方案一:基于rand()的快速转换
    既然rand()输出的是0-1的数,那我们直接给每个生成的数减去0.5,就能把数值范围平移到-0.5到0.5了,代码非常简洁:

    weights = np.random.rand(input_size, output_size) - 0.5
    
  • 方案二:用uniform()直接指定范围
    如果想要更直观的写法,推荐用np.random.uniform(),它允许你直接设置随机数的上下限,可读性更高:

    weights = np.random.uniform(low=-0.5, high=0.5, size=(input_size, output_size))
    

两种方法都能完美满足你“以0为中心随机取值”的需求,选哪个全看你个人习惯~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:39:42