
MLlib
文章平均质量分 79
liulingyuan6
这个作者很懒,什么都没留下…
展开
-
三种线性问题的优化
三种线性方法优化方法有限记忆BFGS(L-BFGS) L-BFGS是拟牛顿方法家族里的一个优化算法,解决 形式的优化问题。L-BFGS方法以二次方程来逼近目标函数来构造黑塞矩阵,不考虑目标函数的二阶偏导数。黑塞矩阵由先前的迭代评估逼近,所以不像直接使用牛顿方法一样可垂直扩展(训练特征的数目)。所以L-BFGS通常比其他一阶优化方法能更快收敛。 象限有限记忆拟牛顿(翻译 2016-12-10 17:07:40 · 8050 阅读 · 0 评论 -
随机森林回归(Random Forest)算法原理及Spark MLlib调用实例(Scala/Java/python)
随机森林回归算法介绍: 随机森林是决策树的集成算法。随机森林包含多个决策树来降低过拟合的风险。随机森林同样具有易解释性、可处理类别特征、易扩展到多分类问题、不需特征缩放等性质。 随机森林分别训练一系列的决策树,所以训练过程是并行的。因算法中加入随机过程,所以每个决策树又有少量区别。通过合并每个树的预测结果来减少预测的方差,提高在测试集上的性能表现。翻译 2016-12-05 17:38:37 · 19327 阅读 · 1 评论 -
梯度迭代树回归(GBDT)算法原理及Spark MLlib调用实例(Scala/Java/python)
梯度迭代树回归算法简介: 梯度提升树是一种决策树的集成算法。它通过反复迭代训练决策树来最小化损失函数。决策树类似,梯度提升树具有可处理类别特征、易扩展到多分类问题、不需特征缩放等性质。Spark.ml通过使用现有decision tree工具来实现。 梯度提升树依次迭代训练一系列的决策树。在一次迭代中,算法使用现有的集成来对每个训练实例的类别进行预测,然后翻译 2016-12-05 17:47:21 · 4427 阅读 · 0 评论 -
朴素贝叶斯算法原理及Spark MLlib调用实例(Scala/Java/Python)
朴素贝叶斯算法介绍:朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,在没有其它可用信息下,我们会选择条件概率最大的类别作为此待分类项应属的类别。朴素贝叶斯分类的正式定义如下:1、设 为一个待分类项,而每个a为x的一个特征属性。2、有类别集合 。3、计算 。4、如翻译 2016-12-03 00:21:59 · 6711 阅读 · 2 评论 -
生存回归(加速失效时间模型)算法原理及Spark MLlib调用实例(Scala/Java/python)
生存回归(加速失效时间模型)算法介绍: 在spark.ml中,我们实施加速失效时间模型(Acceleratedfailure time),对于截尾数据它是一个参数化生存回归的模型。它描述了一个有对数生存时间的模型,所以它也常被称为生存分析的对数线性模型。与比例危险模型不同,因AFT模型中每个实例对目标函数的贡献是独立的,其更容易并行化。 给定协变量翻译 2016-12-05 21:19:25 · 11735 阅读 · 1 评论 -
保序回归算法原理及Spark MLlib调用实例(Scala/Java/python)
保序回归算法介绍: 保序回归是回归算法的一种。保序回归给定一个有限的实数集合 代表观察到的响应,以及 代表未知的响应值,训练一个模型来最小化下列方程: 其中 , 为权重是正值。其结果方程称为保序回归,而且其解是唯一的。它可以被视为有顺序约束下的最小二乘法问题。实际上保序回归在拟合原始数据点时是一个单调函数。我们实现池旁者算法,它使用并行保序回归。训练数据是翻译 2016-12-05 23:02:41 · 4320 阅读 · 0 评论 -
K均值(K-means)算法原理及Spark MLlib调用实例(Scala/Java/python)
K均值(K-means)算法算法介绍:K-means是一个常用的聚类算法来将数据点按预定的簇数进行聚集。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。假设要把样本集分为c个类别,算法描述如下:(1)适当选择c个类的初始中心;(2)在第k次迭代中,对任意一个样本,求其到c个中心翻译 2016-12-06 11:44:32 · 9016 阅读 · 2 评论 -
文档主题生成模型(LDA)算法原理及Spark MLlib调用实例(Scala/Java/python)
文档主题生成模型(LDA)算法介绍:LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。LDA是一种非监督翻译 2016-12-06 11:48:38 · 5000 阅读 · 0 评论 -
二分K均值算法原理及Spark MLlib调用实例(Scala/Java/Python)
二分K均值算法算法介绍:二分K均值算法是一种层次聚类算法,使用自顶向下的逼近:所有的观察值开始是一个簇,递归地向下一个层级分裂。分裂依据为选择能最大程度降低聚类代价函数(也就是误差平方和)的簇划分为两个簇。以此进行下去,直到簇的数目等于用户给定的数目k为止。二分K均值常常比传统K均值算法有更快的计算速度,但产生的簇群与传统K均值算法往往也是不同的。BisectingKMeans是一个E翻译 2016-12-06 14:43:54 · 2606 阅读 · 1 评论 -
混合高斯模型(GMM)Spark MLlib调用实例(Scala/Java/Python)
高斯混合模型算法原理: 混合高斯模型描述数据点以一定的概率服从k种高斯子分布的一种混合分布。Spark.ml使用EM算法给出一组样本的极大似然模型。参数:featuresCol:类型:字符串型。含义:特征列名。k:类型:整数型。含义:混合模型中独立的高斯数目。maxIter:类型:整数型。含义:迭代次数(>=0)。predictionCol翻译 2016-12-06 15:23:38 · 3652 阅读 · 0 评论 -
协同过滤(ALS)算法原理及Spark MLlib调用实例(Scala/Java/Python)
协同过滤算法介绍: 协同过滤常被用于推荐系统。这类技术目标在于填充“用户-商品”联系矩阵中的缺失项。Spark.ml目前支持基于模型的协同过滤,其中用户和商品以少量的潜在因子来描述,用以预测缺失项。Spark.ml使用交替最小二乘(ALS)算法来学习这些潜在因子。*注意基于DataFrame的ALS接口目前仅支持整数型的用户和商品编号。显式与隐式反馈 基于矩阵分解的翻译 2016-12-06 17:03:08 · 15681 阅读 · 6 评论 -
交叉验证原理及Spark MLlib使用实例(Scala/Java/Python)
交叉验证方法思想: CrossValidator将数据集划分为若干子集分别地进行训练和测试。如当k=3时,CrossValidator产生3个训练数据与测试数据对,每个数据对使用2/3的数据来训练,1/3的数据来测试。对于一组特定的参数表,CrossValidator计算基于三组不同训练数据与测试数据对训练得到的模型的评估准则的平均值。确定最佳参数表后,CrossValidat翻译 2016-12-09 14:16:24 · 6085 阅读 · 1 评论 -
决策树回归算法原理及Spark MLlib调用实例(Scala/Java/python)
决策树回归算法介绍: 决策树以及其集成算法是机器学习分类和回归问题中非常流行的算法。因其易解释性、可处理类别特征、易扩展到多分类问题、不需特征缩放等性质被广泛使用。树集成算法如随机森林以及boosting算法几乎是解决分类和回归问题中表现最优的算法。 决策树是一个贪心算法递归地将特征空间划分为两个部分,在同一个叶子节点的数据最后会拥有同样的标签。每次划分通过贪翻译 2016-12-05 17:29:30 · 3215 阅读 · 0 评论 -
广义线性模型(GLMs)算法原理及Spark MLlib调用实例(Scala/Java/Python)
广义线性回归算法介绍: 与线性回归假设输出服从高斯分布不同,广义线性模型(GLMs)指定线性模型的因变量 服从指数型分布。Spark的GeneralizedLinearRegression接口允许指定GLMs包括线性回归、泊松回归、逻辑回归等来处理多种预测问题。目前 spark.ml仅支持指数型分布家族中的一部分类型,如下:家族因变量类型翻译 2016-12-05 16:19:05 · 7598 阅读 · 2 评论 -
Spark机器学习库(MLlib)官方指南手册中文版
Spark机器学习库(MLlib)指南 MLlib是Spark里的机器学习库。它的目标是使实用的机器学习算法可扩展并容易使用。它提供如下工具: 1.机器学习算法:常规机器学习算法包括分类、回归、聚类和协同过滤。 2.特征工程:特征提取、特征转换、特征选择以及降维。 3.管道:构造、评估和调整的管道的工具。 4.存储:保翻译 2016-12-12 14:23:35 · 30518 阅读 · 0 评论 -
多层感知机(MLP)算法原理及Spark MLlib调用实例(Scala/Java/Python)
多层感知机算法简介: 多层感知机是基于反向人工神经网络(feedforwardartificial neural network)。多层感知机含有多层节点,每层节点与网络的下一层节点完全连接。输入层的节点代表输入数据,其他层的节点通过将输入数据与层上节点的权重w以及偏差b线性组合且应用一个激活函数,得到该层输出。多层感知机通过方向传播来学习模型,其中我们使用逻辑损失函数以及L翻译 2016-12-02 10:47:00 · 7039 阅读 · 1 评论 -
随机森林(Random Forest)算法原理及Spark MLlib调用实例(Scala/Java/python)
随机森林分类器:算法简介: 随机森林是决策树的集成算法。随机森林包含多个决策树来降低过拟合的风险。随机森林同样具有易解释性、可处理类别特征、易扩展到多分类问题、不需特征缩放等性质。 随机森林分别训练一系列的决策树,所以训练过程是并行的。因算法中加入随机过程,所以每个决策树又有少量区别。通过合并每个树的预测结果来减少预测的方差,提高在测试集上的性能表现。翻译 2016-12-01 18:26:12 · 11635 阅读 · 1 评论 -
决策树算法原理及Spark MLlib调用实例(Scala/Java/python)
决策树算法介绍: 决策树以及其集成算法是机器学习分类和回归问题中非常流行的算法。因其易解释性、可处理类别特征、易扩展到多分类问题、不需特征缩放等性质被广泛使用。树集成算法如随机森林以及boosting算法几乎是解决分类和回归问题中表现最优的算法。 决策树是一个贪心算法递归地将特征空间划分为两个部分,在同一个叶子节点的数据最后会拥有同样的标签。每次划分通过贪心的翻译 2016-12-01 17:22:49 · 6969 阅读 · 5 评论 -
逻辑回归算法原理及Spark MLlib调用实例(Scala/Java/python)
逻辑回归算法原理: 逻辑回归是一个流行的二分类问题预测方法。它是Generalized Linear models 的一个特殊应用以预测结果概率。它是一个线性模型如下列方程所示,其中损失函数为逻辑损失: 对于二分类问题,算法产出一个二值逻辑回归模型。给定一个新数据,由x表示,则模型通过下列逻辑方程来预测: 其翻译 2016-12-01 11:41:43 · 17523 阅读 · 0 评论 -
三种特征选择方法及Spark MLlib调用实例(Scala/Java/python)
VectorSlicer算法介绍: VectorSlicer是一个转换器输入特征向量,输出原始特征向量子集。VectorSlicer接收带有特定索引的向量列,通过对这些索引的值进行筛选得到新的向量集。可接受如下两种索引1.整数索引,setIndices()。2.字符串索引代表向量中特征的名字,此类要求向量列有AttributeGroup,因为该工具根据Attribut翻译 2016-11-30 20:56:25 · 8647 阅读 · 0 评论 -
二十种特征变换方法及Spark MLlib调用实例(Scala/Java/python)(二)
VectorIndexer算法介绍: VectorIndexer解决数据集中的类别特征Vector。它可以自动识别哪些特征是类别型的,并且将原始值转换为类别指标。它的处理流程如下:1.获得一个向量类型的输入以及maxCategories参数。2.基于原始数值识别哪些特征需要被类别化,其中最多maxCategories需要被类别化。3.对于每一个类别特征计算0-ba翻译 2016-11-30 17:24:29 · 10810 阅读 · 0 评论 -
二十种特征变换方法及Spark MLlib调用实例(Scala/Java/python)(一)
Spark MLlib数据预处理特征变换提供20种处理方法,其基本介绍与示例调用整理如下:Tokenizer(分词器)算法介绍: Tokenization将文本划分为独立个体(通常为单词)。下面的例子展示了如何把句子划分为单词。 RegexTokenizer基于正则表达式提供更多的划分选项。默认情况下,参数“pattern”为划分文本的分隔符。活着,用户翻译 2016-11-29 19:19:15 · 11304 阅读 · 1 评论 -
三种文本特征提取(TF-IDF/Word2Vec/CountVectorizer)及Spark MLlib调用实例(Scala/Java/python)
Spark MLlib 提供三种文本特征提取方法,分别为TF-IDF、Word2Vec以及CountVectorizer其各自原理与调用代码整理如下:TF-IDF算法介绍: 词频-逆向文件频率(TF-IDF)是一种在文本挖掘中广泛使用的特征向量化方法,它可以体现一个文档中词语在语料库中的重要程度。 词语由t表示,文档由d表示,翻译 2016-11-29 11:43:52 · 67208 阅读 · 3 评论 -
Spark MLlib TF-IDF算法原理及调用实例(Scala/Java/python)
算法介绍: 词频-逆向文件频率(TF-IDF)是一种在文本挖掘中广泛使用的特征向量化方法,它可以体现一个文档中词语在语料库中的重要程度。 词语由表示,文档由表示,语料库由表示。词频是词语在文档中出现的次数。文件频率是包含词语的文档的个数。如果我们只使用词频来衡量重要性,很容易过度强调在文档中经常出现而并没有包含太多与文档有关的信息的词语,比如“a”,“the”以及翻译 2016-11-28 17:37:09 · 7039 阅读 · 2 评论 -
One-vs-Rest算法介绍及Spark MLlib调用实例(Scala/Java/Python)
One-vs-Rest算法介绍:OneVsRest将一个给定的二分类算法有效地扩展到多分类问题应用中,也叫做“One-vs-All.”算法。OneVsRest是一个Estimator。它采用一个基础的Classifier然后对于k个类别分别创建二分类问题。类别i的二分类分类器用来预测类别为i还是不为i,即将i类和其他类别区分开来。最后,通过依次对k个二分类分类器进行评估,取置信最高的分类器翻译 2016-12-02 16:50:56 · 7241 阅读 · 0 评论 -
Pipeline详解及Spark MLlib使用示例(Scala/Java/Python)
本文中,我们介绍机器学习管道的概念。机器学习管道提供一系列基于数据框的高级的接口来帮助用户建立和调试实际的机器学习管道。管道里的主要概念 MLlib提供标准的接口来使联合多个算法到单个的管道或者工作流,管道的概念源于scikit-learn项目。 1.数据框:机器学习接口使用来自Spark SQL的数据框形式数据作为数据集,它可以处理多种数据类型。比如,一个数据翻译 2016-12-11 23:04:54 · 13936 阅读 · 3 评论 -
两种模型选择和超参数调整方法及Spark MLlib使用示例(Scala/Java/Python)
机器学习调试:模型选择和超参数调整模型选择(又名超参数调整) 在机器学习中非常重要的任务就是模型选择,或者使用数据来找到具体问题的最佳的模型和参数,这个过程也叫做调试。调试可以在独立的如逻辑回归等估计器中完成,也可以在包含多样算法、特征工程和其他步骤的管线中完成。用户应该一次性调试整个管线,而不是独立的调整管线中的每个组成部分。MLlib支持交叉验证和训练验证分裂两个模型选翻译 2016-12-09 14:50:13 · 7337 阅读 · 0 评论