自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Liam Q的专栏

专注于数据分析与处理

  • 博客(49)
  • 资源 (13)
  • 收藏
  • 关注

转载 倒排索引基础

1.单词-文档矩阵       通常检索的场景是:给定几个关键词,找出包含关键词的文档。      怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词-文档矩阵模型,通过这个模型我们可以很方便知道某篇文档包含哪些单词,某个单词被哪些文档所包含。       搜索引擎的索引其实就是实现单词-文档矩阵的具体数据结构,具体可以包括:倒排索引、签名文件、后缀树等。常见的当然

2012-12-29 10:38:38 4248 1

原创 统计学习笔记(4)——朴素贝叶斯法

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。简单来说,朴素贝叶斯分类器假设样本每个特征与其他特征都不相关。举个例子,如果一种水果具有红,圆,直径大概4英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。尽管是带着这些朴素思想和过于简单化的假设,但朴素贝叶斯分类器在很多复杂的现实

2012-12-27 12:59:07 17762 7

原创 布尔检索及其查询优化

针对布尔查询的检索,布尔查询是指利用AND,OR或者NOT操作符将词项连接起来的查询。        举个简单的例子:莎士比亚的哪部剧本包含Brutus及Caesar 但是不包含Calpurnia?布尔表达式为:Brutus AND Caesar AND NOTCalpurnia。最笨的方法是线性扫描的方式:从头到尾扫描所有剧本,对每部剧本判断它是否包含Brutus和Caesar ,同时又不包

2012-12-26 02:29:40 13638 1

原创 统计学习笔记(3)——k近邻法与kd树

在使用k近邻法进行分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决的方式进行预测。由于k近邻模型的特征空间一般是n维实数向量,所以距离的计算通常采用的是欧式距离。关键的是k值的选取,如果k值太小就意味着整体模型变得复杂,容易发生过拟合,即如果邻近的实例点恰巧是噪声,预测就会出错,极端的情况是k=1,称为最近邻算法,对于待预测点x,与x最近的点决定了x的类别。k值得增大意味着整体的

2012-12-24 12:34:05 45734 18

原创 统计学习笔记(2)——感知机模型

感知机学习旨在求出将训练数据集进行线性划分的分类超平面,为此,导入了基于误分类的损失函数,然后利用梯度下降法对损失函数进行极小化,从而求出感知机模型。感知机模型是神经网络和支持向量机的基础。下面分别从感知机学习的模型、策略和算法三个方面来介绍。1. 感知机模型      感知机模型如下:f(x)= sign(w*x+b)      其中,x为输入向量,sign为符号函数,括号里

2012-12-23 12:28:29 35409 11

原创 统计学习笔记(1)——统计学习方法概论

1.统计学习        统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,也称统计机器学习。统计学习是数据驱动的学科。统计学习是一门概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多个领域的交叉学科。        统计学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。统计

2012-12-20 12:11:47 39092 9

原创 文本特征提取

文本挖掘模型结构示意图1. 分词分词实例:       提高人民生活水平:提高、高人、人民、民生、生活、活水、水平分词基本方法:        最大匹配法、最大概率法分词、最短路径分词方法1.1 最大匹配法        中文分词在中文信息处理中是最最基础的,无论机器翻译亦或信息检索还是其他相关应用,如果涉及中文,都离不开中文分词,因此中文分词具有极高的

2012-12-17 12:45:11 60925 4

原创 蒙提霍尔问题

蒙提霍尔问题(Monty Hall Problem),也称三门问题,是一个源自博弈论的数学游戏问题,大致出自美国的电视游戏节目“Let's Make a Deal”。问题的名字来自该节目的主持人蒙提·霍尔(Monty Hall)。 问题如下:        参赛者会看见三扇关闭了的门,其中一扇的后面有一辆车。参赛者选中了其中一扇门,节目主持人会开启剩下两扇门的其中一扇,露出其中一只山羊

2012-12-03 20:57:04 4916 2

