自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (2)
  • 收藏
  • 关注

原创 xDeepFM模型

xDeepFM模型介绍推荐系统中一般将类别特征(categorical feature)转换成one-hot向量,如果仅适用原始特征一般不能达到很好的效果。一种主要的提升方法就是在类别特征上应用交叉特征,如FM模型。如一个3阶交叉特征AND(user_organization=msra, item_category=deeplearning, time=monday)就表示在msra工作且在周...

2020-02-02 17:40:50 1698

原创 cs224n第二讲:简单的词向量表示:word2vec, Glove

第二讲:简单的词向量表示:word2vec, GloveHow do we represent words?在处理所有NLP任务的时候,我们首先需要解决非常重要的一个问题(可能是最重要的):用什么方式将词组输入到模型中去。早期的NLP工作并不将词组作为独立个体对待(atomic symbols),但现在的问题绝大多数需要这样一个预处理,来体现词组之间关联/相似性和区别。所以我们引入词向量的概念...

2019-08-03 16:23:21 887

原创 unix线程

1. 概念一个unix进程可看成只有一个控制线程。多线程好处:可为每种事件分配单独的处理线程.可采用同步和异步两种编程模式,同步比异步更简单。不同于进程,多线程可自动访问相同的存储地址空间和文件描述符,而进程需要操作系统复杂机制才能实现内存和文件描述符的共享.有些问题可分解从而提高整个程序的吞吐量。多个线程可使相互独立的任务交叉进行。交互程序可通过多线程改善响应时间每个线程都包含执...

2019-03-26 22:36:15 390

原创 Unix信号

信号1.概念: 信号是软件中断,提供了一种处理异步事件的方法。2.产生信号:终端: 如按Delete键,产生SIGINT信号硬件异常产生信号: 除数为0,无效的内存引用进程调用kill函数kill命令软件产生的信号: 如SIGURG, SIGPIPE, SIGALRM(进程设置的定时器超时)三种处理方式:忽略捕捉执行默认动作常见信号:SIGHUPSIGIN...

2019-03-22 00:36:49 162

原创 Unix文件I/O

Unix文件I/O本节描述的函数经常被称为不带缓冲的I/O.1#include <fcntl.h>int open(const char *path, int oflag, ... /* mode_t mode */);int openat(int fd, const char *path, int oflag, ... /* mode_t mode */);int cr...

2019-01-29 22:25:34 281

原创 深入理解计算机系统第6章 存储器层次结构

第6章 存储器层次结构6.1存储技术1.以传统DRAM为例,简要介绍DRAM存储。DRAM芯片中国的单元被分成d个超单元,每个超单元都有w个DRAM单元组成,总共存储了dw位信息。超单元被组织成r行c列的长方形阵列,这里rc=d。每个超单元有形如(i,j)的地址,这里i表示行,j表示列。图6-3展示的是一个16*8的DRAM芯片的组织,有d=16个超单元,每个超单元有w=8位,r=4行,c...

2019-01-18 23:08:15 467

原创 深入理解计算机系统第12章 并发编程

第12章 并发编程现代操作系统提供了三种基本的构造并发程序的方法;进程: 每个逻辑控制流都是一个进程,由内核来调度和维护.I/O多路复用: 逻辑流被模型化为状态机。程序是一个单独的进程,所有的流都共享同一个地址空间.线程12.1 基于进程的并发编程构造并发服务器的一个方法是,在父进程中接受每个客户端的请求,然后创建一个子进程为每个新客户端服务。现假设有两个客户端和一个服务器,服务...

2019-01-17 22:41:12 541

原创 深入理解计算机系统第9章 虚拟存储器

第9章 虚拟存储器虚拟存储器是现代操作系统提供的一种对主存的抽象概念。9.1 物理和虚拟寻址物理地址: 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组。每个字节都有一个唯一的物理地址,第一个字节地址为0,接下来为1,再下一个为2.虚拟地址: CPU通过生成一个虚拟地址来访问内存,虚拟地址在被传送到存储器之前转换成物理地址。将虚拟地址转换成物理地址叫地址翻译。9.2...

