在我的深度学习练习中,我需要初始化一个与A1大小相同的参数D1,我所做的是:
D1 = np.random.randn(A1.shape[0],A1.shape[1])
但是在计算更多方程后,当我检查结果时发现它们不匹配。在仔细阅读文档后,我发现他们说要使用随机数初始化D1而不是randn;
D1 = np.random.rand(A1.shape[0],A1.shape[1])
但是他们没有指明其中的原因,因为代码在两种情况下都能工作,并且还有一篇关于该练习的文档,所以我找出了错误,但是如何、何时和为什么要从这两者中进行选择呢?
rand
更好。如果你需要正态分布的数字,randn
更好。它们是不同的工具,适用于不同的任务。这有点像问哪个更好,锤子还是螺丝刀;这取决于你需要钉钉子还是拧螺丝。 - Ilmari Karonen