自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (12)
  • 收藏
  • 关注

原创 机器学习实践系列之1 - dlib

Dlib 是一个机器学习库,采用C++编写(提供C++和python接口),里面包含 许多常用机器学习算法。        Dlib 目前已更新到 V19.2。下载及文档可以参见 官网地址: http://www.dlib.net/ml.html一. 编译        下载的dlib库解压后,需要通过CMake进行编译,在windows下作者采用的是 CMake3.5.1。

2017-01-15 13:07:00 5845 1

原创 机器学习读书笔记之11 - 岭回归 & LASSO回归

回归 就是 对数据进行拟合,我们常说的 线性回归、高斯回归、SVR、Softmax 都是属于 回归。        最小二乘大家再熟悉不过了,作为入门级的线性回归,可能会遇到的一些问题:(1)参数稳定性和精度问题        如果 观测数据和参数 之间有比较明显的线性关系,最小二乘回归会有很小的偏倚;        如果观测数据个数N远大于参数个数P时,最小二乘回归能得到较小

2017-01-15 13:06:44 1962

原创 机器学习读书笔记之10 - PCA

通常在特征提取过程中,会遇到一个很严重的问题,那就是特征维度过多,实际上这些特征对于 表示和分类的贡献度不同,那么哪些特征是重要的?哪些是次要的呢?        这时轮到PCA出场了(想必早已名声在外),PCA即主成分分析(principal component analysis),主要被用于消除样本特征之间的相关性,降低计算复杂度,通俗上称之为降维。        PCA降维来进行

2017-01-15 13:06:26 628

转载 机器学习读书笔记之9 - 逻辑回归

逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。本文主要详述逻辑回归模型的基础,至于逻辑回归模型的优化、逻辑回归与计算广告学等,请关注后续文章。1 逻辑回归模型    回归是一种极易理解的模型,就相当于y=f(x),表明自变

2017-01-15 13:06:08 586

原创 机器学习读书笔记之8 - 聚类

聚类(Cluster) 是无监督学习的一种,与分类相区别的地方在于:1. 分类的目的在于将数据进行明确的归属划分,聚类 的目的只是使同一类对象的相似度尽可能大;2. 聚类 作为非监督学习,不需要训练和学习过程;       目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类

2017-01-15 13:05:43 486

原创 机器学习读书笔记之7 - 分类方法梳理

在提取特征以后,如何根据这些特征判断,称之为分类,解决分类问题的方法很多,常用分类方法主要包括:KNN、支持向量机(SVM)、贝叶斯、决策树、人工神经网络等;另外还有用于组合单一分类方法的集成学习算法,如Bagging和Boosting等。        在介绍具体分类方法之前,先来明确两个概念,过拟合(OverFit)与欠拟合(UnderFit),这是在分类器训练,包括神经网络训练中都会遇到

2017-01-15 13:05:29 1196

转载 机器学习读书笔记之6 - 贝叶斯系列