2019-01-15 20:39:27 1107

原创 深入理解计算机系统第10章 系统级I/O

第10章 系统级I/O在某些重要情况下,使用高级I/O函数不太可能。例如,标准I/O库没有提供读取文件元数据的方式,如文件大小或文件创建时间。另外,I/O库还存在一些问题,使用它来进行网络编程非常冒险。10.1 Unix I/O所有的I/O设备,如网络、磁盘和终端,都被模型化为文件,而所有的输入和输出都被当做相应文件的读和写。打开文件改变当前的文件位置:文件位置是从文件开头起始的字节偏...

2019-01-09 22:11:01 338

原创 深入理解计算机系统第8章 异常控制流之二 信号

8.5 信号Unix信号:一种更高层的软件形式的异常,它允许进程中断其他进程.1. 信号术语发送一个信号到目的进程有两步:发送信号: 发送一个信号给目的进程.接收信号: 当目的进程被内核强制对信号的发送做出反应时,目的进程就接收了信号.待处理信号:一个只发出而没有被接收的信号叫做待处理信号。一种类型至多只会有一个待处理信号.如果一个进程有一个类型为k的待处理信号,那么任何接下...

2019-01-09 22:05:09 418

原创 深入理解计算机系统第8章 异常控制流之一异常与进程

第8章 异常控制流8.1 异常当处理器检测到有事件发生时,它会通过一张叫做异常表的跳转表,进行一个间接过程调用,到一个专门设计用来处理这类时间的操作系统子程序(异常处理程序)。1. 异常处理系统启动时,操作系统分配和初始化一张称为异常表的跳转表,使得条目k包含异常k的处理程序的地址。在运行时,处理器检测到发生了一个事件,并且确定了相应的异常号k。随后,处理器触发异常,通过异常表的条目k转到...

2019-01-06 22:02:07 469

原创 深入理解计算机系统第3章-程序的机器级表示

第3章 程序的机器级表示计算机执行机器代码。汇编代码是机器代码的文本表示。过程:过程调用需要栈来支持。栈帧以两个指针界定,寄存器%ebp为帧指针,而%esp为栈指针。程序执行时,栈指针可以移动。假设过程P(调用者)调用过程Q(被调用者),则Q的参数放在P的栈帧中(参考上图中参数1,…n),P中的返回地址也被压入栈中,形成P的栈帧的末尾。返回地址就是当程序从Q返回时应该继续执行的地方。...

2018-11-01 23:14:49 238

原创 深入理解计算机系统第1章-计算机系统漫游

第1章 计算机系统漫游1. 信息源程序是由0和1组成的位(bit)序列,8个位组成一个字节。大部分现代系统都用ASCII标准来表示文本字符。文本文件二进制文件2. 编译过程为运行hello.c程序,每条C语句都需要转化为一系列低级机器语言指令。这些指令按照可执行目标程序的格式打好包,并以二进制磁盘文件的形式存放,目标程序也称为可执行目标文件。unix> gcc -o hel...

2018-11-01 23:10:23 211

原创 信息检索导论第9章-相关反馈及扩展查询

第9章 相关反馈及扩展查询9.1 相关反馈及伪相关反馈RF(relevance feedback,相关反馈)的主要思想是,在信息检索的过程中通过用户交互来提高最终的检索效果。1. Rocchio相关反馈算法Rocchio算法是相关反馈中的一个经典算法,它可以将相关反馈信息融入到向量空间模型中,即修改查询向量的权重。1. 基本理论 假设我们要找一个最优查询向量 q

2018-01-12 21:41:07 2648

原创 信息检索导论第八章-信息检索的评价

