Pattern Recognition
文章平均质量分 53
eternity1118_
不积跬步无以至千里,不积小流无以成江海
展开
-
几句话梳理Linear Regression、Logistics Regression、Softmax Regression之间的共性与区别
先来说说Linear Regression与正态分布高斯分布的关系Linear Regression的基本步骤如何从Linear Regression引出Logistics RegressionLogistics Regression与Softmax Regression总结指数族分布先来说说Linear Regression与正态分布(高斯分布)的关系上过吴恩达老师的机器学习课程的都熟悉原创 2016-11-03 13:33:06 · 4606 阅读 · 3 评论 -
模式识别(Pattern Recognition)学习笔记(三十二)-- 逻辑回归
在有些模式识别问题中,如癌症病人的诊断,一个细胞是否是癌细胞,这种问题不能简单的用线性回归来研究特征与分类之间的关系。大多数情况中,某一特征对一个对象事物的影响是这样:在某一段范围内,可能属于一个类别,但是在下一个范围内又可能属于另一个类别,然后在下下一个范围可能又不同类,像这种比例渐进式的影响关系很难用一个模型假设来表达,该如何下手呢?要知道虽然类别与特征之间没有一个明确可建立的关系表达,但是归原创 2016-06-17 17:56:04 · 2564 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(三十)--随机森林(Random Forest)
引言 模式识别是一门基于数据的学科,因此所有的模式识别问题都会面临的同一个问题就是数据的随机性问题。模式识别中每个方法的实现都是基于一个特定的数据样本集的,但是这个样本集只是所有可能的样本中的一次随机抽样,毕竟在我们的生活实际中存在着万物众生,多到我们数也数不清,甚至计算机都无法统计的清,而我们搜集到的充其量只是其中很小很小的一部分,这也是为什么机器学习中缺少的只是数据,只要有足够原创 2016-06-16 17:11:23 · 5488 阅读 · 1 评论 -
模式识别(Pattern Recognition)学习笔记(二十九)--决策树的剪枝
在有限的样本下,如果决策树生长得很大,树枝很多,那么就有可能导致有限样本中对采样的偶然性或噪声比较敏感,导致过学习,从而范化能力差。 首先来看一幅图,如图:上图是一次测试中用ID3算法得到的有关决策树的大小与在训练数据和测试数据上的正确率的关系,不难看出,出现了过学习,如果样本不足够多,随着决策树达到一定规模大小,训练数据上的正确率会不断增加,而在测试数据上的正确率不增原创 2016-06-16 15:19:47 · 2418 阅读 · 1 评论 -
模式识别(Pattern Recognition)学习笔记(二十八)-- 决策树
1.数值特征与非数值特征学习分类这么久,不知道大家有没有注意一个问题,那就是我们的输入样本数据都是基于数值计算的,因此在近邻法中才可以计算距离这一说,这种可以用数值来描述的对象特征,我们称之为数值特征,但是在我们生活中所涉及的分类问题并非都是用数值特征来描述某个研究对象的,因此与数值特征对应的就是非数值特征,比如男生和女生比较喜欢什么样的颜色等等。关于非数值特征,主要有以下几种:1)名原创 2016-06-16 12:19:23 · 7709 阅读 · 2 评论 -
模式识别(Pattern Recognition)学习笔记(二十七)-- 基于树搜索算法的快速近邻法
近邻法中计算距离需要遍历,带来很大的计算量和存储量,为了改善这两方面的性能,有人提出采用分枝界定算法(Branch-Bound Algorithm)来改进近邻法,主要分为两个阶段:1)利用人工划分或K-means聚类算法或其他动态聚类算法将样本集X划分成层级形式,形成一个树结构;2)利用树搜索算法找出与未知样本的k个近邻。1.层级划分1)将样本集X划分成l个子集,每个子集再分成l个子集,原创 2016-06-15 11:33:03 · 4489 阅读 · 2 评论 -
模式识别(Pattern Recognition)学习笔记(二十六)--k近邻
1.简介 在样本有限的情况,样本分布不规律且含有噪声的情况下,用最近邻来做决策难免有一定风险,因此对其引入打分机制,对未知样本的决策,不仅仅只依赖于最近的那一个已知样本,更可靠的做法是选择k个距离未知样本最近的已知样本,然后在这k个类别中进行打分来决定最后应该决策给谁。显然,最近邻就是1近邻。 另外,回顾下前面在讲概率密度函数的非参数估计时,是不是也提到了k近邻,没错原创 2016-06-14 16:08:19 · 1667 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(二十五)--最近邻法
1.简介 本篇文章开始,会陆续学习一些其它的常用的非线性分类方法,虽然它们同属于非线性方法,但是它们与前面介绍的稍有不同,原理上具有特殊性,这篇就来学习近邻法中的最近邻法。最近邻法是基于这样一个基本思想的:把一个新样本逐一与已知分好类的样本进行比较,然后把与其距离最近的样本类别作为它的类别,这种思想是不是很好理解,有点类似于我们学英语中的就近原则。2.原理 已知原创 2016-06-14 14:48:17 · 3541 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(二十四)--总结:SVM学习资源
本篇文章对不同阶段的SVM进行严格梳理和总结,不管是初级版的SVM,还是升级版的SVM,你都会发现其实在SVM中一直是有两个核心在贯穿其中的,相信看完本篇的学习,你就会对SVM这个重要级的分类器有个全面的了解,或者有自己的体会,好吧,开始吧,Good luck。。1.核心思想 对于任何非线性方法,如果对特征进行适当的变换,那么久总可以得到相应的线性方法,但是这种变换有时会带来两原创 2016-06-14 11:02:14 · 2526 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(十一)--SVM支持向量机(狭义):大间隔
1.最优分类超平面对于感知器,我们知道了在梯度下降迭代过程中,只要选择的权向量初始值和不同的步长,就会产生不同的解,想象一下,只要样本集是线性可分的(不考虑线性不可分的情况),就会有无数个决策面可以将它们分开,不同的只是距离超平远近的问题,因此对于这种问题就会存在多解性,如图1,但是我们要想办法找到这多解中的最优的一个解,即最优分类超平面。接下来,再想象一下,如果让你来对上图中的两原创 2016-05-23 10:39:47 · 3549 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(十二)--SVM(广义):大间隔
在学习之前,先说一些题外话,由于博主学习模式识别没多久,所以可能对许多问题还没有深入的认识和正确的理解,如有不妥,还望海涵,另请各路前辈不吝赐教。 好啦,我们开始学习吧。。 同样假设有样本集:由于线性不可分,所以 不会对每一个样本都满足,就是说肯定会有一些小于1的样本,对于这些样本我们怎么办呢,想象一下,如果我们在不等式两边同时加上一个正数,是不是总会让它不小于原创 2016-05-24 10:16:25 · 3687 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(三十三)-- Boosting方法之AdaBoost
Boosting最早被用在电力电子技术学科中的升压(Boost)变换器中,原本是想通过升压来提高功率,现在将这一提高功率的思想引入到模式识别方法中,它的含义就变成通过融合多个分类器,从而大大提高分类器的性能。Boosting方法和随机森林的思想很类似,当采用基于简单模型的单个分类器对样本进行分类的效果不理想时,我们希望能够通过构建并整合多个分类器来提高最终的分类性能,我们通常将这种不太理想的单原创 2016-06-20 15:09:45 · 1744 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(三十四)-- 主成分分析(PCA)
一个模式识别系统设计的好坏,首要取决于所选用的特征是否较好的反映了正在研究的问题。模式识别问题的第一步是获取特征,获取来的特征被称作原始特征,其中可能有很多特征与我们研究的问题没多大关系,甚至它们在后续的分类中还有可能影响分类性能;另外,就算这些特征都是与研究问题有联系的,但是太多的特征会导致计算量大、推广能力差,所以原始特征要进一步清洗得到二次特征,即在保证分类器效果的前提下应该使特征数尽可能的原创 2016-06-20 21:40:01 · 8329 阅读 · 0 评论 -
K-Means聚类MATLAB实现
话不多说,直接上代码;%k-meansn = 3000;c = 6;t = randperm(n);x = [randn(1,n/3)-2 randn(1,n/3) randn(1,n/3)+2; randn(1,n/3) randn(1,n/3)+4 randn(1,n/3)]';m = x(t(1:c),:);x2 = sum(x.^2,2);s0(1:c,1) = inf原创 2016-11-03 11:36:58 · 2353 阅读 · 3 评论 -
安装Scikit-learn:ValueError: numpy.dtype has the wrong size, try recompiling解决
今天在尝试使用scikit-learn的AdaBoost模型时一直报错,Traceback (most recent call last):File "", line 1, in File "/Library/Python/2.7/site-packages/sklearn/__init__.py", line 57, in from .base import cloneFile "/转载 2016-08-24 17:22:12 · 4272 阅读 · 0 评论 -
基于DL的计算机视觉(1)-- Python基础介绍
1.背景计算机视觉/computer vision是一个火了N年的topic。持续化升温的原因也非常简单:在搜索/影像内容理解/医学应用/地图识别等等领域应用太多,大转载 2016-08-11 11:18:50 · 1099 阅读 · 0 评论 -
基于DL的计算机视觉(11)-- 基于DL的快速图像检索系统
1.引言本系统是基于CVPR2015的论文《Deep Learning of Binary Hash Codes for Fast Image Retrieval》实现的海量数据下的基于内容图片检索系统,250w图片下,对于给定图片,检索top 1000相似时间约为1s,其基本背景和原理会在下文提到。2.基本问题与技术大家都知道,基于内容的图像检索系统是根据图像的内容,在已转载 2016-08-11 11:59:19 · 1096 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(三十六)-- 动态聚类算法
如果不估计样本的概率分布,就无法从概率分布的角度来定义聚类,这时我们就需要有一种新的对聚类的定义,一般的,根据样本间的某种距离或某种相似性度量来定义聚类,即把相似的或距离近的样本聚为一类,而把不相似或距离远的样本聚在其他类,这种基于相似性度量的聚类方法在实际应用中非常常用,主要可以分为动态聚类法和分层聚类法,本篇博客我们主要来介绍常用动态聚类的方法。动态聚类方法是一中普遍被采用的方法,具有以下原创 2016-07-21 15:16:04 · 8205 阅读 · 3 评论 -
K-Means聚类算法
本文系翻译(原文),必要时揉入了自己的理解,各位看官,如有错误还望多多包涵。1.引言 前面说过,机器学习是一门处理数据的学科,计算机发展至今,也诞生了数不胜数的跟数据有关的智能算法,正因为这些算法才让那些从事数据分析和处理的人们得以发挥自己的聪明才智。这些算法表面上看似极其复杂无比,但是如果你有心将它们一一整理并且深入的理解,那么在你需要时,你会发现找到一个适合的算法应用到你的翻译 2016-05-27 12:59:06 · 4649 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(三十五)-- K-L变换与PCA
K-L变换的理论知识K-L变换是除了PCA外的另一种常用的特征提取方法,它有很多种形式,最基本的形式跟PCA类似,它跟PCA的不同在于,PCA是一种无监督的特征变换,而K-L变换能够考虑到不同的分类信息,实现有监督的特征提取。根据随机过程中的KL展开理论,将随机过程描述为无数个正交函数的线性组合,而在模式识别问题中,通常可以将一个样本看成是随机向量的某一次实现结果,所以假设有一d维随机向量原创 2016-06-23 17:20:16 · 9599 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(二十三)-- SVM的两大思想:大间隔与核函数
0.引言上节讲到广义线性判别函数,它是从任意阶非线性判别函数到线性判别函数的一种有效变换,但是这种变换是以牺牲特征空间维数为代价的,如果能很好地处理这种维数灾难,那么上述变换也是极好的,有没有可能在特征空间上作变换呢,从而将原空间中的非线性问题转化为新空间中的线性问题,答案是肯定的,今天我们来学习如何构造这种非线性的支持向量机,因为它就是采用引入特征变化这一思路来实现的,但是值得注意的是,支持原创 2016-06-13 22:31:33 · 9505 阅读 · 0 评论 -
算法面试题(一)-- 统计学习与模式识别面试题
题目:答案解析:第一部分:1.统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,又称为统计机器学习;特点:以计算机为平台;以数据为对象;以方法为中心;以概率论、统计学、信息论以及最优化理论等为理论依托;目的是实现对数据的预测和分析;三要素:模型、策略、算法;2.3.特征选择:基于两个问题:1如何评价一组特征是否有效;2寻优算法原创 2016-06-21 12:46:58 · 4012 阅读 · 1 评论 -
统计学习:现代机器学习
统计学习:现代机器学习统计学习统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,统计学习也称为统计机器学习。当前大部分机器学习也都指的是统计机器学习。特点以计算机和网络为平台以数据为研究对象,是数据驱动的学科目的是对数据进行分析和预测以方法为中心,通过方法构建模型并应用模型来进行分析和预测是概率论、统计学、信息论、计算转载 2016-06-21 11:36:47 · 1661 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(一)--何为模式识别
一、什么是模式和模式识别? 当我们人眼看到一幅画时,我们能够很清晰的知道其中哪里是动物,哪里是山,水,人等等,但是人眼又是如何识别和分辨的呢,其实很简单,人类也是在先验知识和对以往多个此类事物的具体实例进行观察的基础上得到的对此类事物整体性质和特点的认识的,并不是人类原本就有对这类事物的记忆,就好比婴孩时期的我们,并不知道什么是狗,什么是帅哥,什么是美女,但是随着我们的慢慢长大,原创 2016-04-09 16:01:47 · 42346 阅读 · 16 评论 -
模式识别(Pattern Recognition)学习笔记(二十二)--广义线性判别函数
前面讨论过在样本线性可分与不可分下的SVM,知道了不管是样本可分还是不可分,不管是狭义的还是广义的,它都是属于线性,那么我们应该如何构造非线性的SVM呢?本篇文章先不讲有关如何构造的问题,先来讨论下传统的广义线性判别函数,从它入手也正是为将来如何构造非线性的SVM打下良好基础。 首先回顾下线性判别函数,不知道大家还有印象没,对于一个两类问题其形式为,根据线性代数知识,我们知道这是一原创 2016-06-13 16:16:17 · 4972 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(十七)--二次判别函数
前面提到,当概率密度函数满足高斯分布或正态分布的情况,贝叶斯决策的分类面就是一个二次函数,这篇博客来学习有关二次判别。 首先给出二次判别函数的一般形式: (1)其中,W是d阶对称方阵,w为d维权向量; 从判别式中可以看出,有很多参数,其中等式右边第二项就有d(d+1)/2个参数,很明显,这是一个O(n^2)的复杂度,如果仍然像学原创 2016-06-01 10:59:47 · 5000 阅读 · 0 评论 -
软分类和硬分类
在统计学习中,有两种模型:概率模型和非概率模型;概率模型:形式为P(x|y),即在学习过程中,y未知,训练后模型得到的输出是x的一系列值的概率;非概率模型:形式为决策函数,即输入x到输出y的一个映射,且输出唯一;软分类:使用的是概率模型,输出不同类对应的概率,最后的分类结果取概率最大的类,如多SVM组合分类;硬分类:使用的是非概率模型,分类结果就是决策函数的决策结果;原创 2016-05-28 17:11:14 · 6832 阅读 · 2 评论 -
混合高斯模型GMM
1.简介 GMM(Gaussian Mixture-based Model)作为一种常见的而聚类算法,可以被用来分离场景中前景和背景的,或者叫做背景扣除,那么什么叫做背景扣除(Background Subtraction)呢?我们知道所谓的监控系统中,通常都是利用静态相机来捕捉场景的,因此其中比较具有挑战的一步就是如何检测出场景中的突然闯入者,传统的应用中都会假设场景中没有这样的原创 2016-05-04 16:15:30 · 9430 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(六)——概率密度函数的非参估计
上篇学习了PDF的参数估计方法,主要有最大似然估计和贝叶斯估计,他们主要对有确定形式的PDF进行参数估计,而在实际情况下,并不能知道PDF的确切形式,只能通过利用所有样本对整个PDF进行估计,而且这种估计只能是利用数值方法求解。原创 2016-04-20 16:43:00 · 14314 阅读 · 1 评论 -
吸引子传播(Affinity Propagation)算法
AP算法诞生于2007年,由于其算法的简单性以及性能的优越性,得以广泛应用,成为K-Means外的又一大常用聚类算法;K-Means聚类自身的缺陷在于要人为选取聚类数量以及初始点,算法的性能也完全依赖于上述选择,与K-Means相比,AP避免了此类人工选择,将数据点对之间的相似性度量作为输入,它的核心在于“message passing信息传播”,主要目的为了找到一个样例的典型,即能够表示原创 2016-05-27 21:26:20 · 7385 阅读 · 3 评论 -
模式识别(Pattern Recognition)学习笔记(十五)--机器学习的范化能力(推广能力)
如有错误还请指正,并望海涵。。谢谢。。 模式识别是一种基于数据的机器学习,学习的目的不仅是要对训练样本正确分类,而且能对测试样本正确分类,这种能力叫做推广能力或范化能力。 如何评估一个学习机器的推广能力呢? 设某一样本x,其真实所属类别标签为y,用判别函数f(x,w)来估计y,估计过程中带来的损失为L(y,f(x,w)),则在某个w下对所有训练样本的原创 2016-05-25 14:20:10 · 2682 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(十四)--多类线性判别函数
模式识别(Pattern Recognition)学习笔记(十四)--多类线性判别函数如有错误还请海涵,多谢。。 首先,将多类线性判别函数记为: 按照上一节学习的多类分类器的设计思想,很明显对于c类问题,就有c个判别函数: (1)如果哪一类的判别函数最大,就决策为哪一类:if ,then (2原创 2016-05-25 13:44:32 · 2109 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(十三)--多类线性分类器
模式识别(Pattern Recognition)学习笔记(十三)--多类线性分类器如有错误还望海涵,谢谢。引言 在之前的学习和讨论中,均是围绕的两类问题来展开,但这毕竟不结合实际,实际应用中面临更多的往往是多类分类问题,如钞票代码识别中,10个数字的识别和26个英文字母的识别等。 通常来说,解决多类问题的基本思路有两种:一是把多类问题分界成多个两类问题,通原创 2016-05-25 12:12:59 · 5985 阅读 · 1 评论 -
模式识别(Pattern Recognition)学习笔记(七)——线性分类器及线性判别函数
1.为什么要设计分类器? 回顾下前面学习的统计决策,也就是贝叶斯决策,它可以简单被划分为两步,首先根据样本进行PDF估计,然后根据估计出的PDF来求分类面,因此又经常被叫做两步贝叶斯决策。如果我们能够很好地估计出PDF模型,也总可以利用贝叶斯来实现两类甚至多类的最优分类,但是很多实际情形中,想要精准的估计出PDF模型,并非易事,尤其当样本存在高维特征空间,以及样本数量并不足够多的情原创 2016-04-26 15:05:18 · 16364 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(四)——最小风险贝叶斯决策
前面提到了最小错误率的贝叶斯决策,可以说大多数情况中,我们都是用的这一准则的决策方式,但对于一些特殊的场合,比如一个癌症病人的癌细胞判别中,相比于错误率,我们更关心的应该是判别错误所带来的损失,因此在这种情况下,我们就不能使用最小错误率准则来决策了,而要使用一种新的决策准则——最小风险贝叶斯决策。 所谓的最小风险贝叶斯决策,就是各种错误决策所造成不同损失时,选择造成损失(也即风险原创 2016-04-12 16:48:07 · 7913 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(五)——概率密度函数(pdf)的参数估计
回顾下贝叶斯决策,它的终极目标是要获取后验概率,而后验概率又可以由先验概率和类条件概率密度两个量估计得到。先验概率的估计相对来说比较简单,一般有两种方法,其一可以用训练数据中各类出现的频率来估计得到;其二可以依靠经验,不管哪种方法都不会很难,而对于类条件概率密度来说,估计往往会难得多,因此对于它的估计会是贝叶斯决策的重点。 有关概率密度函数的估计,统计类的书籍(像概率论与概率统计)原创 2016-04-15 10:22:01 · 4327 阅读 · 0 评论 -
运动跟踪算法CMT(续)之层次凝聚聚类算法(HAC)
熟悉CMT的都知道,作者在聚类部分使用了层次凝聚聚类算法(Hierarchical Agglomerative Clustering)并且使用的是单链(Single-link),今天我们就来学习下这个算法。 前面学习了几种聚类算法,K-Means,EM,AP等都属于平面聚类(Flat Clustering),因为这些算法的输出都是返回一个平面的无结构的聚类集合,所以叫做Flat c原创 2016-05-28 23:23:25 · 4767 阅读 · 0 评论 -
模式识别(Pattern Recognition)学习笔记(二十一)--再谈(人工)神经网络(ANN)
1.简介 目前为止,通过MLP和BP算法的学习,我们已经接触了神经网络,并且知道了最具有代表性的一种模型“多层感知器”,这篇文章对ANN做个详细的总结和概述。 一般来讲,ANN可以看做是由大量简单计算单元(神经元节点)经过相互连接而构成的学习机器,网络中的某些因素,如连接强度(权值)、节点计算特性、网络结构等,可以按照一定的规则或算法根据样本数据来进行相应的调整(训原创 2016-06-12 17:11:25 · 8477 阅读 · 1 评论 -
模式识别(Pattern Recognition)学习笔记(二十)--BP算法
1.引言在无法像线性感知器一样利用梯度下降学习参数这一问题阻碍了MLP长达25年后的一天,有人给出了一种有效的求解这些参数的方法,就是大名鼎鼎的反向传播算法(Back Propagation),简称为我们熟知的BP算法(特别注意,BP算法是一种算法,一种机器学习算法,而并非一种网络或模型)。BP的主要突破,在于用Sigmoid函数替代了原始MLP中的阶跃函数作为网络的传递函数。2.传递函数原创 2016-06-12 12:31:36 · 8141 阅读 · 1 评论 -
模式识别(Pattern Recognition)学习笔记(十八)--感知器与神经网络
1.什么是人工神经网络(ANN)?1.1ANN的由来 在人工智能中,有两个研究方向:1)先试图对人类或其他高等动物的自然智能建立一定的数学模型,然后借助这种方式来帮助理解智能活动的奥秘;2)通过数学手段,利用计算机建立具备一定智能的机器。回顾下前面学习的贝叶斯决策和线性的非线性的判别方法,可以发现,它们显然对应于第二种研究方向,都是直接从数学的角度来分析数据的分布,建立线性的或原创 2016-06-03 18:52:39 · 3434 阅读 · 0 评论