机器学习解决问题时的必要关注点

机器学习当然是当今解决众多任务的有效方法,但实际使用这个方法时依然须要注意几个问题:算法

1 数据方面

1.1 训练数据量

须要大量数据,才能让多数机器学习算法正常工做。即使对于很是简单的问题,通常也须要数千的样本,对于复杂的问题,好比图像或语音识别,可能须要数百万的样本。特别是在深度学习中,数据在很大程度上决定了算法的表现。机器学习

1.2 数据分布状况

用于训练的数据须要在很大程度上可以反映真实状况,即要有表明性。达到这个要求须要注意:若是样本过小,就会有样本噪声(即有必定几率包含没有表明性的数据),可是即便是很是多的样本也可能没有表明性。若是取样手段错误的话,称为样本误差。性能

1.3 数据质量

即便数据量足够,而且具备表明性,但若是数据质量不高,那么这些数据依然称不上好的数据。一旦训练数据中的错误、异常值和噪声(错误测量致使)太多,系统检测出潜在规律的难度就会变大,性能就会下降。学习

1.4 特征工程

系统只有在训练数据包含足够相关特征、少许非相关特征的状况下,才能进行有效的学习。机器学习成功的关键之一就是是用好的特征进行训练。为了获得好的特征所作的工做称为特征工程,具体涉及如下几项工做:
1 特征选择:在全部存在的特征中选取最有用的特征进行训练。
2 特征提取:组合存在的特征,生成一个更有用的特征(如前面看到的,可使用降维算法)。
3 收集新数据建立新特征。深度学习

2 算法方面

2.1 过拟合

模型在训练数据上表现很好,可是推广效果很差。通俗的解释就是模型将数据中的一些噪声以及错误也学习了,有时也由于选择的模型过于复杂,拟合能力太强。
能够考虑如下解决方案:
1 简化模型,能够经过选择一个参数更少的模型(好比使用线性模型,而不是高阶多项式模型)、减小训练数据的属性数、或限制一下模型
2 收集更多的训练数据
3 减少训练数据的噪声(好比,修改数据错误和去除异常值)数据挖掘

限定一个模型以让它更简单被称做正则化(regularization),正则化的度能够用一个超参数(hyperparameter)控制。超参数是一个学习算法的参数(而不是模型的)。它是不会被学习算法自己影响,在训练中保持不变。调节超参数是构建优良的机器学习模型中很是重要的一部分。io

2.2 欠拟合

与过拟合相对,欠拟合就是对训练数据缺少足够的拟合能力,以致于只学习了数据中不多的规律与知识,甚至根本没有学到。
能够考虑如下解决方案:
1 选择一个更强大的模型,带有更多参数
2 用更好的特征训练学习算法(特征工程)
3 减少对模型的限制(好比,减少正则化超参数)方法

3 检验模型

关于模型检验能够参考“机器学习与数据挖掘”专题下的“k折交叉验证”一文。

声明:本文部份内容源于《Sklearn与TensorFlow机器学习实用指南》一书。数据

相关文章
相关标签/搜索