第八章 信息检索的评价1. 无序检索结果集合的评价如何度量系统的效果?信息检索中最常用的两个指标是正确率和召回率。正确率(Precision,简记为P): 返回的结果中相关文档所占的比例 Precision=返回结果中相关文档的数目/返回结果的数目召回率(Recall,简记为R) : 返回的相关文档占所有相关文档的比例 Recall=返回结果中相关文档的数目/所有相关文

2018-01-12 14:38:07 1417

原创 信息检索导论-第七章 一个完整搜索系统中的评分计算

第七章 一个完整搜索系统中的评分计算7.1 快速评分及排序之前我们讲的都是给定查询后,精确返回前K篇得分最高的文档的方法。这里,我们主要关注产生“可能”排名最高的K篇文档的方法。这样的目的在于,显著降低输出前K篇文档所需要的计算复杂度。计算前K篇得分最高文档的主要开销来源于大量文档都参与的余弦相似度计算,下面介绍一些非精确返回前K篇文档的一系列启发式策略。非精确返回前K篇文档的...

2018-01-11 17:19:30 1251

原创 信息检索导论第六章- 第六章 文档评分、词项权重计算及向量空间模型

第六章 文档评分、词项权重计算及向量空间模型在文档集规模很大时,满足布尔查询结果的文档数量可能非常多,往往会大大超过用户能够浏览的文档的数目。对于给定的查询,搜索引擎会计算每个匹配文档的得分并排序。6.1.参数化索引及域索引之前,我们都是将文档看成一系列词项的序列。但实际上,文档除了文本外还有元数据,比如创建时间、文档标题,作者信息等,因此我们也可以对他进行限制;比如限制查询文档结...

2018-01-01 21:17:20 4524

原创 信息检索导论第四章-索引构建

第四章 索引构建我们将建立倒排索引的过程称为索引构建。4.1 硬件基础构建信息检索系统时,很多决策都和系统硬件环境有关。访问内存数据比访问硬盘数据快得多,因此,我们要尽可能将数据放在内存中,尤其是访问频繁的数据。 这种将频繁访问的磁盘数据放到内存的技术成为高速缓存。进行磁盘读写时,寻道时间(即将磁头移到数据所在磁道的时间)是很耗时的。寻道期间不进行数据传输。为使数据传输率最大,连续读取的数据

2017-12-30 16:19:46 780

原创 信息检索导论笔记之1--3章

第一章 布尔检索信息检索是从大规模非结构化数据(通常是文本)的集合(通常保存在计算机上)中找出满足用户信息需求的资料(通常是文档)的过程.”非结构化数据”指的是那些没有清晰和明显的语义结构的数据,与之相对的,最典型的就是关系数据库.1.基本概念 检索系统(搜索结果质量)的评价指标:正确率(precision): 返回的结果中真正和信息需求相关的文档所占的比例召回率(recall): 所有和信

2017-12-23 21:21:14 728

原创 Inside the C++ Model第二讲之 成员初始化列表(Member Initialization List)

