自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 收藏
  • 关注

转载 理解 pkg-config 工具

你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。“Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂充满着力量,似乎没有什么问题能难倒你的。正在此时,那个笨蛋已经冲着你嚷开了。“不会吧

2012-08-25 21:02:22 852

原创 Ubuntu下安装opencv

<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->一、下载代码1、一些会用到的库sudo apt-get install build-essential cmake libgtk2.0-dev libtiff4-dev  libjasper-dev libavformat-dev libswscale-

2012-08-25 21:00:39 11910 1

原创 java中的hashmap遍历方法

HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的。keySet遍历其实遍历了2次,一次是转为iterator,一次是从hashmap中取出key所对于的value。entryset只遍历了1次,就把key和value都放到了entry中,所以就快了。第一种:Map map = n

2012-08-22 18:58:07 787

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

原文地址:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971867.html1 摘要      本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识。前四节主要讲述了回归问题,回归属于有监督学习中的一种方法。该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类。该方

2012-08-21 13:14:33 1230

转载 svm简介

目录概述补充使用手册重要论文展开概述补充SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。  目前,LIBSVM拥有Java、Matlab、C#、Ruby、Python、R、Perl、Common L

2012-08-20 11:07:15 3431

转载 学习SVM

【转载请注明出处】http://www.cnblogs.com/jerrylead1 简介支持向量机基本上是最好的有监督学习算法了。最开始接触SVM是去年暑假的时候,老师要求交《统计学习理论》的报告,那时去网上下了一份入门教程,里面讲的很通俗,当时只是大致了解了一些相关概念。这次斯坦福提供的学习材料,让我重新学习了一些SVM知识。我看很多正统的讲法都是从VC 维理论和结构风险最

2012-08-20 11:02:45 4434

转载 Libsvm和Liblinear的使用经验谈

Libsvm和Liblinear都是国立台湾大学的Chih-Jen Lin博士开发的,Libsvm主要是用来进行非线性svm 分类器的生成,提出有一段时间了,而Liblinear则是去年才创建的,主要是应对large-scale的data classification,因为linear分类器的训练比非线性分类器的训练计算复杂度要低很多,时间也少很多,而且在large scale data上的性

2012-08-20 11:00:23 28815

原创 linux进程内存分布

linux进程内存分布,地址从低到高依次是代码段,数据段,堆,栈,堆栈之间是mmap映射的共享内存空间以及共享库,再上是命令行参数,环境变量,最高1g是共享的内核空间。其中栈是从高地址向低地址分配,堆是从低地址向高地址分配。具体如下图所示:

2012-08-17 23:24:32 4072

原创 Hadoop 2.0 计数器

