超平面和最接近的数据点的距离看作一个差值,最好的超平面可以把所有数据划分为两个类,并且这个差值最大。只有这些点与超平面的定义和分类器的构造有关。这些点被称作支持向量,是它们定义了超平面。在实际使用中,优化算法被用于找到一组参数值使差值达到最大。SVM可能是一种最为强大的分类器。
6.1.9 Bagging 和随机森林
随机森林是一个常用并且最为强大的机器学习算法。它是一种集成机器学习算法,称作自举汇聚或Bagging。Bootstrap是一种强大的统计方法,用于数据样本的估算,比如均值。从数据中采集很多样本,计算均值,然后将所有均值再求平均,最终得到一个真实均值的较好的估计值。在Bagging中用了相似的方法。但是通常用决策树来代替对整个统计模型的估计。从训练集中采集多个样本,针对每个样本构造模型。当你需要对新的数据进行预测时,每个模型做一次预测,然后对预测值进行平均,得到真实输出的较好的预测值。如图6-10所示为随机森林的例子。
这里的不同在于在什么地方创建树,与决策树选择最优分叉点不同,随机森林通过加入随机性从而产生次优的分叉点。每个数据样本所创建的模型与其他的都不相同,但在唯一性和不同性方面仍然准确。结合这些预测结果可以更好地得到真实的输出估计值。如果在高方差的算法(比如决策树)中得到较好的结果,通常也可以通过Bagging这种算法得到更好的结果。
6.1.10 Boosting 和 AdaBoost
Boosting是一种集成方法,通过多种弱分类器创建一种强分类器。它首先通过训练数据建立一个模型,然后建立第二个模型来修正前一个模型的误差。在完成对训练集完美预测之前,模型和模型的最大数量都会不断添加。
人工智能与大数据技术导论
170