统计学和机器学习到底有什么区别?(3)
统计学习理论中的监督学习,给了我们一个数据集,我们将其标为S= {(xᵢ,yᵢ)},也就是说我们有一个包含N个数据点的数据集,每个数据点由被称为“特征”的其它值描述,这些特征用x描述,这些特征通过特定函数来描绘以返回我们想要的y值。 已知这个数据集,问如何找到将x值映射到y值的函数。我们将所有可能的描述映射过程的函数集合称为假设空间。 为了找到这个函数,我们需要给算法一些方法来“学习”如何最好地着手处理这个问题,而这由一个被称为“损失函数”的概念来提供。因此,对我们所有的每个假设(也即提议的函数),我们要通过比较所有数据下其预期风险的值来衡量这个函数的表现。 预期风险本质上就是损失函数之和乘以数据的概率分布。如果我们知道这个映射的联合概率分布,找到最优函数就很简单了。但是这个联合概率分布通常是未知的,因此我们最好的方式就是猜测一个最优函数,再实证验证损失函数是否得到优化。我们将这种称为实证风险。 之后,我们就可以比较不同函数,找出最小预期风险的那个假设,也就是所有函数中得出最小下确界值的那个假设。 然而,为了最小化损失函数,算法有通过过度拟合来作弊的倾向。这也是为什么要通过训练集“学习”函数,之后在训练集之外的数据集,测试集里对函数进行验证。 我们如何定义机器学习的本质引出了过度拟合的问题,也对需要区分训练集和测试集作出了解释。而我们在统计学中无需试图最小化实证风险,过度拟合不是统计学的固有特征。最小化统计学中无需视图程向于一个从函数中选取最小化实证风险的学习算法被称为实证风险最小化 例证 以线性回归做一个简单例子。在传统概念中,我们试图最小化数据中的误差找到能够描述数据的函数,这种情况下,我们通常使用均值方差。使用平方数是为了不让正值和负值互相抵消。然后我们可以使用闭合表达式来求出回归系数。 如果我们将损失函数计为均值方差,并基于统计学习理论进行最小化实证风险,碰巧就能得到传统线性回归分析同样的结果。 这个巧合是因为两个情况是相同的,对同样的数据以相同的方式求解最大概率自然会得出相同的结果。最大化概率有不同的方法来实现同样的目标,但没人会去争论说最大化概率与线性回归是一个东西。这个最简单的例子显然没能区分开这些方法。 这里要指出的第二点在于,传统的统计方法中没有训练集和测试集的概念,但我们会使用不同的指标来帮助验证模型。验证过程虽然不同,但两种方法都能够给我们统计稳健的结果。 另外要指出的一点在于,传统统计方法给了我们一个闭合形式下的最优解,它没有对其它可能的函数进行测试来收敛出一个结果。相对的,机器学习方法尝试了一批不同的模型,最后结合回归算法的结果,收敛出一个最终的假设。 如果我们用一个不同的损失函数,结果可能并不收敛。例如,如果我们用了铰链损失(使用标准梯度下降时不太好区分,因此需要使用类似近梯度下降等其它方法),那么结果就不会相同了。 最后可以对模型偏差进行区分。你可以用机器学习算法来测试线性模型以及多项式模型,指数模型等,来检验这些假设是否相对我们的先验损失函数对数据集给出更好的拟合度。在传统统计学概念中,我们选择一个模型,评估其准确性,但无法自动从100个不同的模型中摘出最优的那个。显然,由于最开始选择的算法不同,找出的模型总会存在一些偏误。选择算法是非常必要的,因为为数据集找出最优的方程是一个NP-hard问题。 那么哪个方法更优呢? 这个问题其实很蠢。没有统计学,机器学习根本没法存在,但由于当代信息爆炸人类能接触到的大量数据,机器学习是非常有用的。 对比机器学习和统计模型还要更难一些,你需要视乎你的目标而定究竟选择哪种。如果你只是想要创建一个高度准确的预测房价的算法,或者从数据中找出哪类人更容易得某种疾病,机器学习可能是更好的选择。如果你希望找出变量之间的关系或从数据中得出推论,选择统计模型会更好。 图中文字: 如果你统计学基础不够扎实,你依然可以学习机器学习并使用它——机器学习程序库里的抽象概念能够让你以业余者的身份来轻松使用它们,但你还是得对统计概念有所了解,从而避免模型过度拟合或得出些貌似合理的推论。 相关报道: https://towardsdatascience.com/the-actual-difference-between-statistics-and-machine-learning-64b49f07ea3?gi=412e8f93e22e 【本文是51CTO专栏机构大数据文摘的原创文章,微信公众号“大数据文摘( id: BigDataDigest)”】
戳这里,看该作者更多好文 【编辑推荐】
点赞 0 (编辑:ASP站长网) |