概率论只不过是把常识用数学公式表达了出来。——拉普拉斯目录0. 前言 1. 历史     1.1 一个例子:自然语言的二义性     1.2 贝叶斯公式 2. 拼写纠正 3. 模型比较与贝叶斯奥卡姆剃刀     3.1 再访拼写纠正     3.2 模型比较理论(Model Comparasion)与贝叶斯奥卡姆剃刀(Bayesian Occ

2017-01-15 13:05:14 895

原创 机器学习读书笔记之5 - RANSAC

随机采样一致性(RANdom SAmpleConsensus),是 指从一组包含 “局外点”的数据集中,通过迭代方法估算数学模型的参数。        RANSAC是一种不确定的算法,它有一定的概率得出一个合理的结果,为了提高概率必须增加迭代次数。        来看这样一个简单样例,假设我们想拟合一条直线:        可以看到,图中 红色的点是 “局外点”,蓝

2017-01-15 13:03:05 983

转载 机器学习读书笔记之4 - HMM

隐马尔可夫模型(Hidden Markov Model,HMM)是用来描述一个含有隐含未知参数的马尔可夫过程。        马尔科夫过程(MarKov Process)是一个典型的随机过程。设X(t)是一随机过程,当过程在时刻t0所处的状态为已知时,时刻t(t>t0)所处的状态与过程在t0时刻之前的状态无关,这个特性成为无后效性。无后效的随机过程称为马尔科夫过程。        转载

2017-01-15 12:43:13 531

原创 机器学习读书笔记之3 - EM算法

EM(expectation-maximization)算法又称期望最大化算法,是Dempster,Laind,Rubin于1977年提出的求参数极大似然估计的一种迭代优化策略,它可以从非完整数据集中对参数进行极大似然估计,是一种非常简单实用的学习算法。这种方法可以广泛地应用于处理缺损数据,截尾数据,带有噪声等所谓的不完全数据,EM算法是在缺失数据等不完全数据下进行参数的极大似然估计或者极大后验估

2017-01-15 12:42:35 993

原创 机器学习读书笔记之2 - 最大似然估计

最大似然法(Maximum likelihood,ML)也称为最大概率估计、极大似然估计,基本思想是:当从参数模型 y=f(m; x) 中随机抽取几组样本观测值(数据)后,最合理的参数a的估计值,应该使得从模型中抽取该观测值的概率最大。        也就是说,我们已知结果(y1,y2,y3…),求最可能的参数值a,这里的最大可能即为 最大似然。        举个例子,有两个外形完全相同

2017-01-15 12:41:49 1064

原创 机器学习读书笔记之1 - 最小二乘法

最小二乘法 是指 根据测量数据,得到这组数据规律的公式表示,其原则是 误差的平方和最小。“二乘” 即为平方,最小二乘拟合是机器学习最简单也是最实用的方法之一。        最小二乘法是用于 模型逼近 和 曲线拟合 的常用手段。        上图表示根据一组数据 拟合直线的情况,最小二乘 一定程度上得到和数据最逼近的解。        用公式来表示:

2017-01-15 12:40:51 1021

原创 设计模式之23 - 访问者模式Visitor

访问者模式 属于23种设计模式里面 比较复杂的一种模式,访问者模式就是表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。        说白了 就是被访问者不需要改变,访问者通过继承抽象类操作 来定义对象的访问。抽象访问者(Visitor):声明了一个或者多个访问操作,形成所有的具体元素角色必须实现的接口。具体访问者(

2017-01-13 20:21:50 590

原创 设计模式之22 - 模板方法Template method

模板 是一个通俗的概念定义,PPT模板、Word模板、Excel模板,你能接触的模板有很多,模板其实就是一个 Example、一个框架,你根据这个例子去具体实现。        模板方法 的概念与此类似,在 抽象类中定义 算法的骨架,将具体内容 延迟到子类实现。        上面的这个图说明的比较清晰,我们通过代码再来看一下:class AbstractClass{

2017-01-13 20:21:25 443

转载 设计模式之21 - 策略模式Strategy

1.概述        在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方法中

2017-01-13 20:21:04 469

原创 设计模式之20 - 状态模式State

在面向对象的思想下,经常会遇到这种这种情况,同一个对象在不同 状态下的表现是不一样的。        比如 一个人情绪的低落和高昂,甚至吃了兴奋剂,他竞技时跑步的速度肯定是不一样的。        同样你的空调 包含 制冷、制热、送风、除湿 等多个模式,每种模式下其属性都不同。        看明白了吗?这就是 状态模式,状态模式 允许一个对象在其内部状态改变的时候改变其行为。

2017-01-13 20:20:49 523

原创 设计模式之19 - 观察者模式Observer

观察者模式(Observer)又称 订阅者模式(Subscriber),是一个发布者对应多个观察者,就像 微博、邮件订阅一样,只有订阅该新闻的用户才能够收取到该信息,类图定义:        发布者(Publisher)内部保存了一个观察者对象列表(Observer),当发布者属性发生变化时,调用notify通知观察者,提示信息变化。        模式的实现比较简单,我们定义

2017-01-13 20:20:34 421

原创 设计模式之18 - 备忘录模式Memento

有时候我们需要记录一个对象的状态,用于该对象在某些状况下的恢复,这种模式 我们称之为 备忘录模式。        就像你录一段 婚礼视频,写一篇日记 是一样的, 备忘录模式 类结构图定义如下:发起人(Originator):需要备份的对象,将自身的属性信息拷贝到一个 备忘录对象,并能够通过备忘录中的属性信息 进行恢复;备忘录(Memento):保存发起人状态,提供set,get

2017-01-13 20:20:19 428

原创 设计模式之17 - 中介者模式Mediator

觥筹交错的2016,看惯了帝都的繁华,也习惯了帝都的房价,隔三差五接到一个电话,问问是谁打来的呢?没错,中介。        这是一个伟大的职业,解决了数百万人的就业问题,当然在代码设计中也不例外。        中介者模式 定义为 通过一个封装对象来处理多个对象之间的复杂交互,从而实现模块的解耦。        从图上能够看到,中介者模式 将多个模块之间复杂的交互和调用独立出

2017-01-13 20:19:54 391

转载 设计模式之16 - 迭代器模式Itertor

1. 迭代器模式(Iterator Pattern)的定义(1)定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。  ①迭代器迭代的是具体的聚合对象(如数组和链表等),它围绕的是“访问”做文章。  ②可用不同的遍历策略来遍历聚合,比如是否需要过滤  ③为不同聚合结构提供统一的迭代接口,也就是说通过一个迭代接口可以访问不同的聚合结构,

2017-01-13 20:19:34 1718 1

转载 设计模式之15 - 解释器模式Interpreter

1. 解释器模式(Interpreter Pattern)的定义(1)定义  给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。  ①文法:即语法规则。在解释器模式中每一个语法都将对应一个解释器对象,用来处理相应的语法规则。它对于扩展、改变文法以及增加新的文法规则都很方便。  ②解释器模式描述了如何为简单的语言定义一个文

2017-01-13 20:19:06 1173

原创 设计模式之14 - 命令模式Command

Command是我们最常用的模式之一,主要用在 撤消/重做功能Undo | Redo,其中有代表的是二维/三维的图形操作,它为用户提供了必要的,可修改的操作接口,大大提高了软件的灵活性。Undo | Redo机制一般需要借助堆栈(或者队列,链表)等数据结构,通过记录每一步的操作来实现。        图形操作一般是通过图元属性的更改完成(比如move),这种操作称为可逆操作,只需要记录改变

2017-01-13 20:18:37 473

原创 设计模式之13 - 责任链模式Chain Of Responsibility

条件判断 在编程中是应用最广的,他决定了程序的下一步应该怎么执行。我们来看下面一段代码:// 条件判断string strType = "";if(age<3) strType = "未入学";else if(age<6) strType = "幼儿园";else if(age<12) strType = "小学";else if(age<15)

2017-01-13 20:18:24 422

原创 设计模式之12 - 代理模式Proxy

代理模式 比较简单,生活中有很多这样的例子,比如 有人在 天猫 上销售苹果手机,这个店铺就是苹果手机的一个代理;如果你想访问一个国外的网站,可能需要通过一个VPN代理来中转;某天犯懒,你通过百度点了外卖;还有满大街的房屋中介 等等,这些都是代理的例子。        先来看一下类结构图:        真实对象 与 代理类对象继承自统一接口,客户通过接口访问 代理Proxy,Pro

2017-01-13 20:18:03 662

原创 设计模式之11 - 享元模式FlyWeight

享元模式 是结构性模式中一种非常有用的模式,其特点在于 复用内存中已存在的对象,从而降低创建对象的开销。        这在系统中存在大量的 细粒度对象的情况下非常有用,比如 一篇英文文稿,里面的词成千上万,但是对应的英文字符只有26个,再加上10个数字,不考虑标点和其它特殊字符的情况下,只有36个对象。        这就是 享元,共享的元素。        对于上面的例子,内存中只

2017-01-13 20:17:44 496

原创 设计模式之10 - 门面模式Facade

门面模式 又称为 外观模式,是我们比较常用的模式之一,主要应用在于:1. 为一个复杂子系统提供一个简单接口,提高子系统的独立性 并简化外部的调用;2. 定义系统每一层的入口,有助于模块清晰化;        如上图所示,不管模块复杂度如何,只需要定义出来一套 调用接口即可,其模块具体的内部实现一概不管,在分组开发模式下,这种思路尤为重要,保证模块间的独立性和解耦合 是代

2017-01-13 20:17:27 379

原创 设计模式之9 - 装饰模式Decorator

我们经常会遇到这种问题,当一个类出现非常多的选择,比如 咖啡,要加 糖、抹茶、香草、牛奶……,那么多调味品,在这种情况下,考虑通过继承的方式是否合理?你会得到 很多种咖啡类,牛奶咖啡、抹茶咖啡、牛奶椰蓉咖啡、香草黑糖咖啡、曲奇巧克力蛋奶咖啡……,好像很不靠谱对吧?        发现了 上面的 子类爆炸问题 后,你可能会问,我需要定义那么多的子类吗? 咖啡就是咖啡,其他的只是酌料而已。

2017-01-13 20:17:06 357

原创 设计模式之8 - 组合Composite

组合模式Composite 也称为 整体-部分 模式,用户可以通过一致的方式 整体调用。        组合模式特点可以概括为两点:1. 复杂对象对于简单对象的组合;2. 统一的对象接口,方便抽象的整体调用;       对于第一点,从学习面向对象开始,组合模式 就表达了最基本的封装的概念,这个意义上组合模式太简单,简单到和人要吃饭睡觉一样,或者说其本身并不算一种模式。

2017-01-13 20:16:51 353

原创 设计模式之7 - 桥接模式Bridge

桥接模式 与上一节的Adapter模式类似,是 媒介模式的一种。        桥接模式 的意义是将 抽象(Abstraction)与实现(Implementation)解耦,使得二者可以独立地变化。        通过 抽象类 Abstraction 对 实现类 Implementor 的调用,实现松耦合关系,Implementor负责实现核心功能,作为一个媒介调用方

2017-01-13 20:16:20 379

原创 设计模式之6 - 适配器Adapter

先说 适配器,比如 美标的转换插座、海淘电器用的110V到220V变压器、还有安卓到苹果的usb转换接头,这些都是非常常见的适配器的案例。        Adapter模式将一个类的接口转换成另外一个接口。使得原本由于接口不兼容而无法使用的类可以被正常调用。        适配器模式 的类图如下:        其中 Target 为需要适配的目标接口,Adaptee是需要被适

2017-01-13 20:15:55 345

原创 设计模式之5 - 单例模式Singleton

单例模式 是一种创建类型的模式,通过隐藏构造和析构函数,实现在内存中仅有一个对象 的目的。        Singleton的这种实现方式是非常有价值的,在多个模块或者多个线程中进行访问,可以不需要传递对象或者指针,通过引入头文件即可实现在不同模块解耦。        先来看Singleton的代码实现:#ifndef _SINGLETON_H_#define _SI

2017-01-13 20:15:04 513

原创 设计模式之4 - 原型模式Proto Type

原型模式 核心价值在于复制(clone接口),调用类通过调用原型的 clone接口,生成原型类的一个新的实例。        原型模式被用在对象的频繁拷贝上,其作用与拷贝构造函数类似(Clone也用来屏蔽浅拷贝和深拷贝),主要有两种应用:        1)需要保存一份对象的拷贝 备份,作为数据留存;        2)克隆对象并设置改变后的部分属性。        我们来

2017-01-12 22:59:49 728

原创 设计模式之3 - 工厂方法Factory Method

工厂方法模式 又称为多态工厂模式,注意这里面的多态,意义在于定义一个创建产品对象的接口,基类本身不去创建对象,而是交给其子类或者是其实现类去创建。        通过上图可以看到,IFactory作为基类,定义了createProduct 方法,而子类Factory通过继承实现不同的createProduct方法,这就是 工厂方法的概念,比如说我们有多个子类工厂(Factory1、Fa

2017-01-12 22:58:17 458

原创 设计模式之2 - 建造模式Builder

建造者模式 源自于复杂对象的构造过程,比如我们要建造一座房子,或者建造一辆车,Builder模式包含的角色包括:        Director(Designer):指导者(或者 设计者)        Builder:建造者        Product:产品                这里我们不再强调产品的概念,以房子为例来解析Builder模式的过程:

2017-01-12 22:56:51 401

原创 设计模式之1 - 抽象工厂Abstract Factory

工厂模式整体上是一个系列,建议 大家先看完后面的工厂方法模式,再回过头来看本章。        抽象工厂模式 是一种 创建类模式,和Factory Method类似,我们不去解释这个概念,网上能搜到的解释都很绕,越看越茫然,我们只去抓住其核心点。        核心就在于抽象,比如对于下面的用例,Factory类本身定义了两个方法,CreateProductA(衣服) 和 CreatePr

2017-01-12 22:55:33 477

原创 C++基础学习之16 - 多线程与互斥锁

熟悉Linux的童鞋都对多进程比较熟,Linux下的 fork也有很多教程介绍,但这不是我们本节的重点,我们在这里主要讲的是多线程。        相对于进程来讲,线程 是一个轻量级的概念,一个进程包含多个线程(至少1个)。        线程有自己的堆栈和局部变量,但没有内存空间,而是共享进程的内存空间。        这种共享内存机制 优点在于通过数据共享的快速访问,同样这种机制

2017-01-12 22:50:11 954

原创 C++基础学习之15 - 消息机制

提到进程间通信(IPC),你可能会想到很多种方式,比如:1)消息传递(管道、FIFO、消息队列);2)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量);3)共享内存(匿名的和具名的);4)远程过程调用(Solaris门和Sun RPC)。        没错,你有很多种选择,但提到消息,很多人第一印象就是 发送者(Sender)和 接收者(Receiver)。你