对于C++的成员初始化列表(member initialization list),在以下情况下必须使用 1 当初始化一个reference member时 2 当初始化一个const member时 3 当调用一个base class的构造函数,而它拥有一组参数时 4 当调用一个member class的constructor,而它拥有一组参数时。 例如:class Word {

2017-07-22 22:44:29 352

转载 Inside the C++ Model第二讲之 程序转化语意学(Program Transformation)

发现这篇博客 深度探索C++对象模型—程序转化语意学写的非常好,就直接转载过来 以下包括编译器调用拷贝构造函数的策略,以及这些怎么影响程序,拷贝构造函数的应用,使编译器作一些转化 编译器通常的3种转化 1显示的初始化操作的转化 如果定义 X x0;对于下图三种显示初始化: 编译器对程序的转化包括两个阶段 (1)重写每一个定义,并且其中的初始化操作会被剥夺 (2)class的拷贝构造

2017-07-22 22:41:14 351

原创 Inside the C++ Model第二讲之 Copy Constructor的构造操作

Default Memberwise Initialization如果class没有提供一个explicit copy constructor又当如何呢?当class object以”同一个class的另一个object”作为初值,其内部是以default memberwise initialization来完成的.也就是把每一个内建的或派生的data member(例如一个指针或一个数组),从某一

2017-07-22 22:29:58 323

原创 Inside the C++ Model第二讲之 Default Constructor的构造操作

**Default Constructor的构造操作** “带有Default Constructor”的Member Class Object 如果一个class没有任何constructor,但它内含一个member object, 而后者有default constructor,那么这个class的implicit default constructor就是”nontrivial”,编译器

2017-07-22 22:21:16 304

原创 Inside the C++ Object Model 第一讲: 关于对象

在C语言中,我们如果想声明一个struct Point3d,像这样:typedef struct Point3d{ float x; float y; float z;}Point3d;某个点特定的坐标可以直接存取,如:Point3d pt;pt.x=0.0;在C++中,Point3d有可能采用独立的”抽象数据类型(abstract data type, ADT)”来实现

2017-07-09 12:02:20 1604

原创 kmp算法

学习KMP算法的时候,这篇博客KMP算法详解给了我很大帮助,不过博客中有些内容对于初学者还是理解困难,现在在这篇博客的基础上进行整理,希望把KMP算法讲解的更清楚一些. kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法。kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常规方法是遍历a的每一个位置,然后从该位置开始和b进行

2017-07-06 15:46:48 245

原创 Learning Deconvolution Network for Semantic Segmentation

本文思想 对称反卷积网络 摘要 1. 提出新的语义分割算法:深度反卷积网络; 2. 在VGG-16卷积层上学习网络; 3. 反卷积组成:deconvolution and unpooling layers,识别逐像素的类别标签,并预测分割mask; 4. 将object proposal(edge box)送入训练后的网络,然后整幅图像是这些proposal的分割结果的组合,这样就可以解

2017-04-07 13:47:21 5832

原创 Mask RCNN

Mask RCNN这是He Kaiming和Ross Girshick等人在2017新出的一篇文章。 一、文章思想 文章的主要思路就是把原有的Faster-RCNN进行扩展,添加一个分支,在现有的目标检测的基础上,实现对目标像素级别的识别。同时,这个网络结构比较容易实现和训练,速度5fps也算比较快点,可以很方便的应用到其他的领域,像目标检测,分割,和人物关键点检测等。并且比着现有的算法效果都

2017-04-02 12:40:41 8998

原创 最长回文子串

回文串:如果一个字符串正着读和反着读是一样的,那么它就是一个回文串。例如,a,aba,abba,aaaa等都是回文串。 最长回文子串问题是指,给定一个字符串,求出这个字符串中最长的连续的回文子串。 最长回文子串问题容易与最长回文序列问题混淆,最长回文字串是在给定字符串中连续的回文子串,而最长回文序列问题中可以不连续。例如,给定一个字符串abcbdda,这个字符串的最长回文子串是abc或bcb,而

2017-03-31 13:47:19 265

原创 CNN迁移学习

Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks这是2014年发在CVPR上的一篇论文,主要解决一个问题:深度学习需要大量的数据,对于小的数据集,如何进行深度学习训练?作者提出了可以在大型数据集(如ImageNet)上进行预训练,然后将训练好的网络权重迁移到小的数

2017-03-13 10:42:29 5253

转载 转:C/C++内存管理详解 堆 栈

这里写链接内容内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权

2017-02-05 11:36:32 276

原创 AVL树

AVL树是一种带有平衡性质的二叉查找树,一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树(空树的高度定义为-1).它保证树的深度是O(logN)。我们知道,二叉查找树的平均深度为O(logN),但是,如果你顺序插入1,2,3,4,5,6……,它会产生一颗高度为O(N)的树。而AVL树可以避免这种情况,因为它有平衡的性质,当任一节点的左子树与右子树的高度差达到2时,可以自动调节树的结

2017-01-13 21:41:09 200

原创 反转链表

链表(有头节点,c语言) 反转链表

2017-01-10 10:31:58 235

原创 Faster R-CNN

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

2017-01-10 08:37:28 328

原创 R-CNN

Rich feature hierarchies for accurate object detection and semantic segmentationR-CNN:Regions with CNN features. 这是在机器视觉领域Region+CNN进行目标识别的开山之作 整体使用Region+CNN+SVM的架构

2017-01-09 23:28:24 785

原创 SPDA-CNN:Unifying Semantic Part Detectiojn and Abstraction for Fine-grained Recognition

这是2016年发表在CVPR中的一篇有关细粒度分类的文章 1. 引入: 1).细粒度分类的挑战性:微小的视觉差异可能会被其他的因素(如视角、角度等)遮掩。 2).最近有一些CNN-SVM框架的细粒度分类研究工作 思路:利用部件(parts)训练CNN网络,将输入图像中所有部件的特征连接起来输入SVM,得到最终的分类结果。 缺点:训练和测试是一个多阶段的过程。 3).作者提出了两层网

