我有一个 TensorFlow 模型,它在一些简单的线性(y=3x+2)回归数据上进行了训练,当我用 matplotlib 绘制它时,它看起来像一条直线。
我想知道神经网络对这个问题的看法。例如,我的神经网络可能认为解决方案是y=2.99x+2.01
. 我怎么能得到这个公式?
原因:我构建了一个神经网络,当它欠拟合一个巨大的数据集时,它会生成一些漂亮的图片。如果可能,我想获得底层代数公式并将其转换为 C 代码。
我有一个 TensorFlow 模型,它在一些简单的线性(y=3x+2)回归数据上进行了训练,当我用 matplotlib 绘制它时,它看起来像一条直线。
我想知道神经网络对这个问题的看法。例如,我的神经网络可能认为解决方案是y=2.99x+2.01
. 我怎么能得到这个公式?
原因:我构建了一个神经网络,当它欠拟合一个巨大的数据集时,它会生成一些漂亮的图片。如果可能,我想获得底层代数公式并将其转换为 C 代码。
既然你说你已经使用 MatplotLib 绘制了预测值并且你得到了一条直线,它应该如下所示。
目标是从等式计算m(权重系数)和c(偏差),
y = m * x + c
,给定下图。
如果您观察,有 2 个使用绿线形成的矩形。你可以为你的情节画一个。
较小矩形的 X 轴坐标和 Y 轴坐标为
(x1, y1) = (0.35, 1.3)
(近似),较大矩形的
X 轴坐标和 Y 轴坐标为(x2, y2) = (0.65, 1.9)
(近似)。
线的斜率或系数,**m**
可以使用公式计算,
m = (y2-y1)/(x2-x1)
m = (1.9-1.3)/(0.65-0.35) = 1.6/0.3 = 5.333.
如果您看到,红线在 Y 轴上从大约 0.95(大约)开始。因此,偏差或截距为c
0.95(大约)。
因此,这种情况下的方程可以是 y = 5.333 * x + 0.95