自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xceman1997的专栏

基础知识、c/c++语言、自然语言处理技术

  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 【思考】tf/idf之于文本分类

因为工作中需要用到计算词语权重,进而作词与选择,思考了一下tf/idf。首先还是简单介绍一下tf/idf。这个概念最开始用于信息检索。tf表示term frequency,通常是指词频;idf表示inversed document frequency,是文档频率的倒数。计算方式如下:通常是对于一篇文档,统计某个词出现的次数,并用文档中的总词数作归一化,计算出的tf在(0,1)之间。

2012-09-28 20:18:12 5481 1

原创 【Q&A】去除stl vector中特定位置的多个元素续_remove算法初探

这个是上一篇“去除stl vector中特定位置的多个元素”姊妹篇,有网友建议我用一下算法库中的remove和vector的函数erase。实现了一下,代码如下:bool Play::RmSomeElementsInVec3 (vector & NumVec, int iVal){ if (NumVec.empty()) return false; vector::it

2012-09-17 00:14:01 1550

原创 【Q&A】去除stl vector中特定位置的多个元素

我个人常用stl vector来构建基础数据结构,实现一些算法。有时候会有这样的需求,就是我要删除满足某些条件的vector中的元素,例如:删除所有大于零的元素。这就需要遍历整个数组,找到这些元素,并且删除。有两种策略。直观的一种是在遍历的过程中,判断当前元素是否符合删除条件,如果符合,则调用vector的erase函数进行删除,注意这时候数组内容发生变化,iterator原则上失效,会影响到遍历

2012-09-15 15:46:14 2446 1

转载 探索推荐引擎内部的秘密:深入推荐引擎相关算法 - 协同过滤

原文地址:http://www.cnblogs.com/shihao/archive/2011/09/08/2170418.html 与“初探:探索推荐引擎内部的秘密”是姊妹篇。集体智慧和协同过滤什么是集体智慧集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web

2012-09-13 22:01:08 1446

原创 【svm学习笔记】svm_理论学习图谱_下

接着上一篇说。泛化理论帮我们解决了维数灾难的问题,同时又指导我们找到了目标函数,将模型学习问题转化成了有约束条件下的优化问题。那么我们又知道,svm实际上是在高维空间学习一个超平面,那这个目标函数到底找到的是哪个超平面啊?这有引入了一些神马函数间隔、几何距离等东东。然后发现,找的是距离两类样本有“最大间隔”的超平面。这就是目标函数的几何意义。那么我们有了最优化问题,那怎么解

2012-09-12 17:26:51 6577

原创 【svm学习笔记】svm_理论学习图谱_上

这两天,因为工作需要,断断续续在看svm的一些资料。因为之前也看过其他的一些机器学习模型,并动手实现过相关代码,如:最大墒模型等,所以最初以为学习svm的过程应该与上述经历类似。事实证明,svm是个坑,进去容易,爬上来难。难的主要在于,svm本身是由多个不同方面的理论拼接而成,而每个理论问题,还都挺难;而且这些理论,对于最终的代码实现,也不见得有多大帮助。不过了解这些理论,也能更加深入地感受svm

2012-09-12 16:29:12 1720

原创 【朴素贝叶斯】实战朴素贝叶斯_代码实现_预测

预测的程序就很简单了:1. 计算输入样本的特征向量与模型的特征向量的向量内积;2. 在多个类别中,选择概率最大的类别。不过,贝努利模型和多项式模型的区别也就在此,在1——对那些在输入样本中没有出现的特征类型,那些取值为0的特征类型,如何处理。从前说过,我写的是贝努利模型,所以,这些特征类型的条件概率也计算进去了。计算向量内积的代码如下: double NaiveBayes::C

2012-09-07 22:41:37 5880 3

原创 【朴素贝叶斯】实战朴素贝叶斯_代码实现_特征选择2

【选择特征】其实对于卡方选择来说,上一篇软文基本上已经几乎写完了——毕竟卡方值都计算出来了,接下来,选择就行了呗。选择的方法?上文不是说了么,卡方的值表示特征与类别之间的关联,选择卡方值大的特征类型不就行了么。不过,还有最后一个问题,问题在于我们有多个类别。当我们要选择m个特征的时候,每个类别选择几个?哦,如果有k各类别,那么平均分配一下,每个类别选择m/k个,各个类别加起来就是m个了。哦,那

2012-09-07 21:09:00 3073

原创 【朴素贝叶斯】实战朴素贝叶斯_代码实现_特征选择1

特征选择对于文本分类任务很重要,选的好了能够大大提高文本分类准确率。其实特征选择也没有多神秘。首先,不选择也是一种选择,把所有可能的特征类型都用来作文本分类也没有问题。其次,随机选择也是一种选择,效果还真不见得差到哪里去。第三,特征选择方法有很多:卡方选择、信息增益、tf/idf也行。这一篇,还是介绍最基本的卡方选择方法。【基本原理】卡方选择就是通过卡方公式计算某个特征与某个类别之

2012-09-07 17:05:15 5719 1

原创 【朴素贝叶斯】实战朴素贝叶斯_代码实现_训练算法

说一下Train函数的实现。在上文中,我提到过,朴素贝叶斯也有两种模型:贝努力模型和多项式模型。小弟第一次实现朴素贝叶斯,就老老实实按照基本原理做了一个贝努力模型;多项式模型也不难,变通一下就行。不废话了,直接上代码了,有点长,不过很容易看懂:bool NaiveBayes::Train (const char * sFileSample, int iClassNum, i

2012-09-07 16:01:37 17917 1

原创 【朴素贝叶斯】实战朴素贝叶斯_代码实现_数据和接口

接下来,进行代码实现。【样本格式】首先,定义一下输入样本的格式,这些样本用于对朴素贝叶斯模型进行训练。定义格式如下: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 2955

原创 【朴素贝叶斯】实战朴素贝叶斯_文本分类

【文本分类】文本分类是经典的NLP问题,就是把一个文本自动分到若干个类别之一当中。类别可以是政治、经济、女性、财经等,既可以用字符串形式表示,也可以内部用整数形式来表示。对于我的文本过滤问题,则类别只有两个:不应该过滤 和 应该过滤。接下来是文本表示问题,即用什么量来代表一个文本,从而可以区别其他文本。通常是用“特征词”来表示。特征词是一些经过挑选的词语(特征选择问题我们后面再详细讲),这些词

2012-09-06 22:47:32 5912

原创 【朴素贝叶斯】实战朴素贝叶斯_基本原理

【写在前面】最近因为工作原因,需要做文本过滤任务,即从海量文本中过滤掉杂质文本——也可以理解为感兴趣的文本。这是一个特殊的文本分类任务。特殊在于,只有两个类别;而且杂质文本的数量远小于正常文本的数量。先不理会它的特殊性。我们就按照文本分类任务来做。首先想到的,自然是号称最简单、最高效的naive bayes模型。不过实践起来,发现遇到的问题挺多。模型不复杂,但在应用的时候,还需要考

2012-09-06 21:01:48 3090

转载 【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 1453

转载 【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 3061

转载 【转载】各大推荐引擎资料汇总

近在做一个推荐的任务,头绪繁多,回头看看同行的工作,希望能有些帮助。零零碎碎看过好多资料,有些已经忘记了,会慢慢补全。欢迎同行加我微博进行交流。视频类Netflix: 很多方法的融合。可以参考我翻译的blog。Hulu:  主要是item based CF。参考官方博客上的文章。Youtube:  开始是random walk,后来改为类

2012-09-04 11:06:08 1826

Learning Deep Architectures(slides) Bengio 2009

Learning Deep Architectures(slides) Bengio 2009

2013-06-16

Addison Wesley - Applied C++

Addison Wesley - Applied C++

2011-02-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除