在机器学习表现不佳的原因:要么是过拟合或欠拟合数据
机器学习的目的:就是逼近目标函数过程
监督式机器学习通常理解为逼近一个目标函数(f)(f),此函数映射输入变量(X)到输出变量(Y).
Y=f(X)Y=f(X)
这种特性描述可以用于定义分类和预测问题和机器学习算法的领域。
从训练数据中学习目标函数的过程中,我们必须考虑的问题是模型在预测新数据时的泛化性能。泛化好坏是很重要的,因为我们收集到的数据只是样本,其带有噪音并且是不完全的。
泛化:训练时学习到的模型,在遇到之前没有见过的样本时候的表现
在机器学习中,我们描述从训练数据学习目标函数的学习过程为归纳性的学习。
好的机器学习模型的目标是从问题领域内的训练数据到任意的数据上泛化性能良好。这才可以在未来对模型没有见过的数据进行预测。
机器学习得到的模型表现不佳,也可以说泛华能力很差,主要原因是过拟合或欠拟合。
机器学习中的过拟合:在训练数据上表现良好,在未知数据上表现差。 泛化能力差
过拟合指的是模型对于训练数据拟合程度过当的情况。
当某个模型过度的学习训练数据中的细节和噪音,以至于模型在新的数据上表现很差,我们称过拟合发生了。这意味着训练数据中的噪音或者随机波动也被当做概念被模型学习了。而问题就在于这些概念不适用于新的数据,从而导致模型泛化性能的变差。
过拟合更可能在无参数非线性模型中发生,因为学习目标函数的过程是易变的具有弹性的。同样的,许多的无参数器学习算法也包括限制约束模型学习概念多少的参数或者技巧。
例如,决策树就是一种无参数机器学习算法,非常有弹性并且容易受过拟合训练数据的影响。这种问题可以通过对学习过后的树进行剪枝来解决,这种方法就是为了移除一些其学习到的细节。
机器学习中的欠拟合:模型在训练和预测时表现都不好的情况
一个欠拟合的机器学习模型不是一个良好的模型并且由于在训练数据上表现不好这是显然的。
欠拟合通常不被讨论,因为给定一个评估模型表现的指标的情况下,欠拟合很容易被发现。矫正方法是继续学习并且试着更换机器学习算法。虽然如此,欠拟合与过拟合形成了鲜明的对照。
机器学习中好的拟合
理想上,你肯定想选择一个正好介于欠拟合和过拟合之间的模型。
这就是我们学习的目标,但是实际上很难达到。
为了理解这个目标,我们可以观察正在学习训练数据机器学习算法的表现。我们可以把这个过程划分为分别是训练过程和测试过程。
随着时间进行,算法不断地学习,模型在训练数据和测试数据上的错误都在不断下降。但是,如果我们学习的时间过长的话,模型在训练数据上的表现将继续下降,这是因为模型已经过拟合并且学习到了训练数据中的不恰当的细节以及噪音。同时,测试数据集上的错误率开始上升,也即是模型的泛化能力在下降。
这个完美的临界点就处于测试集上的错误率开始上升时,此时模型在训练集和测试集上都有良好的表现。
你可以用你自己喜爱的机器学习算法来实践这个实验。而在实践中这通常是无用的,因为在测试数据上运用这个技巧来选择训练停止的时机,这意味着这个测试集对于我们并不是“不可见的”或者单独的衡量标准。数据的一些知识(许多有用的知识)已经泄露到了训练过程。
通常有两种手段可以帮助你找到这个完美的临界点:重采样方法和验证集方法。
参考文献: