关闭

spark.mllib源码阅读-聚类算法1-KMeans

KMeans聚类是聚类分析比较简单的一种,由于其简单、高效、易于理解实现等优点被广泛用于探索性数据分析中。 关于KMeans算法的介绍、分析的相关文章可谓汗牛充栋,留给我能写的东西并不多了,在这里,我通过罗列相关文章的方式,将涉及KMeans聚类的各方面做一个尽量详尽的总结。最后简单介绍一下Spark下KMeans聚类的实现过程。KMeans聚类算法原理:关于KMeans算法的原理及单机版实现,可...
阅读(1979) 评论(1)

spark.mllib源码阅读-分类算法5-GradientBoostedTrees

Gradient-Boosted Trees(GBT或者GBDT) 和 RandomForests 都属于集成学习的范畴,相比于单个模型有限的表达能力,组合多个base model后表达能力更加丰富。关于集成学习的理论知识,包括GBT和Random Forests的一些比较好的参考资料:周志华教授的"Ensemble Methods: Foundations and Algorithms",系统的...
阅读(1882) 评论(0)

spark.mllib源码阅读-分类算法4-DecisionTree

本篇博文主要围绕Spark上的决策树来讲解,我将分为2部分来阐述这一块的知识。第一部分会介绍一些决策树的基本概念、Spark下决策树的表示与存储、结点分类信息的存储、结点的特征选择与分类;第二部分通过一个Spark自带的示例来看看Spark的决策树的训练算法。另外,将本篇与上一篇博文"spark.mllib源码阅读bagging方法"的bagging子样本集抽样方法结合,也就理解了Spark下的决...
阅读(2876) 评论(0)

spark.mllib源码阅读-bagging方法

在训练集成分类器时,关键的一步在于如何从全训练样本集中构建子样本集提供给子分类器进行训练。目前主流的两种子样本集构造方式是bagging方法和boosting方法。bagging方法的思想是从全样本集中有放回的进行抽样来构造多个子样本集,每个子样本集中可以包含重复的样本。对每个子样本集训练一个模型,然后取平均得到最后的集成结果。baggingbagging方法的主要目的是为了降低模型的varian...
阅读(1274) 评论(0)

spark.mllib源码阅读-分类算法3-SVM

Spark2.1版本目前只实现了linear SVM(即线性支持向量机),非线性SVM及核技巧目前还没有实现。因此本篇主要介绍的是Spark中的线性SVM及参数求解。SVM的理论及推导可以参考支持向量机通俗导论(理解SVM的三层境界)由于Spark实现的是线性SVM,在此,我将简单介绍一下线性分类器与线性可分、线性SVM、线性不可分下的线性SVM等基本概念与原理,最后再结合Spark介绍以下线性S...
阅读(1573) 评论(0)

spark.mllib源码阅读-分类算法2-NaiveBayes

朴素贝叶斯模型简述:贝叶斯模型通过使用后验概率和类的概率分布来估计先验概率,具体的以公式表达为P(Y)可以使用训练样本的类分布进行估计。如果X是单特征也很好估计,但如果X={x1,x2,..,xn}等n个特征构成,那估计n个特征的联合概率分布P(X)=P(x1,x2,...,xn)将变得非常困难。由于贝叶斯模型的参数难于估计,限制了其的应用。朴素贝叶斯模型是贝叶斯模型的简化版本,通过假设特征之间独...
阅读(2709) 评论(0)

spark.mllib源码阅读-分类算法1-LogisticRegression

传统的线性回归模型z(x)=wx+b,其输出为负无穷至正无穷的区间,如果输出值为一个事件发生的概率,那么就要求输出区间为[0,1],传统的一些线性回归模型就不能work了,一个很简单的想法就是在z(x)线性输出的基础上增加一个从0到1光滑的单调递增的函数。同时对于很多事件来说,在事件确定发生的概率区间内 条件的微弱变化几乎不影响事件的发生,而在事件发生与不发生的交界区间 条件的微弱变化对事件发生的...
阅读(1752) 评论(0)

spark.mllib源码阅读-回归算法2-IsotonicRegression

