全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

mahout分类算法

发布时间:2023-12-04 08:24:06
发布人:xqq

mahout分类算法

1.朴素贝叶斯(Naive Bayes)分类

Mahout目前支持两种根据贝氏统计来实现内容分类的方法。第一种方法是使用简单的支持MapReduce的Naive Bayes分类器。Naive Bayes分类器以速度快和准确性高而著称,但其关于数据的简单(通常也是不正确的)假设是完全独立的。当各类的训练示例的大小不平衡,或者数据的独立性不符合要求时,Naive Bayes分类器会出现故障。第二种方法是Complementary Naive Bayes,它会尝试纠正Naive Bayes方法中的一些问题,同时仍然能够维持简单性和速度。

简单来讲,Naive Bayes分类器包括两个流程:跟踪特定文档及类别相关的特征(词汇),然后使用此信息预测新的、未见过的内容的类别。第一个步骤称做训练(Training),它将通过查看已分类内容的示例来创建一个模型,然后跟踪与特定内容相关的各个词汇的概率。第二个步骤称做分类,它将使用在训练阶段中创建的模型及新文档的内容,并结合Bayes Theorem(贝叶斯定理)来预测传入文档的类别。因此,要运行Mahout的分类器,首先需要训练模式,然后再使用该模对新内容进行分类。

2.支持向量机(SVM)

SVM可以完成分类任务,每一个对象都被看做是n维特征空间中的点,n是用来描述对象的特征数量,除此之外,每个对象都标有一个二进制标签,用来区分其是“正面的”还是“负面的”。在学习过程中,算法试图在空间中找到一个超平面,此超平面可以把正面的和负面的对象完全分开。

3.神经网络

神经网络是一个用来进行多维分类的方法,Mahout致力于实现带有一个隐含层的反向传播网络,因为这些网络已经在2006 NIPS Map Reduce Paper中体现。这些网络不仅可以学习线性的分享超平面,还可以学习任意的决策边界。

4.Perception与Winnow

这两种算法都是相对简单的线性分类器,如果训练数据是在n维向量空间中并且带有二进制标签作的注释,算法就可以找到一个线性分类器(如果不存在)。与Perception相比,Winnow仅仅适用于二进制特征矢量。

尽管这两种算法都相对简单,但是对于文本分类来说都具有较好的效果,并且能快速训练好数据,即使是一些大型数据集。与Naive Bayes相比,这两种算法不基于对象的所有特征都相对独立。

目前,并行策略比较简单,首先有足够的训练数据,然后分块,在每一块上进行分类器的训练。

5.随机森林

在机器学习中,随机森林(RF,Random Forests)是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出类别的众数而定的。

RF的想法是通过降低不同树之间相关性的同时使得每棵树的方差不增加太多,来达到降低bagging装袋方差的效果。RF通过在每次分割时随机选取不同的候选输入变量来达到降低不同树之间相关性的目的。RF的一个好处是它不会因为使用了太多的树而导致最终的模型过拟合,这大概也是为什么它可以比较有效地用于组合多个算法的预测结果(如在Netflix Prize Challenge中)。并且使用RF之前对输入数据不需要做预处理,即可以进行rescale、transform操作或修改数据。

建造每棵树的算法步骤如下:

(1)用N来表示训练例子的个数,M表示变量的数目。

(2)定义一个数m用于当做一个节点上的变量,m应小于M。

(3)采用从N个训练案例中可重复取样的方式,取样N次,形成一组训练集,并使用这棵树对剩余样本预测其类别,同时评估其误差。

(4)对于每一个点,随机选择m个基于此点上的变量,根据这m个变量,计算最佳分隔方式。

(5)每棵树都会完整成长而不会剪枝。

RF的模型偏差比单棵树的偏差要大,之所以它们的模型精确度更高,主要得益于它们的模型方差较低。

IT培训

相关文章

嵌入式培训课程:探索技术的无限可能

嵌入式培训课程:探索技术的无限可能

2023-12-12
web前端培训:vue实现双向数据绑定原理

web前端培训:vue实现双向数据绑定原理

2023-12-12
嵌入式开发:Linux系统编程的探索与实践

嵌入式开发:Linux系统编程的探索与实践

2023-12-12
Web前端:探索Web前端开发技术的新领域

Web前端:探索Web前端开发技术的新领域

2023-12-12

最新文章

python培训学校靠谱吗?为什么一定要选择千锋教育

python培训学校靠谱吗?为什么一定要选择千锋教育

2023-12-13
培训学校学java靠谱吗?为什么一定要选择千锋教育

培训学校学java靠谱吗?为什么一定要选择千锋教育

2023-12-13
网络安全哪个培训机构靠谱

网络安全哪个培训机构靠谱

2023-12-13
python培训机构可靠吗?为什么一定要选择千锋教育

python培训机构可靠吗?为什么一定要选择千锋教育

2023-12-13
在线咨询 免费试学 教程领取