在机器学习中,目标要么是预测(prediction),要么是聚类(clustering)。本文重点关注的是预测。预测是从一组输入变量来预估输出变量的值的过程。例如,得到有关房子的一组特征,我们可以预测它的销售价格。预测问题可以分为两大类:1、回归问题:其中要预测的变量是数字的(如房屋的价格);2、分类问题:其中要预测的变量是“是/否”的答案(如预测某个设备是否会故障) 了解了这点,接下来让我们看看机器学习中最突出、最常用的算法。我们将这些算法分为3类:线性模型、基于树的模型、神经网络,重点介绍6大常用算法:
线性回归,或更准确的说法“最小二乘回归”,是线性模型的最标准形式。对于回归问题,线性回归是最简单的线性模型。其缺点是模型容易过拟合,也就是说,模型完全适应已进行训练的数据,而牺牲了推广到新数据的能力。因此,机器学习中的线性回归(以及我们接下来将谈到的逻辑回归)通常是“正则化”的,这意味着模型有一定的惩罚来防止过拟合。
线性模型的另一个缺点是,由于它们非常简单,所以当输入变量不独立时,他们不容易预测更复杂些的行为。
逻辑回归是线性回归对分类问题的适应。逻辑回归的缺点与线性回归相同。逻辑函数对分类问题非常好,因为它引入了阈值效应。
决策树是使用分支方法显示决策的每一个可能的结果的图示。比如说,你决定要点一份沙拉,你的第一个决策是可能是生菜的种类,然后是配菜,然后是沙拉酱的种类。我们可以在一个决策树中表示所有可能的结果。
为了训练决策树,我们需要使用训练数据集并找出那个属性对目标最有用。例如,在欺诈检测用例中,我们可能发现对预测欺诈风险影响最大的属性是国家。在以第一个属性进行分支后,我们得到两个子集,这是假如我们只知道第一个属性时最能够准确预测的。接着,我们再找出可以对这两个子集进行分支的第二好的属性,再次进行分割,如此往复,直到使用足够多的属性后能满足目标的需求。
随机森林是许多决策树的平均,其中每个决策树都用随机的数据样本进行训练。随机森林中的每个树都比一个完整的决策树弱,但是将所有树放在一起,由于多样性的优势,我们可以获得更好的整体性能。
随机森林是当今机器学习中非常流行的算法。随机森林的训练很容易,而且表现相当好。它的缺点是相对于其他算法,随机森林输出预测可能会很慢,所以在需要快速预测时,可能不会选择随机森林。
梯度提升(GradientBoosting),像随机森林那样,也是由“弱”决策树组成的。梯度提升与随机森林最大的区别是,在梯度提升中,树是一个接一个被训练的。每个后面的树主要由前面的树识别错误的数据来训练。这令梯度提升较少关注易于预测的情况,而更多地关注困难的情况。
梯度提升的训练也很快,表现也非常好。但是,训练数据集的小小变化可以令模型发生根本性的变化,因此它产生的结果可能不是最可行的。
转载自 大数据地盘