转载 c++开源机器学习库及机器学习知识框架(更新中)

1)mlpack is a C++ machine learning library.2)PLearn is a C++ library aimed at research and development in the field of statistical machine learning algorithms. Its originality is to allow to easily

2012-12-03 13:05:17 13024 1

原创 一元线性回归模型与最小二乘法及其C++实现

监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线

2012-12-02 14:13:25 59581 16

原创 基本Kmeans算法介绍及其实现

1.基本Kmeans算法[1]选择K个点作为初始质心repeat 将每个点指派到最近的质心,形成K个簇 重新计算每个簇的质心until 簇不发生变化或达到最大迭代次数时间复杂度:O(tKmn),其中,t为迭代次数,K为簇的数目,m为记录数,n为维数空间复杂度:O((m+K)n),其中,K为簇的数目,m为记录数,n为维数2.注意问题(1)K如何确定

2012-11-30 06:26:11 273431 48

原创 对引用型参数是否加const限定一定要慎重

原始代码如下:编译报如下错误:“错误:不能将类型为‘Student&’的非const引用初始化为类型为‘std::string’的临时变量”分析:fn(string("Jenny"))调用后,由fn(Student& s)和Student(const string& s)可知,系统会为fn构造一个临时的Student对象,注意这个临时的Student对象是const类型的,再传

2012-11-11 10:17:06 5502 5

原创 vi高亮相关问题

1 、配置文件的位置在目录 /etc/ 下面,有个名为vimrc 的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“. vimrc ”。例如,/root目录下,通常已经存在一个. vimrc 文件。如果不知道配置文件及脚本的位置,可以在vim中使用命令 :scriptnames ,将显示如下路径/etc/vimrc

2012-11-10 09:10:53 4334

转载 信息检索和网络数据挖掘领域论文技术基础

信息检索和网络数据领域(WWW, SIGIR, CIKM, WSDM, ACL, EMNLP等)的论文中常用的模型和技术总结引子:对于这个领域的博士生来说,看懂论文是入行了解大家在做什么的研究基础,通常我们会去看一本书。看一本书固然是好,但是有一个很大的缺点:一本书本身自成体系,所以包含太多东西,很多内容看了,但是实际上却用不到。这虽然不能说是一种浪费,但是却没有把有限力气花在刀口上。我所

2012-10-29 10:04:39 3085

转载 线程同步的总结

我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 同步这

2012-09-16 16:01:19 2306

转载 对线性回归,logistic回归和一般回归的认识

1. 摘要        本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识。前四节主要讲述了回归问题,回归属于有监督学习中的一种方法。该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类。该方法处理的数据可以是多维的。        讲义最初介绍了一个基本问题,然后引出了线性回归的解决方法,然后针对误差问题做了概率解释。之后介绍了logi

2012-08-31 14:27:06 3825 1

转载 Apache Mahout中的机器学习算法集

