谷歌送给微软 “圣诞礼物”
在这里," h"是假设或预测值,theta0和theta1是系数,X是输入特征。 在这里,我们已经有了X。我们必须计算" h",并且期望它与y的值匹配。因为我们的目标是能够预测y的值。 Theta0和theta1在开始时是随机初始化的。我们将通过迭代不断完善theta0和theta1的值。 在每次迭代中,我们将使用成本函数和梯度公式来计算成本以更新theta值 (2) 成本函数和梯度下降 成本函数为我们提供了有关我们的预测值与原始输出特征有何不同的想法。在这里,我们的输出特征为y,预测输出为" h"。因此,成本函数将告诉我们" h"与" y"的偏离量。我们希望成本函数值尽可能低。
这是成本函数的公式: 如果我们使用太少的数据来训练数据,则该算法将完全适合训练数据,并且成本函数将返回0。 在上面的图片中清楚地表明,当我们仅使用一个,两个或三个数据算法来训练数据时,就可以很好地了解到很少的数据,并且训练成本为零或接近于零。但是,这种类型的算法无法在其他数据上很好地执行。 当您尝试使交叉验证数据适合此算法时,在交叉验证数据上执行效果很差的可能性很高。因此,交叉验证数据的成本函数将返回非常高的值。 另一方面,当我们将需要越来越多的数据来训练算法时,它将不再完全适合训练数据。因此,培训成本将变得更高。 同时,由于该算法针对大量数据进行训练,因此在交叉验证数据上的性能会更好,并且交叉验证数据的成本函数将返回较低的值。这是如何建立学习曲线的方法。 开发学习算法 我将演示如何逐步绘制学习曲线。为了绘制学习曲线,我们首先需要机器学习算法。为简单起见,我将使用线性回归算法。首先,我们开发一个线性回归算法。 首先,导入包和数据集。我在这里使用的数据集取材于安德鲁·伍(Andrew Ng)的Coursera机器学习课程。在此数据集中,X值和y值在Excel文件中的单独工作表中进行组织。 提醒一下,X是我们将用来开发和训练机器学习算法的功能。y是我们需要预测的输出特征。
交叉验证数据的X和y值也被组织在同一Excel文件中的其他两个工作表中。我在本文结尾处提供了到数据集的链接。请随时下载数据集并进行练习。 往哪个方向走? 如果您的机器学习算法无法正常工作,下一步该怎么做?有几种选择:
那么,接下来您应该尝试哪一个呢?开始尝试任何操作都不是一个好主意。因为您可能最终会花太多时间在无用的事情上。您需要先发现问题,然后采取相应措施。学习曲线有助于轻松检测问题,从而节省大量时间。 学习曲线对于确定如何提高算法性能非常有用。确定算法是否遭受偏差或拟合不足,方差或拟合过度,或两者兼而有之,这很有用。 学习曲线的工作原理 学习曲线是成本函数的图。在同一图中,训练数据的成本函数和交叉验证数据的成本函数为算法提供了重要的见解。提醒一下,这是成本函数的公式: (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |