
机器学习
young_so_nice
这个作者很懒,什么都没留下…
展开
-
利用ALS算法做用户产品推送
ALS 是什么? ALS 是交替最小二乘 (alternating least squares)的简称。 在机器学习的上下文中,ALS 特指使用交替最小二乘求解的一个协同推荐算法。 它通过观察到的所有用户给产品的打分,来推断每个用户的喜好并向用户推荐适合的产品。协同过滤 常被应用于推荐系统,旨在补充用户-商品关联矩阵中所缺失的部分。 MLlib当前支持基于模型的协同过滤,其中用户和商品通过一原创 2016-08-16 15:12:01 · 3628 阅读 · 2 评论 -
PCA算法的理解,和在kneans中的运用
PCA简单的说,它是一种通用的降维工具。在我们处理高维数据的时候,了能降低后续计算的复杂度,在“预处理”阶段通常要先对原始数据进行降维,而PCA就是干这个事的 本质上讲,PCA就是将高维的数据通过线性变换投影到低维空间上去PCA的原理就是将原来的样本数据投影到一个新的空间中, 相当于我们在矩阵分析里面学习的将一组矩阵映射到另外的坐标系下。 通过一个转换坐标,也可以理解成把一组坐标原创 2016-08-12 10:57:15 · 1825 阅读 · 0 评论 -
SVD算法实战应用解析
svd底层是怎么实现的就不去细说了,我们先来谈谈到底可以利用svd来做什么。通过调用svd算法,我们可以得到各个属性的特征值,这个特征值越大对我们判断的影响就越大。特征比较小的时候,我们可以直接忽略该特征进行对事物的判断,判断结果也能比较精准,在这里就体现了svd算的降维。 下面通过调用mlib的svd算法和kmeans算法来,证实svd降维的准确性。 1,首先调用svd算法对数据进行特原创 2016-08-11 14:51:54 · 2463 阅读 · 1 评论 -
Svm算法理解以及MLlib实现
首先SVM算法它也是一种分类算法,类似于贝叶斯分类算法,但是在底层的实现还是不同,它可以用更少的样本,训练出更高精度的模型。支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的, 它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中 支持向量机方法是建立在统计学习理论的VC原创 2016-08-08 14:51:16 · 2975 阅读 · 0 评论 -
Naive Bayes - spark.mllib的实现
前面写了用Scala实现朴素贝叶斯算法,其实是不完善的,没有真正的实现。 简单说,朴素贝叶斯算法,就是个体的每个属性都是相互独立的,计算他们的概率,这个不细说,可以参看:http://www.ruanyifeng.com/blog/2013/12/naive_bayes_classifier.html 实现贝叶斯算法需要分两步走: 首先训练样本得到模型,然后根据模型,对个体的行为进行判断预测。原创 2016-07-25 20:41:03 · 752 阅读 · 0 评论 -
k-means算法原理以及Scala调用MLlib实现
聚类属于无监督学习,以往的回归、朴素贝叶斯、SVM等都是有类别标签y的, 也就是说样例中已经给出了样例的分类。而聚类的样本中却没有给定y,只有特征x, 比如假设宇宙中的星星可以表示成三维空间中的点集 聚类的目的是找到每个样本x潜在的类别y,并将同类别y的样本x放在一起。 比如上面的星星,聚类后结果是一个个星团,星团里面的点相互距离比较近,星团间的星星距离就比较远了。原创 2016-08-10 11:08:30 · 3516 阅读 · 2 评论 -
MLlib学习Basic Statistics
首先介绍:Summary statistics 1、summary statistics(汇总统计) Summary statistics提供了基于列的统计信息,包括6个统计量:均值、方差、非零统计量个数、总数、最小值、最大值。import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.mllib.原创 2016-08-15 13:04:13 · 578 阅读 · 0 评论