关于5G手机的5个伪真相
如果倾斜曲线看起来像这样,则意味着开始时训练误差太小而验证误差太高。缓慢地,训练误差变高而验证误差变低。但在某种程度上,它们变得平行。您可以从图片中看到一点,即使有了更多训练数据,交叉验证错误也不再减少。 在这种情况下,获取更多训练数据将不会改善机器学习算法。 这表明学习算法正在遭受高偏差问题。在这种情况下,获得更多训练功能可能会有所帮助。 修正学习算法 假设我们正在执行线性回归。但是该算法无法正常工作。 该怎么办? 首先,画出一个学习曲线,如我在此处演示的。
在神经网络的情况下,我们也可能遇到这种偏差或方差问题。
对于高偏差或欠拟合问题,我们需要增加神经元的数量或隐藏层的数量。为了解决高方差或过度拟合的问题,我们应该减少神经元的数量或隐藏层的数量。我们甚至可以使用不同数量的神经元绘制学习曲线。 这是我们的学习曲线。 从学习曲线中得出决策 上面的学习曲线看起来不错。它以我们预期的方式流动。最初,训练误差太小,验证误差太高。 慢慢地,它们彼此完全重叠。太完美了!但是在现实生活中,这种情况并不经常发生。 大多数机器学习算法并不是第一次都能完美运行。它几乎始终都遭受一些我们需要解决的问题的困扰。在这里,我将讨论一些问题。
我们可能会发现学习曲线如下所示: 如前所述,要开发学习曲线,我们需要使用训练数据的不同子集来训练学习算法。 在我们的训练数据集中,我们有21个数据。我将仅使用一个数据,然后使用两个数据,然后使用三个数据一直到21个数据来训练算法。
因此,我们将在21个训练数据子集上对算法进行21次训练。我们还将跟踪每个训练数据子集的成本函数。请仔细看一下代码,它将更加清晰。 为此,我想稍微修改一下gradient_descent函数。 在之前的gradient_descent函数中,我们计算了每次迭代的成本。我这样做是因为这是传统机器学习算法开发中的一种很好的做法。
但是对于学习曲线,我们不需要每次迭代的成本。因此,为了节省运行时间,我将在每个时期中排除计算成本函数。我们将仅返回更新的参数。 (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |