摘要:本文地址为:http://www.cnblogs.com/kemaswill/,作者联系方式为kemaswill@163.com,转载请注明出处。1. 传统向量空间模型的缺陷 向量空间模型是信息检索中最常用的检索方法,其检索过程是,将文档集D中的所有文档和查询都表示成以单词为特征的向量,特征值为每个单词的TF-IDF值,然后使用向量空间模型(亦即计算查询q的向量和每个文档di的向量之间的相似度)来衡量文档和查询之间的相似度,从而得到和给定查询最相关的文档。 向量空间模型简单的基于单词的出现与否以及TF-IDF等信息来进行检索,但是“说了或者写了哪些单词”和“真正想表达的意思”之间有很大的区别.
阅读全文
摘要:在时间序列中,我们需要基于该时间序列当前已有的数据来预测其在之后的走势,三次指数平滑(Triple/Three Order Exponential Smoothing,Holt-Winters)算法可以很好的进行时间序列的预测。 时间序列数据一般有以下几种特点:1.趋势(Trend) 2. 季节性(Seasonality)。 趋势描述的是时间序列的整体走势,比如总体上升或者总体下降。下图所示的时间序列是总体上升的: 季节性描述的是数据的周期性波动,比如以年或者周为周期,如下图: 三次指数平滑算法可以对同时含有趋势和季节性的时间序列进行预测,该算法是基于一次指数平滑和二次指数平滑算法的。 一次.
阅读全文
摘要:本文在我的上一篇博文 机器学习-特征选择(降维) 线性判别式分析(LDA)的基础上进一步介绍核Fisher LDA算法。 之前我们介绍的LDA或者Fisher LDA都是线性模型,该模型简单,对噪音的鲁棒性较好,不容易过拟合,但是,简单模型的表达能力会弱一些,为了增加LDA算法的表达能力,我们可以将数据投影到非线性的方向上去。为了达到这个目的,我们可以先将数据非线性的投影到一个特征空间F内,然后在这个F空间内计算Fisher 线性判别式,达到降维的目的。 首先介绍一下核函数的概念: 如果F空间的维数非常高甚至是无穷维数,那么单纯的只是将原数据投影到F空间就是一个很大的计算量。但是,我们可以并.
阅读全文
摘要:特征选择(亦即降维)是数据预处理中非常重要的一个步骤。对于分类来说,特征选择可以从众多的特征中选择对分类最重要的那些特征,去除原数据中的噪音。主成分分析(PCA)与线性判别式分析(LDA)是两种最常用的特征选择算法。关于PCA的介绍,可以见我的另一篇博文。这里主要介绍线性判别式分析(LDA),主要基于Fisher Discriminant Analysis with Kernals[1]和Fisher Linear Discriminant Analysis[2]两篇文献。 LDA与PCA的一大不同点在于,LDA是有监督的算法,而PCA是无监督的,因为PCA算法没有考虑数据的标签(类别),只.
阅读全文
摘要:本文主要基于Anand Rajaraman和Jeffrey David Ullman合著,王斌翻译的《大数据-互联网大规模数据挖掘与分布式处理》一书。 KMeans算法是最常用的聚类算法,主要思想是:在给定K值和K个初始类簇中心点的情况下,把每个点(亦即数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。 KMeans算法本身思想比较简单,但是合理的确定K值和K个初始类簇中心点对于聚类效果的好坏有很大的影响。 1. 确定K.
阅读全文
摘要:排序一直是信息检索的核心问题之一,Learning to Rank(简称LTR)用机器学习的思想来解决排序问题。LTR有三种主要的方法:PointWise,PairWise,ListWise。ListNet算法就是ListWise方法的一种,由刘铁岩,李航等人在ICML2007的论文Learning to Rank:From Pairwise approach to Listwise Approach中提出。 Pairwise方法的实际上是把排序问题转换成分类问题,以最小化文档对的分类错误为目标。但是评估排序结果的好坏通常采用MAP或NDCG等考虑文档排序的方法,所以Pairwise方法的.
阅读全文
摘要:本文主要基于同名的两篇外文参考文献A Tutorial on Principal Component Analysis。 PCA,亦即主成分分析,主要用于对特征进行降维。如果数据的特征数非常多,我们可以认为其中只有一部分特征是真正我们感兴趣和有意义的,而其他特征或者是噪音,或者和别的特征有冗余。从所有的特征中找出有意义的特征的过程就是降维,而PCA是降维的两个主要方法之一(另一个是LDA). Jonathon Shlens的论文中举了一个物理学中测试理想情况下弹簧振动的例子,非常生动,详见[1](中文翻译见[5])。 我们首先看一下给定一个代表数据记录的矩阵A,如果计算其主成分P,并如何利用.
阅读全文
摘要:很多游戏都需要用到打分系统,比如11平台的天梯,魔兽世界的竞技场,还有国际象棋。Elo Rating System就是一个用来计算二人(或两个团队)竞技游戏中各个选手(团队)等级的算法。该算法由匈牙利裔美籍物理学家Arpad Elo发明。 在打分系统中,每个选手都有一个数字,代表其等级。数字越大的选手等级越高,而分数是由和其他选手竞技得来的,赢得比赛就加分,输掉比赛则扣分。赢得或输掉的分数取决于对战双方的等级差距。比如,如果一个选手A赢了一个比他等级高很多的选手B,则A的等级就会提高跟多,B的等级则会降低很多,反之,如果选手A赢了一个等级远低于自己的选手B,则A的等级不会上升很多,而B的等级.
阅读全文
摘要:模糊关联规则挖掘 关联规则挖掘是数据挖掘最基本和最常用的算法之一,Apriori算法基本上是每个学习数据挖掘的同学掌握的第一个算法。但是,一般的关联规则挖掘算法无法处理涉及连续值的记录。 虽然某些算法把连续值通过划分区间的方法离散化,但是这种硬边界划分的方法效果并不是很好,一些在边缘附近的数据只能属于一个划分,而这与事实不符。比如,年龄的一个划分可以是青年,但如果我们把青年的区间定义为[20,30],则19岁的人就被排除在青年的范围之外了,显然这不是很合适。针对这种问题,我们可以基于模糊集把区间划分成多个模糊集,然后求得某个元素属于某个模糊集的概率(根据模糊隶属函数),这样的话每个元素都可以.
阅读全文
摘要:相关性分析 -pearson spearman kendall相关系数 先说独立与相关的关系:对于两个随机变量,独立一定不相关,不相关不一定独立。有这么一种直观的解释(不一定非常准确):独立代表两个随机变量之间没有任何关系,而相关仅仅是指二者之间没有线性关系,所以不难推出以上结论。 衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数: 1. pearson相关系数,亦即皮尔逊相关系数 pearson相关系数用来衡量两个随机变量之间的相关性,计算公式为: 公式-1 其中cov(X,Y)也叫做X,Y的协方差,σX是X的标准差,μX是X...
阅读全文
摘要:FCM聚类算法介绍 FCM算法是一种基于划分的聚类算法,它的思想就是使得被划分到同一簇的对象之间相似度最大,而不同簇之间的相似度最小。模糊C均值算法是普通C均值算法的改进,普通C均值算法对于数据的划分是硬性的,而FCM则是一种柔性的模糊划分。在介绍FCM具体算法之前我们先介绍一些模糊集合的基本知识。1模糊集基本知识 首先说明隶属度函数的概念。隶属度函数是表示一个对象x隶属于集合A的程度的函数,通常记做μA(x),其自变量范围是所有可能属于集合A的对象(即集合A所在空间中的所有点),取值范围是[0,1],即0<=μA(x)<=1。μA(x)=1表示x完全隶属于集合A,相当于传统集合概
阅读全文
摘要:Mahout中的推荐算法主要有:User-based Recommender, Item-based Recommender和Slope-One Recommender。 1. User-based Recommender 该算法的主要思想是:与用户u最相似的用户喜欢的商品有很大可能也是用户u喜欢的商品。1 对于用户u的每一个没有preference的商品i2 对于每一个对商品i有preference的用户v3 计算用户u与v的相似性s//实际上无需在线计算,可以事先计算好存储起来4 将用户v对于商品i的preference,乘以s,加到用户u对商品i的预测pref...
阅读全文
摘要:Adaboost with trees is the best off-the-shelf classifier in the world. -Breiman 1996 决策树算法起源于1984年Breiman,Friedman等人提出的CART,后来又有人(Quinlan等)提出ID3,C4.5,C5.0,CHAID等算法,但是90年代随着支持向量机(SVM)的提出和发展,决策树遇到了极大的挑战。1996年,Freund和Schapire等人提出了Adaboost算法,可以将多个弱分类器(比如Stump决策树)组合起来形成一个更加强大的强分类器,其性能可以与支持向量机媲美,所以才会有Bre.
阅读全文
摘要:之前泛泛看了下了Random Forest和决策树,现在落实到一个具体决策树算法:CART(Classification and Regression Tree)。 CART是1984年由Breiman, Friedman, Olshen, Stone提出的一个决策树算法,虽然不是第一个机器学习领域的决策树,但却是第一个有着复杂的统计学和概率论理论保证的决策树(这些话太学术了,引自参考文献[2])。 CART是一个二叉决策树,亦即决策树的每个内部节点(决策节点)最多有两个分支。因为之前有博文介绍过ID3和C4.5算法,所以这里只从确定最佳分裂属性和剪枝两方面介绍CART。 1. 确定最佳分裂.
阅读全文
摘要:既然上次讲到了随机森林,而随机森林是由多棵决策树构成的,现在就回头仔细看看决策树。 博客园中已经有介绍决策树的非常好的博文。其中详细介绍了ID3,C4.5决策树的构造,这篇博文主要关注在树的每个节点如何确定最佳分裂属性和剪枝。 1.确定最佳分裂属性 一般介绍决策树都是以ID3(Quinlan 1986)为例。ID3算法使用的是信息增益,信息增益的具体细节我不再赘述。在决策树的节点N上,ID3算法选取在该节点对应的训练样例集合D上用输入属性进行分类后信息增益最大的输入属性。信息增益的定义为:。其中S为节点N上的训练样例集合,A为某个输入属性。对于所有在节点N上可用的输入属性,我们选取信息增益值.
阅读全文
摘要:Random Forest是加州大学伯克利分校的Breiman Leo和Adele Cutler于2001年发表的论文中提到的新的机器学习算法,可以用来做分类,聚类,回归,和生存分析,这里只简单介绍该算法在分类上的应用。 Random Forest(随机森林)算法是通过训练多个决策树,生成模型,然...
阅读全文
摘要:近来做一些遥感图像自动解译的工作,需要根据遥感图像每个单元(像元,像素)的几个波段值和相互之间的位置关系来进行自动分类,也就是确定哪些区域是耕地,哪些是林地,哪些是草地。之前虽然有上过数据挖掘和机器学习的课,但是自己的专业并不在此,对遥感图像的自动分类更是一窍不通,所以慢慢自学,顺便写个博客记录一下自己的学习过程,谬误在所难免,大家多多包涵指正。 根据最近的Mahout Wiki,Mahout实现的分类算法有:随机梯度下降(SGD),贝叶斯分类,Online Passive Aggressive,HMM和决策森林(随机森林)。随机梯度下降当前不能并行处理,贝叶斯分类更适合处理文本数据,所以..
阅读全文