2016-12-06 18:33:49 799

原创 用户ID与文件访问权限

一.与进程相关联的ID 与进程相关的ID有6种,分别是实际用户ID,实际组ID,有效用户ID,有效组ID,设置用户ID与设置组ID。 实际用户ID,实际组ID标记我们实际上是谁,一般在用户登录是确定,比如Zhangsan登录了linux,则实际用户就是Zhangsan。 有效用户ID,有效组ID用于文件访问权限检查,在没有设置用户ID/设置组ID的情况下,有效用户ID等同于实际

2016-12-04 22:18:31 1150

原创 The Application of Two-level Attention Models in CNN for Fine-grained Image Classification

这篇文章主要讲细粒度分类问题。普通的分类问题是类间差距较大,例如将一幅图像分类为猫或狗。不同于普通分类,细粒度分类问题类与类之间差异很小,比如将鸟按品种分类。两个不同品种的鸟之间的差异可能仅仅在于鸟的眼睛,嘴巴,腿等部位,其他部位区分度很小。这也造成了细粒度分类问题比普通分类问题难。自深度学习发展以来,图像分类问题最典型的的就是AlexNet,即2012年Hinton和他的学生参加ImageNet图

2016-11-07 19:50:09 1462 1

原创 stl源码剖析之vector,list,deque迭代器分析

一.模型 vector维护的是连续线性空间,当空间大小不足时,另辟一块更大的内存,将之前空间的所有元素移至新空间,并销毁释放原空间。stl中list是一个环状双向链表,它维护的不是连续空间,而是一个个的节点(__list_node),节点之间通过指针连接。deque维护的也是连续线性空间,不过不同于vector,它的空间是分段连续的,当空间大小不足时,deque可以另辟一块空间,并与原来

2016-09-12 13:20:31 472

原创 stl源码剖析之vector

vector是一种序列式容器,使用vector时只需要#include <vector> sgi stl 3.0中vector的具体实现定义在stl_vector.h文件中,vector使用的是连续线性空间,vector的迭代器即为普通指针,截取sgi stl 3.0部分源码,如下//alloc是第一级或第二级配置器,定义在<stl_alloc.h>中,sgi stl中alloc默认为第二级配置

2016-09-11 17:16:53 319

原创 stl源码剖析之traits编程技法

stl中充斥着大量的traits编程技法,要想看stl源码,不了解traits肯定是不行的。 本文主要讲述stl中的taits编程技巧

2016-09-04 09:14:34 661

stl_alloc.h(加注释)

下载的stl_alloc.h源码,自己加了注释,有助于理解stl空间配置器

2016-09-02

红黑树的C++实现

程序为红黑树的C++代码实现,主要包括插入删除查找等操作,红黑树具体可以参考算法导论第3版第13章

2016-01-24

空空如也

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

TA关注的人

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