IsotonicRegression是Spark1.3版本引入的一个带约束的回归模型。IsotonicRegression又称保序回归,保序回归确保拟合得到一个非递减逼近函数的条件下 最小化均方误差,相关的介绍可以阅读http://fa.bianp.net/blog/2013/isotonic-regression/,借用该文的一篇图来说明一下图中横轴为序号,纵轴y为输入数据,假设x为要拟合的数据...
阅读(1294) 评论(0)

spark.mllib源码阅读-回归算法1-LinearRegression

Spark实现了三类线性回归方法:1、LinearRegression:普通线性回归模型2、LassoRegression:加L1正则化的线性回归3、RidgeRegression:加L1正则化的线性回归Spark采用了模型和训练分离定义的方式,模型和模型的迭代计算都很清晰:如LinearRegressionModel和LinearRegressionWithSGD,LassoModel和Lass...
阅读(1516) 评论(0)

spark.mllib源码阅读-优化算法3-Optimizer

Spark中的求解器,根据输入的训练数据及设定的迭代次数、正则化项、参数收敛精度等进行迭代求解模型的参数。Spark内部实现来两类求解器,基于随机梯度下降(miniBatch选取样本)的GradientDescent、基于大规模数值优化算法的LBFGS。在整体架构上,两个类都继承自Optimizer,并需要调用Gradient和UpdaterGradientDescentGradientDesce...
阅读(1504) 评论(0)

spark.mllib源码阅读-优化算法2-Updater

Updater是Spark中进行机器学习时对用于更新参数的轮子,参数更新的过程是1、第i轮的机器学习求解得到的参数wi2、第i+1轮计算得到的梯度值3、正则化选项来计算第i+1轮的机器学习要求解的参数wi+1 Spark实现了三类Updater,SimpleUpdater、L1Updater及SquaredL2Updater,他们之间关系为SimpleUpdater:无正则化的Updater,直接...
阅读(1300) 评论(0)

spark.mllib源码阅读-优化算法1-Gradient

Spark中定义的损失函数及梯度,在看源码之前,先回顾一下机器学习中定义了哪些损失函数,毕竟梯度求解是为优化求解损失函数服务的。监督学习问题是在假设空间F中选取模型f作为决策函数,对于给定的输入X,由f(X)给出相应的输出Y,这个输出的预测值f(X)与真实值Y可能一致也可能不一致,用一个损失函数(lossfunction)或代价函数(cost function)来度量预测错误的程度。损失函数是f(...
阅读(2252) 评论(0)

用户画像怎么做

大数据时代,大家都在说精准营销,所谓精准营销即是将你的商品、服务定向推广到真正需要它的人实现商品服务与用户的精确匹配、达到降低推广费用、提升推广效率的目的,这一点在当今互联网红利消退、获客成本越来越高的今天,更加重要。诸如此类的还有千人千面的个性化服务、智能感知服务等等。需要实现以上目的,需要商品、服务提供者对用户做到足够的了解。怎么做到对用户的了解:通常情况下,我们会基于用户在平台内部的注册信息...
阅读(884) 评论(0)

CNN和RNN在NLP任务中的对比实验

这篇博客主要是拜读IBM Research发表的论文“Comparative Study of CNN and RNN for Natural Language Processing”,结合自己的体会做一个阅读笔记。        目前深度学习主要包括CNN(卷积神经网络)和RNN(递归神经网络)两大阵营,基于卷积的CNN对识别目标任务的结构具有一定的优势,而RNN由于其记忆功能对序列识别建模具备...
阅读(2253) 评论(0)

房屋价格数据采集与分析

随着互联网的发展,可供分析的信息越来越多,利用互联网上的信息来对生活中的问题做一些简单的研究分析,变得越来越便利了。本文就从数据采集、数据清洗、数据分析与可视化三部分来看看新的一年里房市的一些问题。数据采集:         数据采集即从网页上采集我们需要的指定信息,一般使用爬虫实现。当前开源的爬虫非常多,处于简便及学习的目的,在此使用python的urllib2库模拟http访问网页,并Beau...
阅读(1652) 评论(13)
85条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:377814次
    • 积分:3788
    • 等级:
    • 排名:第9317名
    • 原创:74篇
    • 转载:9篇
    • 译文:2篇
    • 评论:138条
    github
    联系
    交流、讨论 QQ:1090549839
    博客专栏
    最新评论