MLDM
文章平均质量分 81
GeekStuff
I will be posting instruction guides, how-tos, troubleshooting tips.
展开
-
Spark MLlib矩阵分解源码分析
基础知识特征值分解如果一个向量 vv 是方阵 AA 的特征向量,可以表示成下面的形式: Av=λvAv = \lambda v 其中, λ\lambda 为特征向量 vv 对应的特征值,矩阵 AA 的特征向量是相互正交的。 特征值分解是将矩阵 AA 分解为如下形式: A=Q∑Q−1A=Q\sum Q^{-1} 其中,矩阵 QQ 是 AA 的特征向量组成的矩阵,∑\sum 是对角矩阵。奇异值原创 2017-03-01 16:07:51 · 2914 阅读 · 0 评论 -
SVM中的Kernel技术
对于SVM的基础知识,可以参考这篇博客《支持向量机SVM学习笔记》,本片博客主要讨论SVM中kernel的使用。SVM中原始问题和对偶问题的定义其中N为训练样本点的个数,d为特征向量x的维度。对于原始问题需要学习d个参数,对于对偶问题需要学习N个参数。如果N i,其中大多数αi为0,那些非零的αi定义了支持向量xi。对于线性不可分的样本点,将其映射到原创 2015-04-27 10:58:25 · 7918 阅读 · 0 评论 -
随机梯度下降与批量梯度下降
线性回归算法属于监督学习的一种,主要用于模型为连续函数的数值预测。主要步骤初步建模后,通过训练集合确定模型参数,得到最终预测函数,这样就可以通过输入自变量便得到预测值,下面给出详细过程: 建立模型根据训练集的数据特点创建假设函数,创建如下基本线性函数: 其中:x:特征值h(x):假设函数n:自变量个数,即特征值数量 确定代价函数为了让假设函数更好的拟原创 2014-09-23 10:45:12 · 3342 阅读 · 0 评论 -
贝叶斯分类学习笔记
Bayes’ RuleFrequency TablesFrequency TablesPredictor ProbabilityTarget ProbabilityPosterior Probability原创 2015-04-17 14:34:48 · 973 阅读 · 0 评论 -
置信度传播算法(Belief Propagation)
置信度传播算法利用结点与结点之间相互传递信息而更新当前整个MRF的标记状态,是基于MRF的一种近似计算。该算法是一种迭代的方法,可以解决概率图模型概率推断问题,而且所有信息的传播可以并行实现。经过多次迭代后,所有结点的信度不再发生变化,就称此时每一个结点的标记即为最优标记,MRF也达到了收敛状态。对于无环环路的MRF,BP算法可以收敛到其最优解。原创 2014-11-06 16:11:30 · 54200 阅读 · 39 评论 -
集成学习——Boosting和Bagging
Boosting算法Boosting算法指将弱学习算法组合成强学习算法,它的思想起源于Valiant提出的PAC(Probably Approximately Correct)学习模型。基本思想:不同的训练集是通过调整每个样本对应的权重实现的,不同的权重对应不同的样本分布。1. 首先赋予每个训练样本相同的初始化权重,在此训练样本分布下训练出一个弱分类器;原创 2015-04-12 20:05:18 · 5158 阅读 · 0 评论 -
浅谈BP(Back-propagation)算法
BP的核心思想:将输出误差以某种形式通过隐层向输入层逐层反传,这里的某种形式其实就是"信号的正向传播和误差的反向传播"的过程。信息正向传播:输入层 -----> 隐含层 ----> 输出层 误差方向传播:误差以某种形式在各层表示 ----> 修正各层单元的权值原创 2014-09-22 10:12:52 · 4315 阅读 · 0 评论 -
推荐系统----Latent Factor Models
The Netflix Prize BellKor Recommendation System原创 2014-10-26 13:06:33 · 4689 阅读 · 0 评论 -
随机森林算法
决策树是一个树状预测模型,它提供一个从观测到目标值的映射。决策树存在如下问题:(1)决策树算法在产生规则的时候采用了局部的贪婪方法,每次只选取一个属性进行分析构造决策树,所以分类规则相当复杂,针对此问题一般使用决策树剪枝的办法实现;(2)在搜索中不进行回溯,所以它容易收敛到非全局的局部最优解;(3)在学习中,由于分类器过于复杂,则它可能会过于适应噪声,从而导致过拟合的问题。为了原创 2015-04-12 21:22:45 · 5769 阅读 · 2 评论 -
线性回归分析
简单线性回归模型描述了两个变量x和y之间的关系,用以下方程表示。θ0 和θ1 为参数,ξ为误差。y=θ0 +θ1x + ξ如在数据集MASS cats中,它包含了两个随机变量Bwt和Hwt的样本数据,主要描述成年雄猫和雌猫的体重和心脏的重量。Sex:性别,由F和M标识;Bwt:体重,单位kg;Hwt:心脏重量,单位g;做出Bwt和Hwt之间原创 2014-09-29 16:19:48 · 7770 阅读 · 0 评论 -
矩阵SVD分解
如何计算矩阵A的SVD,UΣVT,其中 首先,计算奇异值(singular value)σi通过找到AAT的特征向量。原创 2014-09-12 14:35:37 · 1501 阅读 · 0 评论 -
Spark MLlib之分类模型源码分析
逻辑回归回顾Logistic regression是机器学习常用的分类模型,用于将不同样本分开。本文的重点不在Logistic regression的细节,关于Logistic regression的具体原理和公式推导请参考zuoxy09的博文—— 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)。 接下来给出Logistic regression的cost原创 2016-07-23 21:52:39 · 2025 阅读 · 0 评论 -
词的分布表示
词的表示One-hot Representation(独热表示) “苹果”表示为 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …] 优点:简介,缺点:词之间是孤立的,维数灾难。Distributional Representation(分布式表示) 词向量或者词嵌入(word embedding)是用一个向量来表示一个词,一定程度上可以用来刻画词之间的语义距离。 给原创 2016-10-29 18:00:41 · 13592 阅读 · 3 评论 -
GBDT(Gradient Boost Decision Tree)
GBDT,叫法比较多,如Treelink、 GBRT(Gradient Boost Regression Tree)、Tree Net、MART(Multiple Additive Regression Tree)等。GBDT是决策树中的回归树,决策树分为回归树和分类树。GBDT可以用来做分类、回归。GBDT由多棵决策树构成,通常都是上百棵树,而且每棵树规模都较小(即树的深度会比较浅)。模型预测的原创 2015-09-13 15:00:46 · 8957 阅读 · 1 评论 -
K-means和K-medoids
K-means算法通过计算一类记录的均值来代表该类,但是受异常值或极端值的影响比较大。和K-means比较相似另一种算法K-medoids,它通过中心点的迭代轮换及最小化类内差异完成数据对象聚类。首先随机初始中心,然后将其余对象分配给最近的簇; 在反复用非中心点来替代中心点后重复分配过程,以提高聚类质量至聚类质量不再变化。而在K-means中,我们将中心点取为当前cluster中所有数据点的平均值原创 2014-07-02 09:51:59 · 3859 阅读 · 2 评论 -
支持向量机SVM学习笔记
SVM 核心思想1. Define an optimal hyperplane: maximize margin2. Extend the above definition for non-linearly separable problems: have a penalty term for misclassifications.3. Map data to h原创 2014-10-20 14:00:26 · 3806 阅读 · 4 评论 -
EM算法学习笔记
EM is typically used to compute maximum likelihood estimates given incomplete原创 2016-01-11 08:59:57 · 1593 阅读 · 0 评论 -
Spark上实现Kmeans
import java.util.Randomimport org.apache.spark.SparkContextimport SparkContext._import org.apache.spark.util.Vectorobject MyKMeans {val N = 1000va原创 2015-01-12 15:28:36 · 1218 阅读 · 0 评论 -
推荐系统----Content-based Systems
推荐系统的关键问题 基于内容的推荐原创 2014-10-26 12:58:28 · 1313 阅读 · 0 评论 -
推荐系统----Collaborative Filtering
Collaborative Filtering Item-Item Collaborative Filtering Mining Massive Datasets原创 2014-10-26 13:03:35 · 1425 阅读 · 0 评论 -
数据降维
译文七大数据降维算法原文7 Machine Learning techniques for Dimensionality Reduction原创 2015-09-23 20:34:09 · 1201 阅读 · 0 评论 -
图的Laplacian矩阵
设G=<V,E>是一个n阶无向简单(无环,无多重边)图,其顶点集和边集分别记为V=V(G)={v1,v2,…vn}和E=E(G)={el,e2,…,en),我们用如下方式刻画图的Laplacian矩阵:原创 2014-12-04 10:18:38 · 5263 阅读 · 0 评论 -
关联规则(Association Rules)
A-Priori 算法 Frequent Itemset原创 2014-10-21 12:43:45 · 2842 阅读 · 2 评论 -
个性化的PageRank和主题感知的PageRank
PageRank算法最初是用于计算Web中网页的权威值 (或重要性)。PageRank算法认为一个网页的权威值可以通过网络的链接结构来传递,在Web的链接图中,如果存在一个页面q指向另一个页面p的链接,则表明q对p的认可(vote),即q将自己的权威值部分传递给了P。因此,一方面,指向一个页面p的页面越多,则该页面得到的权威值越高;另一方面,指向页面p的页面,如g,自身的权威值越高,则p得到的权威原创 2014-11-06 09:24:34 · 10472 阅读 · 0 评论 -
p-稳定E2LSH
LSH算法的基本思想就是用随机的哈希函数值保证相似的数据点以很高的概率发生冲突而能够被检测到。最初的LSH应用在汉明空间,后来将其扩展到欧氏空间。欧氏局部敏感哈希(E2LSH)继承了原始LSH的两个特性:第一是它很适合于维数高但稀疏的数据点,如图像特征;第二是如果数据满足一定的有界增长特性,它就可以很快地找到精确的近邻。 E2LSH是基于p-稳定分布的,它使用哈希函数将数据库中的矢量点投影原创 2014-11-21 14:58:28 · 5280 阅读 · 1 评论 -
LSH技术---Finding Similar Items
承接上一篇博客,我们使用minhash压缩内容量较大的文档,但是文档相互之间的相似性计算仍然比较麻烦,因为两两之间的文档pairs太多了。有时候我们只需要最相似的文档pairs,没有必要计算所有pairs,为此我们引入LSH(locality-sensitive hashing)技术。 LSH的基本思想是:将原始数据空间中的两个相邻数据点通过相同的映射后,这两个数据点在新的数据空间中仍然相原创 2014-11-19 17:49:40 · 2976 阅读 · 2 评论 -
k-shingles与minhash技术
对于web网页去重的应用,如抄袭、镜像等,通过将网页表示为字符k-grams(或者k-shingles)的集合,把网页去重的问题转化为找到这些集合的交集。使用传统的方法存储这些巨大的集合以及计算它们之间的相似性显然是不够的,为此,对集合按某种方式进行压缩,利用压缩后的集合推断原来集合的相似性。 Jaccard相似性:只关注集合之间的交集大小。集合S和T的Jaccard相似性定义如下:原创 2014-11-19 17:46:40 · 9790 阅读 · 0 评论 -
图可视化(Graph Visualization)
http://prefuse.org/ http://www.cytoscape.org/http://www.graphviz.org/http://graphexploration.cond.org/原创 2014-10-11 08:46:49 · 5220 阅读 · 0 评论 -
TrustRank算法
TrustRank是近年来比较受关注的基于链接关系的排名算法。TrustRank 可以翻译为“信任指数”。TrustRank算法是应对轻易操纵Google排名、提升搜索结果质量的作弊手段。实施这一方法极大地增加了短时间操作排名的难度,迅速改善了搜索结果的质量。所有要以TrustRank值作为网页排名的重要依据,页面的TrustRank用来评价其是否具有真正权威性。TrustRank用以将来自Spam的链接与优质内容带来的真正意义上的好评区别开来。原创 2014-11-08 20:16:30 · 11119 阅读 · 2 评论 -
谱聚类(Spectral Clustering)算法
谱聚类算法由于其算法流程简单、计算简洁与 Kmeans 算法相比不容易陷入局部最优解,能够对高维度、非常规分布的数据进行聚类。谱聚类算法是利用图谱理论来进行算法分析,思想是把数据分析问题看成是图的最优分割问题,将数据样本看成是各个数据点,然后将数据点描绘成一个图表,根据图表关系计算出相应的相似矩阵,找到一种最优分割方法计算出相似矩阵的最小特征向量,最后利用相应算法得出最后的聚类结果。原创 2014-12-03 17:36:50 · 6024 阅读 · 1 评论 -
线性判别分析LDA
PCA的降维过程中,非线性结构特征不能被有效的提取。所以,选择主成分的时候不但要保证样本中信息不丢失,还要考虑主成分的描述判别效果;此外,PCA并没有利用样本点之间的类别信息,故不能使其分类达到最优化。线性判别分析(Linear Discriminant Analysis,LDA),也称为Fisher线性判别,是模式识别的经典算法。它最早由Fisher提出,基本思想是寻原创 2015-04-17 21:28:33 · 1803 阅读 · 0 评论 -
VSM模型与TF-IDF权重
VSM模型向量空间模型(VSM,Vector Space Model)由Gerard Salton和McGill等在1969年提出。该模型将文本内容转换为易于数学处理的向量形式,并表示为多维空间中的一个点,把对文本内容的处理简化为向量空间中向量运算,使问题的复杂度大为降低使得各种相似计算和排序成为可能。在向量空间模型中,文本空间被看作是由一组正交词条矢量所组成的矢量空问,每篇文本d表示为其原创 2014-11-18 18:33:02 · 8735 阅读 · 0 评论 -
ROC曲线
ROC(ReceiverOperating Characteristics Curve,指受试者工作特征曲线 / 接收器操作特性曲线),在评估和比较二分类模型(结果通常标记为Positive或Negative)的性能时非常有用,它是一个二维的曲线,Y轴用sensitive(敏感性)表示,X轴用1-specificity(特异性)表示。它通过将连续变量设定出多个不同的临界值(cut-off poin原创 2014-10-03 21:02:44 · 3293 阅读 · 2 评论 -
ARIMA模型
时间序列分析分为两大类:频域分析和时域分析。频域分析也称为谱分析,是一种非常有用的纵向数据分析方法。时域分析主要关心从序列值之间的相关关系对时间序列发展规律。在时域分析里,生成时间序列数据的随机过程按照统计规律的特征是否随着时间变化而变化分为两类,如果随机过程的特征随着时间变化,如GDP的时间序列一般随着时间稳定增长,则此过程是非平稳的;相反,如果随机过程的特征不随时间而变化,如每年相同季原创 2015-06-02 09:09:27 · 43840 阅读 · 0 评论 -
数据降维--SVD&CUR
矩阵的秩秩即维度SVD使用SVD降维SVD示例CUR分解SVD和CUR比较原创 2014-10-19 18:18:40 · 4560 阅读 · 0 评论 -
非负矩阵分解NMF
非负矩阵分解(NMF):给定非负矩阵V(n * m)及正整数k 由于矩阵W和H的非负限制,NMF 可以看成是非负数据的线性相叠加。W的每一列可以看成是基向量,则原始矩阵V 为向量W的线性叠加,而矩阵 H 为叠加的稀疏矩阵。 非负矩阵分解算法的损失函数交替最小二乘(ALS)分解矩阵的大致步骤如下:(1)用一个非负矩阵初始化矩阵H(2)重复下原创 2015-04-21 16:36:36 · 4914 阅读 · 0 评论 -
浅谈PCA算法
PCA(Principal Component Analysis)是一种数据分析方法,它通过线性变换将原始数据变换为一组各维度线性无关的表示,用于提取数据的主要特征分量,常用于高维数据的降维。降低数据的维度是非常有用的,如我们看到数据的分布仅限于2维或者3维,低维数据可以在数值算法中明显减少运行时间,而且许多统计模型存在协变量的高度相关,PCA就可以产生不相关协变量的线性组合。PCA的思想是将原创 2014-10-02 18:40:03 · 13020 阅读 · 0 评论 -
矩阵分解
Eigen/diagonal Decomposition Symmetric Eigen Decomposition原创 2014-08-21 09:28:43 · 1481 阅读 · 2 评论