首页 > 解决方案 > 使用神经网络的线性回归

问题描述

我正在使用以下示例训练数据解决回归问题。

在此处输入图像描述

如图所示,我只有 4 个参数的输入,其中只有一个在变化,即 Z,因此其余参数没有实际值,而 124 个参数的输出表示从 O1 到 O124 注意 O1 以 20 [1000 然后1020 然后 1040 ...] 虽然 O2 以不同的速率变化,即 30 但仍然是恒定的,并且同样适用于所有 124 个输出,所有这些都以恒定的方式线性变化。

我相信这是一个微不足道的问题,一个非常简单的神经网络模型将在测试数据上达到 100% 的准确度,但结果却恰恰相反。

我的问题是如何让神经网络获得 100% 的测试数据,如线性回归器?假设使用具有线性激活的浅层网络与线性回归器等效,但结果不同,我是否遗漏了什么?

标签: neural-networkdeep-learninglinear-regressionrelu

解决方案


如果您使用线性激活,深层模型原则上与线性回归/具有 1 层的 NN 相同。例如,具有线性激活的深度神经网络,预测为 y = W_3(W_2(W_1 x))),可以重写为 y = (W_3 (W_2 W_1))x,与 y = (W_4 x ),这是一个线性回归。

鉴于检查没有隐藏层的 NN 是否收敛到与线性回归相同的参数。如果不是这种情况,那么您的实现可能是错误的。如果是这种情况,那么您较大的 NN 可能会收敛到某个问题的解决方案,其中测试准确度会更差。然后尝试不同的随机种子。


推荐阅读