Apache Mahout 是 ApacheSoftware Foundation (ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序,并且,在 Mahout 的最近版本中还加入了对Apache Hadoop 的支持,使这些算法可以更高效的运行在云计算环境中。在Mahout实现的机器学习算法见下表:

2012-07-21 01:40:28 4321 1

转载 机器学习在互联网应用面临的 10 大挑战

1: “数据稀释性”:训练一个模型,需要大量(标注)数据,但是数据往往比较稀疏。比如,我们想训练一个模型表征某人 “购物兴趣”,但是这个人在网站上浏览行为很少,购物历史很少,很难训练出一个 “meaningful model” 来预测应该给这个人推荐什么商品等 …2:“不平稳随机过程产生的数据”:机器学习模型往往假设数据的产生是 “平稳随机过程”。但是有些互联网数据(比如 spam 邮件,

2012-07-20 02:08:06 3399

转载 redhat下安装chrome

最近在学习linux,安装的是redhat,自带的firefox,由于不习惯firefox,想安装一个chrome,在网上找的安装方法,记录一下方便以后查找1.创建一个文件/etc/yum.repos.d/google.repo2.如果是32位的[google-chrome]name=google-chrome - 32-bitbaseurl=http://dl.google.

2012-04-28 10:27:45 5342 1

转载 C++ 虚函数表解析

前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。  关于虚函数的使

2012-03-17 10:38:02 1104

转载 全文检索原理

转载一篇总结的相当不错的全文检索原理的文章        我们生活中的数据总体分为两种:结构化数据和非结构化数据。        结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。         非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。         当然有的地方还会提到第三种,半结构化数据,如XML,HTML等,当根据需要可按结构化数据

2012-02-27 20:05:00 9045 6

转载 c语言堆和栈的区别

一、预备知识—程序的内存分配 一个由c/c++编译的程序占用的内存分为以下几个部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(s

2012-02-26 13:37:52 1908 2

转载 static作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable

2012-02-20 22:26:39 1011

转载 c++中const的作用

采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该const分配空间。最简单的常见情况就是常

2012-02-20 22:02:39 1196

转载 Java的时间处理

计算Java日期学习怎样创建和使用日期 概要    不管你是处理财务交易还是计划着下一步的行动,你都要知道怎样在Java中建立,使用和显示日期。这需要你简单的查阅一下相应类的API参考:一个日期可以创建3个相关类的对象。这篇文章告诉你你想要知道的内容。(3,000字)作者:Robert Nielsen 翻译:Cocia Lin转帖:萧十一郎Java统计从1970年1

2012-01-02 23:31:24 3957

原创 hadoop学习笔记(3) 初识Hadoop

前两节主要介绍了hadoop运行环境和开发环境的搭建,有了这个,我们就可以开始hadoop的学习了,最近买了两本hadoop的书,先是买了一本《hadoop权威指南》,看了几天,感觉大部分都是在讲理论,不太适合作为hadoop入门的书籍,所以又买了本国内刘鹏写的《实战hadoop》,这本书到是写的比较浅显易懂,尤其是操作性比较强,个人觉得比较适合作为hadoop的入门书籍。这里就记录一下我学习ha

2011-12-31 21:38:42 3129

原创 Java查漏系列(2)——java内存区域

前一节大致的介绍了一下JVM的体系结构,如下图:其中,Runtime DataArea(运行时数据区)是整个JVM的重点,平时,由于我们编写java程序很少关心内存的释放问题,这个都是JVM来自动管理的,不过,也正是因为Java程序员把内存控制的权力交给了JVM,一旦出现泄漏和溢出,如果不了解JVM是怎样使用内存的,那排查错误将会是一件非常困难的事情。这里就大致的介绍一下JVM的这

2011-12-30 19:07:41 2712

原创 Java查漏系列(1)——JVM

一年多的时间没搞过java了,最近在学习hadoop,所以想把java再捡一捡,以前主要关注java的语法和api等,很少关注底层内存等,所以现在找时间把这块捡捡。JVM,全称java virtual machine,也就是java虚拟机,望文生义的解释就是在计算机上面再虚拟出一个执行java程序的计算机。具体一点说,jvm可以被看成一个想象中的机器,在实际的计算机上通过软件模拟来实现,有自己

2011-12-29 23:10:10 1683 1

原创 hadoop学习笔记(2) 伪分布模式配置

前面介绍了linux下hadoop的安装和简单配置,主要是独立模式的配置,所谓独立模式是指不需要运行任何守护进程(daemon),所有程序都再单个JVM上执行,由于在独立模式下测试和调试MapReduce程序较为方便,因此该模式适合用在开发阶段。这里主要记录了本人配置hadoop伪分布模式的过程。所谓伪分布模式是在单机上模拟Hadoop分布式,单机上的分布式并不是真正的分布式,而是使用java

2011-12-17 14:26:27 5733

原创 hadoop学习笔记(1) 开发环境

刚开始学习hadoop,首先搭建了一下开发环境,最开始是在单独编写Map-Reduce程序,然后在命令行编译,再通过hadoop命令运行打好的jar包,虽然也能够运行,但是总感觉这样用起来很麻烦,所以今晚又尝试了直接通过eclipse来编辑和运行Map-Reduce程序,瞎弄了一下,居然让我弄成功了,自然走了点弯路,担心以后再走弯路,所以把自己的搭建过程记录于此。1.准备1.1 软件r

2011-12-14 23:44:21 4014

原创 Hash学习(3)-冲突的解决

为提高hash表查找性能,除了考虑选择合适的hash表表长和完美的hash函数外,还必须考虑hash表处理冲突的能力。当hash函数对两个不同的数据项产生了相同的hash值时,冲突就产生了。对于冲突的处理,通常采用的方法可以分为三类:(1)线性再散列法,简单的按顺序遍历hash表,寻找下一个可用的槽;(2)非线性再散列法,计算一个新的hash值;(3)外部拉链法,将hash表中的每个槽

2011-11-30 10:58:46 8676 1

原创 linux c库文件和头文件相关问题

1.从几个问题谈起问题一:undefined reference to 'xxx'.问题二:/usr/bin/ld:cannot find -lxxx.问题三:xxx.h:No such file or directory.首先,这几个问题都不是编译错误,是链接错误,也就是如果出现的是这几个错误,说明你的源程序本身没有问题,是你的编译选项用的不对或者缺少相关的库文件或者头文件。前两

2011-11-29 13:20:06 9143 2

原创 Hash学习(2)-Hash函数

一个好的hash函数一般具有以下两个特点:第一,速度快,第二,能够将散列键均匀的分布在整个表中,保证不会产生聚集。通常,hash函数具有如下形式:hash-key = calculated-key % tablesize上一节主要讨论了一下tablesize,为了提高散列键的离散程度,tablesize通常取素数。一般而言,没有绝对好的hash函数,hash函数的好坏很大程度上依赖于输入键

2011-11-23 20:44:09 3787

原创 Hash学习(1)-Hash表的表大小

hash表的出现主要是为了对内存中数据的快速、随机的访问。它主要有三个关键点:Hash表的大小、Hash函数、冲突的解决。           这里首先谈谈第一点:Hash表的大小。           Hash表的大小一般是定长的,如果太大,则浪费空间,如果太小,冲突发生的概率变大,体现不出效率。所以,选择合适的Hash表的大小是Hash表性能的关键。           对于Has

2011-11-21 20:48:53 10686

原创 AVL树学习

1.什么是AVL树          AVL树是带有平衡条件的二叉查找树,是其每个结点的左子树和右子树的高度差最多差1的二叉查找树。如图1,左边的树是AVL树,但右边的不是。图1 左边的是AVL树,右边的不是2.AVL树的基本操作         当向一棵AVL树中插入一个结点时,可能破坏AVL树的特性(例如,将6插入图1的AVL树中将会破坏项为8的结点平衡条件)。

2011-11-18 22:19:05 3110

转载 SVM学习(六):将SVM用于多类分类

从 SVM的那几张图可以看出来,SVM是一种典型的两类分类器,即它只回答属于正类还是负类的问题。而现实中要解决的问题,往往是多类的问题(少部分例外,例如垃圾邮件过滤,就只需要确定“是”还是“不是”垃圾邮件),比如文本分类,比如数字识别。如何由两类分类器得到多类分类器,就是一个值得研究的问题。       还以文本分类为例,现成的方法有很多,其中一种一劳永逸的方法,就是真的一次性考虑所有样本,并

2011-10-27 16:59:32 17062 2

转载 SVM学习(五):松弛变量与惩罚因子

1.松弛变量       现在我们已经把一个本来线性不可分的文本分类问题,通过映射到高维空间而变成了线性可分的。就像下图这样:       圆形和方形的点各有成千上万个(毕竟,这就是我们训练集中文档的数量嘛,当然很大了)。现在想象我们有另一个训练集,只比原先这个训练集多了一篇文章,映射到高维空间以后(当然,也使用了相同的核函数),也就多了一个样本点,但是这个样本的位置是这样的:

2011-10-27 08:13:40 91733 11

转载 SVM学习(四):为何需要核函数

生存?还是毁灭?——哈姆雷特       可分?还是不可分?——支持向量机       之前一直在讨论的线性分类器,只能对线性可分的样本做处理。如果提供的样本线性不可分,结果很简单,线性分类器的求解程序会无限循环,永远也解不出来。这必然使得它的适用范围大大缩小,而它的很多优点我们实在不原意放弃,怎么办呢?是否有某种方法,让线性不可分的数据变得线性可分呢?       有!其思想

2011-10-26 21:10:54 9325 4

原创 bitmap解析

1.引子         问题描述:         输入:一个最多含有n个不重复的正整数(也就是说可能含有少于n个不重复正整数)的文件,其中每个数都小于等于n,且n=10^7。         输出:得到按从小到大升序排列的包含所有输入的整数的列表。         条件:最多有大约1MB的内存空间可用,但磁盘空间足够。且要求运行时间在5分钟以下,10秒为最佳结果。

2011-10-25 22:47:18 2460 1

转载 SVM学习(三):线性分类器的求解

1.问题的描述         上节说到我们有了一个线性分类函数,也有了判断解优劣的标准——即有了优化的目标,这个目标就是最大化几何间隔,但是看过一些关于SVM的论文的人一定记得什么优化的目标是要最小化||w||这样的说法,这是怎么回事呢?回头再看看我们对间隔和几何间隔的定义:间隔:δ=y(wx+b)=|g(x)|几何间隔:可以看出δ=||w||δ几何。注意到几

2011-10-25 17:46:47 5228 4

Scala程序设计 第2版.pdf

本书通过大量的代码示例,全面介绍 Scala 这门针对 JVM 的编程语言,向读者展示了如何高效地利用 Scala 语言及其生态系统,同时解释了为何 Scala 是开发高扩展性、以数据为中心的应用程序的理想语言。

2019-05-10

麻省理工算法导论视频课程字幕

网上很多地方都可以找到麻省理工算法导论的公开课,可是大部分都没有中文字幕,这里是这个课程的字幕,花了很大力气才弄到的 和大家分享了

2011-10-23

BIRCH算法源码

BIRCH算法源码,C++实现,已在solaris下编译通过

2011-10-23

jrobin学习例子程序

学习用jrobin绘图的绝佳例子程序 学习用jrobin绘图的绝佳例子程序

2010-04-09

JProfiler使用手册与JProfiler5.2.1注册码

包括JProfiler使用手册和JProfiler5.2.1的注册码 注册码保证可用

2010-04-09

vlan学习资料 vlan详解 vlan学习笔记

网上收集的很多vlan方面的介绍资料 自己做的chm格式的学习资料 包括:为什么需要vlan 实现vlan的机制 vlan的访问链接和汇聚链接等等 还包括vlan的配置和vlan在企业中的实际应用

2010-03-31

点击率极高的java多线程编程

自己从网上整理的做的chm文件 学习java多线程 十分有用 网上点击率极高

2010-03-08

java网络编程学习资料

提高学习java网络编程速度 包括相关API—Java Transaction API概述(1).chm 基础知识—Java的网络功能与编程(1).chm Socket套接字—Java套接字编程(上1).chm 相关API—Java Transaction API概述(1).chm

2010-03-08

GTK+ 2.0 教程(中文,chm)

GTK+ 2.0中文教程 网上也有很多 不过这个事chm格式的 看起来方便

2009-07-18

软件工程师&数据库工程师试题及答案chm格式

软件工程师&数据库工程师试题及答案 软考有用 chm格式的

2009-07-10

学生成绩管理系统源码

学生成绩管理系统 c++写的 可以看看

2009-07-10

基于j2ee的网上商城

基于j2ee的网上商城 用到了struts

2009-07-10

空空如也

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

TA关注的人

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