神经网络梯度下降:权重导数的矩阵形状未对齐

我正在尝试从头开始创建自己的网络(不使用像keras或tensorflow这样的库),以便更好地理解机器学习和神经网络。我遇到了一个问题,当使用具有特定层配置的网络时,梯度下降不能正常工作。每层的值是各自权重集的导数,这些导数相乘将输入端的权重链式连接到输出端,但层与层之间相乘时却不起作用。例如,一个具有2个输入神经元、3个隐藏神经元和1个输出神经元的神经网络,连接输入和隐藏层的权重集与成本之间的导数肯定包括导数的乘法(每层存储的值),以便将权重链式连接到输出端。

这是完整的代码:(尝试输入[[3,1,None],[2,None,None],[1,None,None]]作为变量network以重现错误)

...

是我的理解错误还是我的代码有问题?


回答:

问题在于你没有考虑到当网络有一个隐藏层时,一层可能会以多种方式影响下一层。尝试在不同层之间有多于一个连接时使用np.dot。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注