2017-01-12 22:49:03 1256 1

原创 C++基础学习之14 - 再谈指针

前面已经讲过C++指针的概念,指针是一个特殊变量,里面保存了一个内存地址。        那么指针本身占了多大内存呢? 在32位平台上是 32位(4字节),在64位平台上就是 64 位。        我们通过代码来看一下指针的寻址方式。int a[5] = { 1,2,3,4,5 }; int *p = a; for(i=0;i<5;i++) { (*p)

2017-01-12 22:46:53 332

原创 C++基础学习之13 - 可视化设计

讲到C++的可视化设计,一般都会想到 类图、流程图、交互图、部署图等,没错,UML设计是C++代码设计之前的必选项(当然对于产品经理们更关注UI,他们更愿意使用Axure),但是这些不是我们所关心的,本节我们要谈的是系统开发完成以后的设计图、文档。        这些内容可以通过UML给出吗?当然可以,但我相信大多数人无法做到这一点,因为在开发过程中大部分的设计早已面目全非,想保持同步的更

2017-01-12 22:45:02 3402

原创 C++基础学习之12 - 测试驱动开发

测试驱动开发,英文全称 Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。        测试驱动开发的基本过程如下:1. 快速新增一个测试;2. 运行所有的测试(有时

2017-01-12 22:41:51 702

ICDAR2017数据集说明

ICDAR2017数据集说明,包括数据集分类,相关数据的说明,标注格式等。

2018-09-26

ICCV2017 Person Re-Id

ICCV 2017 相关论文下载,文章共9篇,包含 Cross View 方法、Unsupervised 方法、改进的 Triplet Loss 方法等。

2017-09-06

CVPR2017 Person Re-Id

CVPR 2017 相关论文下载,提供最新的文章链接,2017年12篇相关的论文,从数据集到算法,包括 Triplet改进方法、Re-Ranking等。

2017-09-06

Re-ID Paper

CVPR 2017 相关论文下载,提供最新的文章链接,2017年12篇相关的论文,从数据集到算法,包括 Triplet改进方法、Re-Ranking等。

2017-09-04

TrAdaBoost算法实现

TrAdaBoost算法实现

2017-06-25

基于实例和特征的迁移学习算法研究

基于实例和特征的迁移学习算法研究

2017-06-16

YOLO v2配置文档

YOLO v2

2017-06-05

dlbook_cn_public

dlbook_cn_public

2017-06-01

【极市】第15期分享 王蒙蒙-基于计算机视觉的目标跟踪算法概览

目标跟踪算法概览

2017-05-25

TensorFlow安装-Windows

TensorFlow安装-Windows

2017-04-24

TensorFlow技术白皮书

TensorFlow技术白皮书

2017-04-18

网络结构图SSD

SSD网络图

2017-03-31

空空如也

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

TA关注的人

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