hadoop1.x里面用于统计的计数器是Reporter累,在2.x中统一用Context类,此时需要调用下面的API进行统计:例子:public class test extends Configured implements Tool { enum BadRecord{ BAD_UNIQUEID, BAD_WIDTH, BAD_HEIGHT

2012-08-17 18:59:28 2582

转载 ./configure && make && make install详解

在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README  INSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!         我们都知道源码包安装分为这么几个阶段,1、  ./configure:“configure”会在你的系统上测试存在的特性  Make:编译程序。5、 cd:进入到这个源码包。

2012-08-17 18:54:27 1294

原创 Windows下用Eclipse开发Hadoop程序遇到的问题及解决方法

运行hadoop程序报错如下:Exception in thread "main" java.io.IOException: Cannot run program "chmod": CreateProcess error=2解决方法: 只需要把cygwin的bin目录加到windows的用户环境变量中就可以了,然后需要重启eclipse

2012-08-17 18:52:39 1680 2

转载 有效操作Linux命令行的几种方法

1.在命令历史中查找  强烈推荐使用 Ctrl+r, 这个键组合是反向增量查找消息历史。很好用。 比如你很久以前输入过某个命令如。 gcc -c -DKKT - Dnnn 等等,一长串, 用上下方向键来找比较困难,这时候可以Ctrl+r,然后输入gcc很快找到该命令,重复按Ctrl+r将查找更早的历史。   其实还有 Ctrl+s 是正向增量查找的,但是由于这个快捷键被终端预设成锁屏幕了,

2012-08-16 13:58:23 887

转载 Valgrind中文使用手册

名字:       valgrind是一个调试和剖析的程序工具集。概要用法:       valgrind [[valgrind] [options]] [your-program] [[your-program-options]]概述:       Valgrind是一个Linux下灵活的调试和剖析可执行工具。它由在软件层提供综合的       CPU内核,和一系

2012-08-06 21:38:32 3887

转载 linux下调试内存泄露的利器Valgrind

Valgrind的主要作者Julian Seward刚获得了今年的Google-O'Reilly开源大奖之一──Best Tool Maker。让我们一起来看一下他的作品。Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,它包含一个内核──一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务──调试,分析,或测试等。Valgrind可以检测内存泄漏和内存违

2012-08-06 21:01:04 4975

转载 随机排列生成算法的一些随想

这篇文章主要是一个闲文。如果您正在寻求一个理想的随机排列生成算法,直接阅读方法3,或是直接使用STL里提供的random_shuffle()方法另外请注意,这里所讨论的算法并不是新的。什么是随机排列? 一个随机排列是一组位于随机位置的对象。给定一个对象,1, 2, 3 ... n,随机排列看起来就是,p1, p2, p3 ... pn其中px是从原来的对象集合中选取

2012-08-06 16:08:22 3789

转载 文本去重之SimHash算法

说到文本相似性计算,大家首先想到的应该是使用向量空间模型VSM(Vector Space Model)。使用VSM计算相似度,先对文本进行分词,然后建立文本向量,把相似度的计算转换成某种特征向量距离的计算,比如余弦角、欧式距离、Jaccard相似系数等。这种方法存在很大一个问题:需要对文本两两进行相似度比较,无法扩展到海量文本的处理。想想像Google这种全网搜索引擎,收录了上百亿的网页,爬虫

2012-08-06 15:38:37 2490

转载 文本去重之MinHash算法

1.概述    跟SimHash一样,MinHash也是LSH的一种,可以用来快速估算两个集合的相似度。MinHash由Andrei Broder提出,最初用于在搜索引擎中检测重复网页。它也可以应用于大规模聚类问题。2.Jaccard index    在介绍MinHash之前,我们先介绍下Jaccard index。

2012-08-06 14:58:04 20519 5

转载 simhash算法的原理

第一次听说google的simhash算法[1]时,我感到很神奇。传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。传统hash算法产生的两个签名,如果相等,说明原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来说,要设计一个hash算法,对

2012-08-06 11:46:21 1891

原创 ubuntu下hadoop安装与伪分布式的配置

今天想装个hadoop玩玩,记录安装步骤如下。一、先决条件1、sun jdk6以上,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html  jdk-7u5-linux-i586.tar.gz2、hadoop,下载地址: http://mirror.bjtu.edu

2012-07-27 13:20:29 4221

转载 基于关联规则的推荐系统

首先,要了解关联规则的几个概念,定义N为总事务数,N(A)、N(B)分别为项集A、项集B出现的次数,N(AB)为项集A、项集B同时出现的次数,A、B为不相交项集A∩B=Ø,规则A→B表示由A推到B:支持度(Support):支持度是一种重要度量,支持度低的规则很可能是偶然现象,对推荐意义不大,另外支持度是数据剪枝的一个重要依据。置信度(Confidence):置信度,字面上

2012-06-27 22:52:48 12128

转载 MMSEG 中文分词算法

由于学习需要,我尝试翻译MMSEG算法,目前处于初稿状态,很许多地方的翻译仍不尽准确,在以下几天会加以修改。算法原文位于:http://technology.chtsai.org/mmseg/MMSEG :一个基于最大匹配算法的两种变体的中文单词识别系统发表日期: 1996-04-29更新日期: 1998-03-06文档更新: 2000-03-12许

2012-06-11 15:27:49 25940

转载 关于MMSEG分词算法

MMSEG是中文分词中一个常见的、基于词典的分词算法(作者主页:http://chtsai.org/index_tw.html),简单、效果相对较好。由于它的简易直观性,实现起来不是很复杂,运行速度也比较快。关于算法的原文,可以参 见:http://technology.chtsai.org/mmseg/总的来说现在的中文分词算法,大概可以笼统的分为两大类:一种基于词典的,一种是非基于词典

2012-06-11 15:26:01 2190

转载 magic_quotes_gpc和magic_quotes_runtime

PHP提供两个方便我们引用数据的魔法引用函数magic_quotes_gpc和magic_quotes_runtime,这两个函数如果在php.ini设置为ON的时候,就会为我们引用的数据碰到单引号'和双引号"是自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行,可是我们在php不同的版本或者不同的服务器配置下,有的magic_quotes_gpc和magic_quotes_runtime

2012-06-04 21:50:51 920

转载 经典vim插件功能说明、安装方法和使用方法介绍

9 1. 查看 key 相关信息说明的命令  :help keycodes 10  11 #============================================================================= 12 2. ctags 13 (1). 帮助手册查看 14     :help usr_29 15  16 (2). 功能

2012-06-04 21:08:42 2110

转载 linux HZ Tick Jiffies

Linux HZLinux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。 HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时

2012-05-28 22:51:30 2048

原创 打印unsigned long long int

如果你想使用inttypes.h中的int32_t, int64_t,uint64_t等数据类型,如何对其进行printf是需要仔细考虑的。在32位平台和64位平台对uint64_t的定义是不同的:32位平台: typedef unsigned long long int  uint64_t;64位平台: typedef unsigned long int   uint64

2012-05-28 22:09:21 22322

转载 protocol buffer

This tutorial provides a basic C++ programmer's introduction to working with protocol buffers. By walking through creating a simple example application, it shows you how toDefine message formats

2012-05-24 14:26:28 5358

转载 跳跃表Skip List

这是跳表的作者William Pugh给出的解释:Skip lists are a data structure that can be used in place of balanced trees. Skip lists use probabilistic balancing rather than strictly enforced balancing and as a result

2012-05-23 14:26:47 934

转载 apache 2.0以上中的默认的是没有acceptpathinfo

从APACH2.0.30以上服务器中去掉了acceptpathinfo;如果需要的话需要在http.conf中添加AcceptPathInfo On这一条。即原来的   Options FollowSymLinks includes    AllowOverride None改成    Options FollowSymLinks includes    All

2012-05-21 15:50:30 2177

转载 min()的宏定义中的(void) (&_x == &_y)的含义

近日无意间发现,关于常见的min的宏定义,在Linux中是这样的:/** min()/max()/clamp() macros that also do* strict type-checking.. See the* "unnecessary" pointer comparison.*/#define min(x, y) ({ \typeof(x) _x = (x);

2012-05-18 11:43:15 2508

原创 C语言宏定义中的void

在看代码的时候,我们经常发现C语言的宏定义中会出现void,如:#define DICT_NOTUSED(V) ((void) V)其实这里的void仅仅是去掉编译器对木有使用的局部变量的警告。

2012-05-18 11:39:53 2259

转载 GCC 提供的原子操作

gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下:type __sync_fetch_and_add (type *ptr, type value, ...)type __sync_fetch_and_sub (type *ptr, type value, ...)type __sync_fetch

2012-05-16 11:53:23 1016

转载 c99之 柔性数组成员(flexible array member)

在讲述柔性数组成员之前,首先要介绍一下不完整类型(incomplete type)。不完整类型是这样一种类型,它缺乏足够的信息例如长度去描述一个完整的对象。6.2.5 Typesincomplete types (types that describe objects but lack information needed to determine their sizes).C与C++

2012-05-07 22:47:15 13749 1

原创 GNU C 中的__attribute__ (二)

constructor and destructor:The constructor attribute causes the function to be called automatically before execution enters main (). Similarly, the destructor attribute causes the function to

2012-05-07 22:24:37 762

转载 GNU C 中的__attribute__ (一)

One of the best (but little known) features of GNU C is the __attribute__ mechanism, which allows a developer to attach characteristics to function declarations to allow the compiler to perform more e

2012-05-07 22:15:52 809

原创 Head-first设计模式(二)——观察者模式(Observer Pattern)

一、定义        观察者模式在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。二、要点观察者模式定义了对象之间的一对多关系主题(可观察者)用一个共同的接口来更新观察者可观察者不知道观察者的细节,只知道观察者实现了观察者接口使用此模式时,你可从被观察者处推(push)或者拉(pull)数据(然而,推的方式被认为更“正确

2012-05-06 17:16:50 968

原创 Head-first设计模式

前言此系列文章为阅读“Head-first设计模式”一书后的总结,多处引用原书文章。OO基础抽象封装多态继承OO原则封装变换多用组合,少用继承针对接口编程,不针对实现编程为交互对象之间的松耦合设计而努力OO模式策略模式:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户观察者模

2012-05-06 14:46:02 782

原创 Head-first设计模式(一)——策略模式(Strategy Pattern)

一、定义策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。二、类图三、代码class Duck { public: Duck(); ~Duck(); void swim(); void display(); void quark(); void fly(); void se

2012-05-06 14:37:45 795

转载 如何生成静态库和动态库

对于一个编译型语言,编译器工作时总要经过预处理、编译、链接等几个过程。以 C/C++ 为例:预处理器(cpp)将每个 .c/.cpp 文件中 #include 的头文件都合并到 .c/.cpp 文件中,并且对其进行宏扩展,由此生成数个编译单元。一般来说每个 .c/.cpp 文件对应一个编译单元。随后,编译器(cc)将每个编译单元翻译成本地二进制代码,在 GNU/Linux 中后缀是 .o,在 ms

2012-05-04 14:04:20 1064

转载 类模板 与 模板类

1.类模板与模板类的概念⑴ 什么是类模板 一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默认成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。  如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。

2012-05-04 14:03:25 1209

空空如也

空空如也

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

TA关注的人

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