NLP
文章平均质量分 56
xceman1997
这个作者很懒,什么都没留下…
展开
-
【svm学习笔记】svm_理论基础4
【线性不可分问题 之 核函数】上面讨论的都是线性可分问题,虽然最终也没看到解的样子或者解的方法,总之,我们假设已经可以解了。接下来,如果样本线性不可分,咋整?好办。记得从前图像处理里面有个小波变换,大概的意思就是时域效果不好的话,变换到复域效果就好了,变换的名称我记得叫傅里叶变换。在这里也是一样。如果我们在某个样本空间中找不到最优分类面,那么我们就想办法把他映射到高维空间去原创 2012-08-29 23:17:45 · 1035 阅读 · 0 评论 -
【svm学习笔记】svm_理论基础5
【线性不可分问题 之 松弛变量】经过核函数变换,原则上已经能把绝大多数样本分开了(如果还不能大规模分开,那要查一查特征选择那块儿了,是不是抽取特征太少,或者抽取方法不对),剩下的少量样本还不能分开,怎么办?这里的办法是特殊样本特殊对待,如果样本很“离群”,我们就认为是噪声,不加理会;如果不太“离群”,我们就要多花精力去看看。不过思路是这样,怎么体现在目标优化函数上?这就引入了松弛变原创 2012-08-30 00:10:57 · 1013 阅读 · 0 评论 -
【svm学习笔记】svm_理论基础2
【线性可分问题 之 问题】先从最简单的情况说起,说线性可分问题。问题是这样的,至少可以想象是这样的:在二维空间中有一些点,分别属于两个不同的类别,如何在二维空间中找到这样一条直线,直线的一边是某一类别的点,直线的另一边是另一个类别的点?如果这样的直线存在多条,如何选择一条最“好”的直线?上面描述中,样本被描述成了二维空间的点;其实也可以是高维空间中的点,而一个向量来表征。类别,可以简单地用原创 2012-08-29 00:48:06 · 1542 阅读 · 0 评论 -
【svm学习笔记】svm_基础理论1
【写在前面】这两天因为工程需要,用到svm,好奇之下,也自学一下,顺便记些笔记。理论部分,主要参考的是网友Jasper的网文《svm入门》系列,原帖子见http://www.blogjava.net/zhenandaci/MyPosts.html。既然人家都写了,为啥我还要写?不是写给别人看得,是写给自己的。主要是理清自己的思路,毕竟svm的理论这么深厚,稍不留神,就不知道“走”到原创 2012-08-28 23:22:35 · 1081 阅读 · 0 评论 -
【svm学习笔记】svm_理论基础3
回顾一下上文的思路,对于线性可分问题,我们可以用超平面将训练样本分开。但是通常超平面有很多个,我们选择距离两类样本点几何间隔最大的那个,这样能够使得模型错误率的“上界”最小。而这个问题,有进一步的转化为求超平面法向量||w||的值最小的问题。好,今天就从这里开动。【线性可分问题 之 问题转化 之 凸二次规划】||w||表示向量w的“范数”,最常用的是二阶范数,怎么算呢?原创 2012-08-29 22:32:16 · 937 阅读 · 0 评论 -
【转载】各大推荐引擎资料汇总
近在做一个推荐的任务,头绪繁多,回头看看同行的工作,希望能有些帮助。零零碎碎看过好多资料,有些已经忘记了,会慢慢补全。欢迎同行加我微博进行交流。视频类Netflix: 很多方法的融合。可以参考我翻译的blog。Hulu: 主要是item based CF。参考官方博客上的文章。Youtube: 开始是random walk,后来改为类转载 2012-09-04 11:06:08 · 1892 阅读 · 0 评论 -
【LDA】话题模型(topic model)的提出及发展历史
topic model 是一种应用十分广泛的产生式模型(generative model),在IR, NLP,ML都有广泛的应用,本文将对目前已有的topic model进行分类总结,然后选择几个代表性的topic model进行较为详细的介绍,从而理解topic model 的思想,以及怎么应用。topic model最经典的模型之一是LDA(latent dirichlet a转载 2012-09-04 16:47:03 · 3118 阅读 · 0 评论 -
【LDA】基于LDA的Topic Model变形
基于LDA的Topic Model变形最近几年来,随着LDA的产生和发展,涌现出了一批搞Topic Model的牛人。我主要关注了下面这位大牛和他的学生:David M. BleiLDA的创始者,04年博士毕业。一篇关于Topic Model的博士论文充分体现其精深的数学概率功底;而其自己实现的LDA又可体现其不俗的编程能力。说人无用,有论文为证:J. Chang and D. Ble转载 2012-09-04 16:49:51 · 1480 阅读 · 0 评论 -
【朴素贝叶斯】实战朴素贝叶斯_基本原理
【写在前面】最近因为工作原因,需要做文本过滤任务,即从海量文本中过滤掉杂质文本——也可以理解为感兴趣的文本。这是一个特殊的文本分类任务。特殊在于,只有两个类别;而且杂质文本的数量远小于正常文本的数量。先不理会它的特殊性。我们就按照文本分类任务来做。首先想到的,自然是号称最简单、最高效的naive bayes模型。不过实践起来,发现遇到的问题挺多。模型不复杂,但在应用的时候,还需要考原创 2012-09-06 21:01:48 · 3145 阅读 · 0 评论 -
【朴素贝叶斯】实战朴素贝叶斯_文本分类
【文本分类】文本分类是经典的NLP问题,就是把一个文本自动分到若干个类别之一当中。类别可以是政治、经济、女性、财经等,既可以用字符串形式表示,也可以内部用整数形式来表示。对于我的文本过滤问题,则类别只有两个:不应该过滤 和 应该过滤。接下来是文本表示问题,即用什么量来代表一个文本,从而可以区别其他文本。通常是用“特征词”来表示。特征词是一些经过挑选的词语(特征选择问题我们后面再详细讲),这些词原创 2012-09-06 22:47:32 · 5938 阅读 · 0 评论 -
【朴素贝叶斯】实战朴素贝叶斯_代码实现_数据和接口
接下来,进行代码实现。【样本格式】首先,定义一下输入样本的格式,这些样本用于对朴素贝叶斯模型进行训练。定义格式如下:1:9242 13626 28005 41622 41623 34625 36848 5342 51265 0:16712 49100 2933 65827 6200 1:53396 3675 43979 25739 0:17347 61515原创 2012-09-07 15:15:04 · 2981 阅读 · 0 评论 -
【朴素贝叶斯】实战朴素贝叶斯_代码实现_特征选择1
特征选择对于文本分类任务很重要,选的好了能够大大提高文本分类准确率。其实特征选择也没有多神秘。首先,不选择也是一种选择,把所有可能的特征类型都用来作文本分类也没有问题。其次,随机选择也是一种选择,效果还真不见得差到哪里去。第三,特征选择方法有很多:卡方选择、信息增益、tf/idf也行。这一篇,还是介绍最基本的卡方选择方法。【基本原理】卡方选择就是通过卡方公式计算某个特征与某个类别之原创 2012-09-07 17:05:15 · 5772 阅读 · 1 评论 -
【朴素贝叶斯】实战朴素贝叶斯_代码实现_特征选择2
【选择特征】其实对于卡方选择来说,上一篇软文基本上已经几乎写完了——毕竟卡方值都计算出来了,接下来,选择就行了呗。选择的方法?上文不是说了么,卡方的值表示特征与类别之间的关联,选择卡方值大的特征类型不就行了么。不过,还有最后一个问题,问题在于我们有多个类别。当我们要选择m个特征的时候,每个类别选择几个?哦,如果有k各类别,那么平均分配一下,每个类别选择m/k个,各个类别加起来就是m个了。哦,那原创 2012-09-07 21:09:00 · 3101 阅读 · 0 评论 -
【朴素贝叶斯】实战朴素贝叶斯_代码实现_训练算法
说一下Train函数的实现。在上文中,我提到过,朴素贝叶斯也有两种模型:贝努力模型和多项式模型。小弟第一次实现朴素贝叶斯,就老老实实按照基本原理做了一个贝努力模型;多项式模型也不难,变通一下就行。不废话了,直接上代码了,有点长,不过很容易看懂:bool NaiveBayes::Train (const char * sFileSample, int iClassNum, i原创 2012-09-07 16:01:37 · 17981 阅读 · 1 评论 -
【朴素贝叶斯】实战朴素贝叶斯_代码实现_预测
预测的程序就很简单了:1. 计算输入样本的特征向量与模型的特征向量的向量内积;2. 在多个类别中,选择概率最大的类别。不过,贝努利模型和多项式模型的区别也就在此,在1——对那些在输入样本中没有出现的特征类型,那些取值为0的特征类型,如何处理。从前说过,我写的是贝努利模型,所以,这些特征类型的条件概率也计算进去了。计算向量内积的代码如下: double NaiveBayes::C原创 2012-09-07 22:41:37 · 5914 阅读 · 3 评论 -
【思考】tf/idf之于文本分类
因为工作中需要用到计算词语权重,进而作词与选择,思考了一下tf/idf。首先还是简单介绍一下tf/idf。这个概念最开始用于信息检索。tf表示term frequency,通常是指词频;idf表示inversed document frequency,是文档频率的倒数。计算方式如下:通常是对于一篇文档,统计某个词出现的次数,并用文档中的总词数作归一化,计算出的tf在(0,1)之间。原创 2012-09-28 20:18:12 · 5532 阅读 · 1 评论 -
【svm学习笔记】svm_理论学习图谱_上
这两天,因为工作需要,断断续续在看svm的一些资料。因为之前也看过其他的一些机器学习模型,并动手实现过相关代码,如:最大墒模型等,所以最初以为学习svm的过程应该与上述经历类似。事实证明,svm是个坑,进去容易,爬上来难。难的主要在于,svm本身是由多个不同方面的理论拼接而成,而每个理论问题,还都挺难;而且这些理论,对于最终的代码实现,也不见得有多大帮助。不过了解这些理论,也能更加深入地感受svm原创 2012-09-12 16:29:12 · 1749 阅读 · 0 评论 -
【svm学习笔记】svm_理论学习图谱_下
接着上一篇说。泛化理论帮我们解决了维数灾难的问题,同时又指导我们找到了目标函数,将模型学习问题转化成了有约束条件下的优化问题。那么我们又知道,svm实际上是在高维空间学习一个超平面,那这个目标函数到底找到的是哪个超平面啊?这有引入了一些神马函数间隔、几何距离等东东。然后发现,找的是距离两类样本有“最大间隔”的超平面。这就是目标函数的几何意义。那么我们有了最优化问题,那怎么解原创 2012-09-12 17:26:51 · 6757 阅读 · 0 评论 -
探索推荐引擎内部的秘密:深入推荐引擎相关算法 - 协同过滤
原文地址:http://www.cnblogs.com/shihao/archive/2011/09/08/2170418.html 与“初探:探索推荐引擎内部的秘密”是姊妹篇。集体智慧和协同过滤什么是集体智慧集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web转载 2012-09-13 22:01:08 · 1468 阅读 · 0 评论 -
探索推荐引擎内部的秘密:深入推荐引擎相关算法 - 聚类
聚类分析什么是聚类分析?聚类 (Clustering) 就是将数据对象分组成为多个类或者簇 (Cluster),它的目标是:在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。所以,在很多应用中,一个簇中的数据对象可以被作为一个整体来对待,从而减少计算量或者提高计算质量。其实聚类是一个人们日常生活的常见行为,即所谓“物以类聚,人以群分”,核心的思想也就是聚类。人们总是不断转载 2012-10-08 19:38:12 · 1053 阅读 · 0 评论 -
探索推荐引擎内部的秘密:推荐引擎初探
csdn的排版我用的不熟,有些标题内容显示有问题,原文链接在这里。“探索推荐引擎内部的秘密”系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用。同时在理 论讲解的基础上,还会结合 Apache Mahout 介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法。本文作为这个系列的第一篇文章,将深转载 2012-08-29 13:31:43 · 853 阅读 · 0 评论 -
【Python学习】python中文分词
原文链接http://www.isnowfy.com/python-chinese-segmentation/用很简短的代码实现了一个动态规划为基础的分词算法。 ======================================================================= 相对于英文而言,中文在计算机处理方面有个必须要面对的问题就是中文分词,英文转载 2012-10-08 19:24:39 · 1226 阅读 · 0 评论 -
微博上关于LDA和PLSA的讨论
自己对PLSA和LDA从来没去仔细的推导和实现过,资质太差,也没专门拿出时间来去搞。最近理解了一下,已经没多么的难了。打算最近写个自己理解、推导、代码、例子。偶然看见微博上余凯、张栋等人关于这个问题的探讨,摘录下来,为自己以后对这两个模型做推导或者实现的时候,有些指导的意义:(如果您不愿意我将您的观点记录再次,那么给我说,我去掉,我只是觉得,在我自己还没有理解和观点的情况下,这些对我有指导转载 2012-10-13 18:14:11 · 4172 阅读 · 1 评论 -
贝叶斯推断及其互联网应用(一):定理简介
google阮一峰的blog软文,比较受追捧,转载一下。原文网址http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html 一年前的这个时候,我正在翻译Paul Graham的《黑客与画家》。那本书的第八章,写了一个非常具体的技术问题----如何使用贝叶斯推断过滤垃圾邮件(英文版)。我没完全看懂转载 2012-10-17 11:22:02 · 1854 阅读 · 0 评论 -
【学习笔记】BOM和UTF编码纪要
BOM——byte order mark,用来放在文本文件前端(例如unicode文件前端),用来表示当前文件的byte order(大端or小端)以及是用何种编码格式(utf8、utf16、urf32等)。 对于大端系统,utf16的BOM是0xFEFF;对于小端系统,如windows,utf16的BOM是0xFFFE。这样用UE打开文本文件,如果看到上面的标示,就可以判断是UTF16编原创 2012-10-17 20:24:07 · 981 阅读 · 0 评论 -
【读书笔记】《大数据——互联网大规模数据挖掘与分布式处理》
计算所王斌老师翻译的,前两天在微博上炒得比较热。第一时间买来,通读了下。先说一下总体感觉吧。有些内容结合了map-reduce等大数据的流行处理方法,是比较“时尚的”。有些内容过于理论化,例如证明算法的上界和下界,而证明过程又不是严谨的过程,鸡肋有些内容,如:pagerank、推荐引擎等内容,比较浅显,不够深入全文读起来不够流畅,往往一段内容看了几遍,才看清楚说的内容;不知道是原创 2012-10-21 11:44:54 · 6969 阅读 · 3 评论 -
【转载】Beam Search Algorithm (Draft by Andrew Jungwirth)
讲beam search的。从前接触过这个算法,据说这个文章讲得透彻,还没来得急看。原文链接:http://jhave.org/algorithms/graphs/beamsearch/beamsearch.shtml ==================================================================================转载 2012-10-31 19:41:20 · 1776 阅读 · 0 评论 -
【NLP基础】TF-IDF模型的概率解释
转载自cool shell,原文链接:http://coolshell.cn/articles/8422.html#jtss-tsina 信息检索概述信息检索是当前应用十分广泛的一种技术,论文检索、搜索引擎都属于信息检索的范畴。通常,人们把信息检索问题抽象为:在文档集合D上,对于由关键词w[1] … w[k]组成的查询串q,返回一个按查询q和文档d匹配度relevance(q,转载 2012-10-24 15:06:41 · 1758 阅读 · 0 评论 -
【推荐系统】Amazon.com的推荐
推荐算法以其在电子商务网站的用途而著称,它们利用有关一个顾客的兴趣作为输入,来产生一个推荐商品的列表。很多应用仅仅使用顾客购买并明确表示代表其兴趣的商品,但它们也可以利用其他属性,包括已浏览的商品、人口统计特征数据、主题兴趣,以及偏爱的艺术家。在Amazon.com,我们利用推荐算法,对每位顾客提供在线商店个性化。在顾客兴趣的基础上,商店有了彻底的改观,向一个软件工程师展示编程类标题,向一转载 2012-10-25 13:51:43 · 1657 阅读 · 0 评论 -
【学习笔记】Jaccard相似度和广义Jaccard相似度
1. 狭义Jaccard相似度,计算两个集合之间的相似程度,元素的“取值”为0或1对集合A和B,Jaccard相似度计算如下:Jaccard(A, B)= |A intersect B| / |A union B|相似度数值在[0, 1]之间,当A==B的时候,为1. 优缺点,就是元素的取值只能是0或者1,无法利用更丰富的信息。由相似度,可以转换成Jaccard距离原创 2013-02-21 20:55:40 · 18576 阅读 · 1 评论 -
【NLP基础】相似度计算常用方法综述
原文地址:http://blogread.cn/it/article/5529?f=wb引言相似度计算用于衡量对象之间的相似程度,在数据挖掘、自然语言处理中是一个基础性计算。其中的关键技术主要是两个部分,对象的特征表示,特征集合之间的相似关系。在信息检索、网页判重、推荐系统等,都涉及到对象之间或者对象和对象集合的相似性的计算。而针对不同的应用场景,受限于数据规模、时空开销等转载 2013-03-06 10:34:46 · 2037 阅读 · 0 评论 -
【学习笔记】读项亮的《推荐系统实践》_第三章推荐系统冷启动问题
第三章 推荐系统冷启动问题这一章介绍推荐系统中冷启动时什么问题,以及通常怎么解决这个问题。3.1 冷启动问题简介冷启动问题的分类:1. 用户冷启动(新用户来了);2. 物品冷启动(新物品来了);3. 系统冷启动(整个推荐系统都是新的,也可以认为,它和“用户冷启动”的区别是,所有用户对系统冷启动来讲都是新用户,都面临冷启动问题)冷启动问题的解决方案:说白了,就是尽可能原创 2013-02-25 00:22:20 · 3457 阅读 · 0 评论 -
k-d tree算法
原文地址:http://www.cnblogs.com/eyeszjwang/articles/2429382.html k-d tree算法 k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。应用背景 SIFT算法中做特征点匹配的时候就会利用到k-d树。而特转载 2013-02-27 20:50:21 · 736 阅读 · 0 评论 -
【学习笔记】读项亮的《推荐系统实践》_第四章利用用户标签数据
第四章利用用户标签数据介绍UGC(user generated content)的使用。做推荐,一种是通过相似的用户给当前用户推荐物品;一种方法是通过与用户喜欢的物品相似的物品来推荐物品;本章讲的是第三种方法,即用过一些特征(联系用户和物品)来为用户推荐物品。这个特征可以表现为物品属性的集合,也可以表现为隐语义向量,也可以是标签。4.1 UGC标签系统的代表应用列举原创 2013-03-29 19:41:07 · 1807 阅读 · 0 评论 -
怎样量化评价搜索引擎的结果质量
原文地址:http://www.cnblogs.com/scnucs/archive/2012/10/10/2718503.html 怎样量化评价搜索引擎的结果质量搜索质量评估是搜索技术研究的基础性工作,也是核心工作之一。评价(Metrics)在搜索技术研发中扮演着重要角色,以至于任何一种新方法与他们的评价方式是融为一体的。搜索引擎结果的好坏与否,体现在业界所称的在相关性(转载 2013-03-19 14:31:05 · 1155 阅读 · 0 评论 -
【学习笔记】读项亮的《推荐系统实践》_第五章利用上下文信息
个人想法哈,推荐系统三个要素:用户、物品、关联两者的信息(推荐依据)。对于确定的推荐系统而言,用户和物品都是无法选择的,推荐系统的构建就是不断寻找新的推荐依据、并综合现有的推荐依据,设计推荐策略、给用户推荐物品的过程。关键还是推荐依据的寻找,而不是策略或者算法的设定。有了新的信息,比复杂的奇思淫巧强得多。项亮这本书的后几章,都是在描述不同的推荐依据信息,讲述如何利用这些信息了。这章原创 2013-03-31 23:52:42 · 2020 阅读 · 0 评论 -
【学习笔记】读项亮的《推荐系统实践》_第六章利用社交网络数据
这一章更多的介绍的也是思想,而非具体的算法。看得也快,不到30分钟,浏览完。6.1 获得社交网络数据的途径没想到email是一个很好的途径,能获得挺多信息,如:名字、公司等。其他的几个,用户注册、用户位置、讨论组等,都需要相关的资源,现实中能有一种就不错了。facebook的社交网络被称为“社交图谱”,因为需要双向认证,都是认识的人。twitter的社交网络被称为“兴趣原创 2013-04-01 23:36:30 · 1739 阅读 · 0 评论 -
【学习笔记】读项亮的《推荐系统实践》_后记
上面的笔记才写到第六章,项亮这本书一共八章,还差第七章和第八章。第七章是“推荐系统实例”,即实际搭建系统的过程。实际系统千差万别,不是一本书能够涵盖全的。所以,这一章就不做笔记了。第八章是“评分预测问题”,挺有意思的。通常推荐系统的产出,是针对每个用户,给当前用户推荐他感兴趣的TopN个商品。这一章的问题转变为,对每个用户和每个物品,预测当前用户对当前物品的打分情况,打的分值表原创 2013-04-17 00:04:01 · 1774 阅读 · 0 评论 -
【LDA学习笔记】文本生成方式
序工作中暂时不会用到LDA模型。不过空闲下来,学习学习,自娱自乐。LDA是generative model,这决定了这个模型的“世界观”。从LDA模型看来,文本是通过一种方式“产生”出来的。模型的理论,就是猜测文本产生的方式;模型的训练,就是给定产生方式后,通过样本,估计相关参数;模型的应用过程,就是确定了产生方式,并给定了模型参数,实际运行产生新的文本。Unigram模型原创 2013-04-19 00:40:22 · 1535 阅读 · 0 评论 -
【NLP基础】基于LDA的Topic Model变形
原文地址:http://www.cnblogs.com/wentingtu/archive/2013/06/02/3113422.html基于LDA的Topic Model变形基于LDA的Topic Model变形最近几年来,随着LDA的产生和发展,涌现出了一批搞Topic Model的牛人。我主要关注了下面这位大牛和他的学生:David M. BleiLDA的创始者,转载 2013-06-02 18:17:07 · 1535 阅读 · 0 评论