Validation techniques
在本节中,我们将解释一些可用于模型验证的技术,以及在验证技术范围内机器学习领域常用的一些术语。
Crossvalidation
交叉验证技术是机器学习领域最常见的技术之一。它的本质是在训练你的模型时忽略你的数据集的一部分,然后使用模型来预测这个被忽略的数据。将预测值与实际值进行比较,从而显示模型的性能和训练数据的质量。
这种交叉验证最重要的部分是分割数据。执行这个技术时,应始终使用完整的数据集。换句话说,你不应该随机选择X个数据点进行训练,然后随机选择X个数据点进行测试,因为一些数据点可以在两个集合中,而其他数据点可能不会被使用。
(2 fold)Cross validation
在2折交叉验证中,您对每个折叠执行将数据分成测试和训练(所以2次)两个步骤,并使用训练数据集训练模型,然后使用测试集验证。这样做允许您计算测试数据的预测中的错误2次。 这些误差值应当没有显著差异。 如果他们这样做,您的数据或您选择的模型预测的功能是有问题的。无论哪种方式,您应该更多地查看数据,了解您的数据在特定情况下正在发生什么,因为基于数据训练模型可能会导致错误数据的过拟合模型。
Regularization
正则化的基本思想是通过简化模型来防止过度拟合你的模型。假设你的数据是一个三y元多项式函数,但你的数据有噪声,这将导致模型的更到维度。 然后,该模型对新数据执行得不好,而它似乎是一个很好的模型。 正则化有助于防止这种情况,通过用特定值λ简化模型。然而,为了找到一个模型的正确的lambda是困难的,当你不知道什么时候模型过拟合或不过拟合。 这就是为什么交叉验证通常用于找到最适合您的模型的lambda。
Precision
在计算机科学领域,我们使用精度这个术语来定义所选项目的一定数量的相关性。因此,当您计算文档上搜索算法的精度值时,该算法的精度由结果集中有多少文档的相关性定义的。
精度值由下式确定:
假设我们有文档{aa,ab,bc,bd,ee}作为完整语料库,并且我们查询名称中带有a的文档。 如果我们的算法将返回文档集合{aa,ab},则精度显然是100%。 让我们通过填写公式来验证它:
实际上是100%。 如果我们再次运行查询,但获得的结果多于{aa,ab},那么我们还要返回{bc,de},这会影响精度,如下所示:
这里的结果包含有相关性的结果,但也有2个不相关的结果。 这导致了精度降低。 但是,如果你计算这个例子的查全率是100%。这就是精度和查全率是如何彼此有不同的。
--未完待续