精华内容
下载资源
问答
  • 在分类聚类算法,推荐系统,常要用到两个输入变量(通常是特征向量的形式)距离计算,即相似性度量.不同相似性度量对于算法的结果,有些时候,差异很大.因此,有必要根据输入数据的特征,选择一种合适的相似性度量方法. ...
    在分类聚类算法,推荐系统中,常要用到两个输入变量(通常是特征向量的形式)距离的计算,即相似性度量.不同相似性度量对于算法的结果,有些时候,差异很大.因此,有必要根据输入数据的特征,选择一种合适的相似性度量方法. 
    

    X=(x1,x2,..,xn)T,Y=(y1,y2,...yn)T为两个输入向量,

     

    1.欧几里得距离(Euclidean distance)-EuclideanDistanceMeasure.

    Euclidean Distance

    相当于高维空间内向量说表示的点到点之间的距离。
    由于特征向量的各分量的量纲不一致,通常需要先对各分量进行标准化,使其与单位无关,比如对身高(cm)和体重(kg)两个单位不同的指标使用欧式距离可能使结果失效
    优点:简单,应用广泛(如果也算一个优点的话)
    缺点:没有考虑分量之间的相关性,体现单一特征的多个分量会干扰结果。


    2.马氏距离(Mahalanobis distance)-MahalanobisDistanceMeasure

    C=E[(X-X平均)(Y-Y平均)]为该类输入向量X的协方差矩阵.(T为转置符号,E取平均时是样本因此为n-1)

    适用场合:
    1)度量两个服从同一分布并且其协方差矩阵为C的随机变量X与Y的差异程度
    2)度量X与某一类的均值向量的差异程度,判别样本的归属。此时,Y为类均值向量.
    优点
    1)独立于分量量纲
    2)排除了样本之间的相关性影响。
    缺点:不同的特征不能差别对待,可能夸大弱特征。


    3.闵可夫斯基距离(Minkowsk distance)-MinkowskiDistanceMeasure(默认p=3)

    Minkowski Distance

    可看成是欧氏距离的指数推广,还没有见到过很好的应用实例,但通常,推广都是一种进步,特别的,

    当p=1,也成做曼哈顿距离,也称绝对距离,曼哈顿距离来源于城市区块距离,是将多个维度上的距离进行求和后的结果ManhattanDistanceMeasure.

    Manhattan Distance

    当q=∞时,称为切比雪夫距离ChebyshevDistanceMeasure 

    切比雪夫距离起源于国际象棋中国王的走法,我们知道国际象棋国王每次只能往周围的8格中走一步,那么如果要从棋盘中A格(x1, y1)走到B格(x2, y2)最少需要走几步?扩展到多维空间,其实切比雪夫距离就是当p趋向于无穷大时的明氏距离:

    Chebyshev Distance


    4.汉明距离(Hamming distance)-Mahout无

    在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。

        例如:

        1011101 与 1001001 之间的汉明距离是 2。
        2143896 与 2233796 之间的汉明距离是 3。
        "toned" 与 "roses" 之间的汉明距离是 3。


    5.Tanimoto系数(又称广义Jaccard系数)-TanimotoDistanceMeasure.

    通常应用于X为布尔向量,即各分量只取0或1的时候。此时,表示的是X,Y的公共特征的占X,Y所占有的特征的比例。


    5.Jaccard系数

    Jaccard系数主要用于计算符号度量或布尔值度量的个体间的相似度,因为个体的特征属性都是由符号度量或者布尔值标识,因此无法衡量差异具体值 的大小,只能获得“是否相同”这个结果,所以Jaccard系数只关心个体间共同具有的特征是否一致这个问题。如果比较X与Y的Jaccard相似系数, 只比较xn和yn中相同的个数,公式如下:


    Jaccard Coefficient


    7.皮尔逊相关系数(Pearson correlation coefficient)-PearsonCorrelationSimilarity

    即相关分析中的相关系数r,分别对X和Y基于自身总体标准化后计算空间向量的余弦夹角。公式如下:

    Pearson Correlation Coefficient


    8.余弦相似度(cosine similarity)-CosineDistanceMeasure

    Cosine Similarity

    就是两个向量之间的夹角的余弦值。

    余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度上。

    优点:不受坐标轴旋转,放大缩小的影响。

    9.调整余弦相似度-Adjusted Cosine Similarity

    虽然余弦相似度对个体间存在的偏见可以进行一定的修正,但是因为只能分辨个体在维之间的差异,没法衡量每个维数值的差异,会导致这样一 个情况:比如用户对内容评分,5分制,X和Y两个用户对两个内容的评分分别为(1,2)和(4,5),使用余弦相似度得出的结果是0.98,两者极为相 似,但从评分上看X似乎不喜欢这2个内容,而Y比较喜欢,余弦相似度对数值的不敏感导致了结果的误差,需要修正这种不合理性,就出现了调整余弦相似度,即 所有维度上的数值都减去一个均值,比如X和Y的评分均值都是3,那么调整后为(-2,-1)和(1,2),再用余弦相似度计算,得到-0.8,相似度为负 值并且差异不小,但显然更加符合现实。

    调整余弦相似度和余弦相似度,皮尔逊相关系数在推荐系统中应用较多。在基于项目的推荐中,GroupLens有篇论文结果表明调整余弦相似度性能要优于后两者。

    10.基于权重的距离计算方法:

    WeightedDistanceMeasure、WeightedEuclideanDistanceMeasure 、 WeightedManhattanDistanceMeasure

    欧氏距离与余弦相似度

    借助三维坐标系来看下欧氏距离和余弦相似度的区别:

    distance and similarity

    根据欧氏距离和余弦相似度各自的计算方式和衡量特征,分别适用于不同的数据分析模 型:欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异;而 余弦相似度更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分用户兴趣的相似度和差异,同时修正了用户间可能存在的度 量标准不统一的问题(因为余弦相似度对绝对数值不敏感)。

    展开全文
  • 给大家带来的一篇关于MATLAB相关的电子书资源,介绍了关于模式识别、智能计算、MATLAB、技术实现方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小70.6 MB,杨淑莹编写,目前豆瓣、亚马逊、当当、京东等...

    给大家带来的一篇关于MATLAB相关的电子书资源,介绍了关于模式识别、智能计算、MATLAB、技术实现方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小70.6 MB,杨淑莹编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.3。

    内容介绍

    这书普遍汲取生物学、神经元网络、大数据挖掘、深度学习、人工智能技术、群智能化测算等课程的优秀观念和基础理论,将其运用到模式识别行业中;以这种新的管理体系,系统软件、全方位地详细介绍模式识别的基础理论、方式及运用。本书分成14章,內容包含:模式识别简述,特点的挑选与提升,方式相似度测度,根据概率统计的贝叶斯分类器布置,判别函数分类器布置,神经元网络分类器布置(BP神经元网络、轴向基涵数神经元网络、自组织市场竞争神经元网络、几率神经元网络、对向散播神经元网络、意见反馈型神经元网络),决策树分类器布置,粗糙集分类器布置,聚类分析,模糊聚类分析,忌讳搜索算法聚类分析,遗传算法聚类分析,蚁群算法聚类分析,粒子群算法聚类分析。

    这书內容新奇,应用性强,基础理论与具体运用紧密融合,以笔写大数字鉴别为运用案例,详细介绍基础理论应用于实践活动的保持流程及相对的Matlab编码,为众多科学研究工作人员和工程项目专业技术人员对有关基础理论的运用出示效仿。

    杨淑莹,天津理工大学计算机专业专家教授,天津大学电子信息学院博士研究生,发布有关的毕业论文近20篇,在其中四篇被EI查找。出版发行的多本经典著作被清华等多家高校当选硕士研究生或本科毕业教材内容。出版发行方位:计算机视觉,模式识别,图象处理及运用,运动控制系统和机器人视觉操纵。

    目录

    第1章 模式识别概述

    1.1模式识别的基本概念

    1.2模式识别的基本方法

    1.3统计模式识别

    1.3.1统计模式识别研究的主要问题

    1.3.2统计模式识别方法简介

    1.4分类分析

    1.4.1分类器设计

    1.4.2判别函数

    1.4.3分类器的选择

    1.4.4训练与学习

    1.5聚类分析

    1.5.1聚类的设计

    1.5.2基于试探法的聚类设计

    1.5.3基于群体智能优化算法的聚类设计

    1.6模式识别的应用

    本章 小结

    习题1

    第2章 特征的选择与优化

    2.1特征空间优化设计问题

    2.2样本特征库初步分析

    2.3样品筛选处理

    2.4特征筛选处理

    2.5特征评估

    2.6基于主成分分析的特征提取

    2.7特征空间描述与分析

    2.7.1特征空间描述

    2.7.2特征空间分布分析

    2.8手写数字特征提取与分析

    2.8.1手写数字特征提取

    2.8.2手写数字特征空间分布分析

    本章 小结

    习题2

    第3章 模式相似性测度

    3.1模式相似性测度的基本概念

    3.2距离测度分类法

    3.2.1模板匹配法

    3.2.2基于PCA的模板匹配法

    3.2.3基于类中心的欧式距离法分类

    3.2.4马氏距离分类

    3.2.5夹角余弦距离分类

    3.2.6二值化的夹角余弦距离法分类

    3.2.7二值化的Tanimoto测度分类

    本章 小结

    习题3

    第4章 基于概率统计的贝叶斯分类器设计

    4.1贝叶斯决策的基本概念

    4.1.1贝叶斯决策所讨论的问题

    4.1.2贝叶斯公式

    4.2基于最小错误率的贝叶斯决策

    4.3基于最小风险的贝叶斯决策

    4.4贝叶斯决策比较

    4.5基于二值数据的贝叶斯分类实现

    4.6基于最小错误率的贝叶斯分类实现

    4.7基于最小风险的贝叶斯分类实现

    本章 小结

    习题4

    第5章 判别函数分类器设计

    5.1判别函数的基本概念

    5.2线性判别函数

    5.3线性判别函数的实现

    5.4感知器算法

    5.5增量校正算法

    5.6LMSE验证可分性

    5.7LMSE分类算法

    5.8Fisher分类

    5.9基于核的Fisher分类

    5.10势函数法

    5.11支持向量机

    本章 小结

    习题5

    第6章 神经网络分类器设计

    6.1人工神经网络的基本原理

    6.1.1人工神经元

    6.1.2人工神经网络模型

    6.1.3神经网络的学习过程

    6.1.4人工神经网络在模式识别问题上的优势

    6.2BP神经网络

    6.2.1BP神经网络的基本概念

    6.2.2BP神经网络分类器设计

    6.3径向基函数神经网络(RBF)

    6.3.1径向基函数神经网络的基本概念

    6.3.2径向基函数神经网络分类器设计

    6.4自组织竞争神经网络

    6.4.1自组织竞争神经网络的基本概念

    6.4.2自组织竞争神经网络分类器设计

    6.5概率神经网络(PNN)

    6.5.1概率神经网络的基本概念

    6.5.2概率神经网络分类器设计

    6.6对向传播神经网络(CPN)

    6.6.1对向传播神经网络的基本概念

    6.6.2对向传播神经网络分类器设计

    6.7反馈型神经网络(Hopfield)

    6.7.1Hopfield网络的基本概念

    6.7.2Hopfield神经网络分类器设计

    本章 小结

    习题6

    第7章 决策树分类器设计

    7.1决策树的基本概念

    7.2决策树分类器设计

    本章 小结

    习题7

    第8章 粗糙集分类器设计

    8.1粗糙集理论的基本概念

    8.2粗糙集在模式识别中的应用

    8.3粗糙集分类器设计

    本章 小结

    习题8

    第9章 聚类分析

    9.1聚类的设计

    9.2基于试探的未知类别聚类算法

    9.2.1最临近规则的试探法

    9.2.2最大最小距离算法

    9.3层次聚类算法

    9.3.1最短距离法

    9.3.2最长距离法

    9.3.3中间距离法

    9.3.4重心法

    9.3.5类平均距离法

    9.4动态聚类算法

    9.4.1K均值算法

    9.4.2迭代自组织的数据分析算法(ISODATA)

    9.5模拟退火聚类算法

    9.5.1模拟退火的基本概念

    9.5.2基于模拟退火思想的改进K均值聚类算法

    本章 小结

    习题9

    第10章 模糊聚类分析

    10.1模糊集的基本概念

    10.2模糊集运算

    10.2.1模糊子集运算

    10.2.2模糊集运算性质

    10.3模糊关系

    10.4模糊集在模式识别中的应用

    10.5基于模糊的聚类分析

    本章 小结

    习题10

    第11章 禁忌搜索算法聚类分析

    11.1禁忌搜索算法的基本原理

    11.2禁忌搜索的关键参数和相关操作

    11.3基于禁忌搜索算法的聚类分析

    本章 小结

    习题11

    第12章 遗传算法聚类分析

    12.1遗传算法的基本原理

    12.2遗传算法的构成要素

    12.2.1染色体的编码

    12.2.2适应度函数

    12.2.3遗传算子

    12.3控制参数的选择

    12.4基于遗传算法的聚类分析

    本章 小结

    习题12

    第13章 蚁群算法聚类分析

    13.1蚁群算法的基本原理

    13.2聚类数目已知的蚁群聚类算法

    13.3聚类数目未知的蚁群聚类算法

    本章 小结

    习题13

    第14章 粒子群算法聚类分析

    14.1粒子群算法的基本原理

    14.2基于粒子群算法的聚类分析

    本章 小结

    习题14

    参考文献

    学习笔记

    详解python和matlab的优势与区别

    Python是一种面向对象的解释型计算机程序设计语言。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。 Python的优势: Python相对于Matlab最大的优势:免费。但既然你已经能用上Matlab,想必不在乎这个了。 Python次大的优势:开源。你可以大量更改科学计算的算法细节。 可移植性,Matlab必然不如Python。但你主要做Research,这方面需求应当不高。 第三方生态,Matlab不如Python。比如3D的绘图工具包,比如GUI,比如更方便的并行,使用GPU,Functional等等。长期来看,Python的科学计算生态会比Matlab好。 语言……

    python调用并链接MATLAB脚本详解

    发现一个很简单的配置方法,一直想写的没写上,今天抽空就把它给补充完整好了。 本文的配置方法Windows,Mac和Linux系统均适合。 一.安装MATLAB Engine API for python install MATLAB Engine API for Python Windows系统 cd "matlabroot\extern\engines\python"python setup.py install Mac or Linux系统 cd "matlabroot/extern/engines/python"python setup.py install 这里的"matlabroot"是你matlab所在的安装路径,注意,上面两个地址中的反斜杠是不同的。 二.用Python调用脚本或者函数 Call User Script and Function from Python 脚本 在当前目录下,MATLAB建立triarea.m脚本文件,内容如下 b = 5;h = 3;a = 0.5*(b.* h) 然后同目录下新建一个test.py,内容如下 import matlab.engineeng = matlab.engine.sta……

    简述:我为什么选择Python而不是Matlab和R语言

    做数据分析、科学计算等离不开工具、语言的使用,目前最流行的数据语言,无非是MATLAB,R语言,Python这三种语言,但今天小编简单总结了python语言的一些特点及平常使用的工具等。 为什么Python比MATLAB、R语言好呢? 其实,这三种语言都很多数据分析师在用,但更推荐python,主要是有以下几点: 1、python易学、易读、易维护,处理速度也比R语言要快,无需把数据库切割; 2、python势头猛,众多大公司需要,市场前景广阔;而MATLAB语言比较局限,专注于工程和科学计算方面,而且MATLAB价格贵,免费版或盗版都只能玩玩学习用; 3、python具有丰富的扩展库,这个是其他两个不能比的; python版本选择 初学者……

    python和matlab的区别

    Python 是一种面向对象的解释型计算机程序设计语言。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。 Python的优势: (推荐学习:Python视频教程) Python相对于Matlab最大的优势:免费。但既然你已经能用上Matlab,想必不在乎这个了。 Python次大的优势:开源。你可以大量更改科学计算的算法细节。 可移植性,Matlab必然不如Python。但你主要做Research,这方面需求应当不高。 第三方生态,Matlab不如Python。比如3D的绘图工具包,比如GUI,比如更方便的并行,使用GPU,Functional等等。长期来看,Python的科……

    以上就是本次介绍的MATLAB电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

    展开 +

    收起 -

    展开全文
  • 目录第1章模式识别概述11模式识别的基本概念12统计模式识别121统计模式识别研究的主要问题122...算法的聚类设计15模式识别的应用本章小结习题1第2章特征的选择优化21特征空间优化设计问题22样...

    目录

    第1章模式识别概述

    11模式识别的基本概念

    12统计模式识别

    121统计模式识别研究的主要问题

    122统计模式识别方法简介

    13分类分析

    131分类器设计

    132分类器的选择

    133训练与学习

    14聚类分析

    141聚类的设计

    142基于试探法的聚类设计

    143基于群体智能优化算法的聚类设计

    15模式识别的应用

    本章小结

    习题1

    第2章特征的选择与优化

    21特征空间优化设计问题

    22样本特征库初步分析

    23样品筛选处理

    24特征筛选处理

    25特征评估

    26基于主成分分析的特征提取

    27特征空间描述与分析

    271特征空间描述

    272特征空间分布分析

    28手写数字特征提取与分析

    281手写数字特征提取

    282手写数字特征空间分布分析

    本章小结

    习题2

    第3章模式相似性测度

    31模式相似性测度的基本概念

    32距离测度分类法

    321模板匹配法

    322基于PCA的模板匹配法

    323马氏距离分类

    本章小结

    习题3

    第4章基于概率统计的贝叶斯分类器设计

    41贝叶斯决策的基本概念

    411贝叶斯决策所讨论的问题

    412贝叶斯公式

    42基于最小错误率的贝叶斯决策

    43基于最小风险的贝叶斯决策

    44贝叶斯决策比较

    45基于最小错误率的贝叶斯分类实现

    46基于最小风险的贝叶斯分类实现

    本章小结

    习题4

    第5章判别函数分类器设计

    51判别函数的基本概念

    52线性判别函数

    53线性判别函数的实现

    54感知器算法

    55Fisher分类

    56基于核的Fisher分类

    57支持向量机

    本章小结

    习题5

    第6章神经网络分类器设计

    61人工神经网络的基本原理

    611人工神经元

    612人工神经网络模型

    613神经网络的学习过程

    614人工神经网络在模式识别问题上的优势

    62BP神经网络

    621BP神经网络的基本概念

    622BP神经网络分类器设计

    63径向基函数神经网络(RBF)

    631径向基函数神经网络的基本概念

    632径向基函数神经网络分类器设计

    64自组织竞争神经网络

    641自组织竞争神经网络的基本概念

    642自组织竞争神经网络分类器设计

    65概率神经网络(PNN)

    651概率神经网络的基本概念

    652概率神经网络分类器设计

    66对向传播神经网络(CPN)

    661对向传播神经网络的基本概念

    662对向传播神经网络分类器设计

    67反馈型神经网络(Hopfield)

    671Hopfield网络的基本概念

    672Hopfield神经网络分类器设计

    本章小结

    习题6

    第7章决策树分类器设计

    71决策树的基本概念

    72决策树分类器设计

    本章小结

    习题7

    第8章粗糙集分类器设计

    81粗糙集理论的基本概念

    82粗糙集在模式识别中的应用

    83粗糙集分类器设计

    本章小结

    习题8

    第9章聚类分析

    91聚类的设计

    92基于试探的未知类别聚类算法

    921最临近规则的试探法

    922最大最小距离算法

    93层次聚类算法

    931最短距离法

    932重心法

    94动态聚类算法

    941K均值算法

    942迭代自组织的数据分析算法(ISODATA)

    95模拟退火聚类算法

    951模拟退火的基本概念

    952基于模拟退火思想的改进K均值聚类算法

    本章小结

    习题9

    第10章模糊聚类分析

    101模糊集的基本概念

    102模糊集运算

    1021模糊子集运算

    1022模糊集运算性质

    103模糊关系

    104模糊集在模式识别中的应用

    105基于模糊的聚类分析

    本章小结

    习题10

    第11章遗传算法聚类分析

    111遗传算法的基本原理

    112遗传算法的构成要素

    1121染色体的编码

    1122适应度函数

    1123遗传算子

    113控制参数的选择

    114基于遗传算法的聚类分析

    本章小结

    习题11

    第12章粒子群算法聚类分析

    121粒子群算法的基本原理

    122基于粒子群算法的聚类分析

    本章小结

    习题12

    第13章Memetic算法仿生计算

    131Memetic算法

    132Memetic算法仿生计算在聚类分析中的应用

    本章小结

    习题13

    参考文献

    展开全文
  • 几种常见模式识别算法整理和总结

    万次阅读 多人点赞 2018-09-03 10:48:14
    简单来说,K-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则...

    1. K-Nearest Neighbor

    K-NN可以说是一种最直接的用来分类未知数据的方法。基本通过下面这张图跟文字说明就可以明白K-NN是干什么的

     

    knn

    简单来说,K-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。一个比较好的介绍k-NN的课件可以见下面链接,图文并茂,我当时一看就懂了

    http://courses.cs.tamu.edu/rgutier/cs790_w02/l8.pdf

     

    实际上K-NN本身的运算量是相当大的,因为数据的维数往往不止2维,而且训练数据库越大,所求的样本间距离就越多。就拿我们course project的人脸检测来说,输入向量的维数是1024维(32x32的图,当然我觉得这种方法比较silly),训练数据有上千个,所以每次求距离(这里用的是欧式距离,就是我们最常用的平方和开根号求距法) 这样每个点的归类都要花上上百万次的计算。所以现在比较常用的一种方法就是kd-tree。也就是把整个输入空间划分成很多很多小子区域,然后根据临近的原则把它们组织为树形结构。然后搜索最近K个点的时候就不用全盘比较而只要比较临近几个子区域的训练数据就行了。kd-tree的一个比较好的课件可以见下面链接:

    http://www.inf.ed.ac.uk/teaching/courses/inf2b/learnnotes/inf2b-learn06-lec.pdf

    当然,kd-tree有一个问题就是当输入维数跟训练数据数量很接近时就很难优化了。所以用PCA(稍后会介绍)降维大多数情况下是很有必要的

     

     

    2. Bayes Classifier

    贝叶斯方法一篇比较科普的中文介绍可以见pongba的平凡而神奇的贝叶斯方法: http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/,实际实现一个贝叶斯分类器之后再回头看这篇文章,感觉就很不一样。

    在模式识别的实际应用中,贝叶斯方法绝非就是post正比于prior*likelihood这个公式这么简单,一般而言我们都会用正态分布拟合likelihood来实现。

    用正态分布拟合是什么意思呢?贝叶斯方法式子的右边有两个量,一个是prior先验概率,这个求起来很简单,就是一大堆数据中求某一类数据占的百分比就可以了,比如300个一堆的数据中A类数据占100个,那么A的先验概率就是1/3。第二个就是likelihood,likelihood可以这么理解:对于每一类的训练数据,我们都用一个multivariate正态分布来拟合它们(即通过求得某一分类训练数据的平均值和协方差矩阵来拟合出一个正态分布),然后当进入一个新的测试数据之后,就分别求取这个数据点在每个类别的正态分布中的大小,然后用这个值乘以原先的prior便是所要求得的后验概率post了。

    贝叶斯公式中还有一个evidence,对于初学者来说,可能会一下没法理解为什么在实际运算中它不见了。实则上,evidence只是一个让最后post归一化的东西,而在模式分类中,我们只需要比较不同类别间post的大小,归一化反而增加了它的运算量。当然,在有的地方,这个evidence绝对不能省,比如后文提到的GMM中,需要用到EM迭代,这时候如果不用evidence将post归一化,后果就会很可怕。

    Bayes方法一个不错的参考网页可见下面链接:

    http://www.cs.mcgill.ca/~mcleish/644/main.html


     

    3. Principle Component Analysis

    PCA,译为主元分析或者主成份分析,是一种很好的简化数据的方法,也是PR中常见到不能再常见的算法之一。CSDN上有一篇很不错的中文博客介绍PCA,《主元分析(PCA)理论分析及应用》,可以见下面链接:

    http://blog.csdn.net/ayw_hehe/archive/2010/07/16/5736659.aspx

    对于我而言,主元分析最大的意义就是让我明白了线性代数中特征值跟特征向量究竟代表什么,从而让我进一步感受到了线性代数的博大精深魅力无穷。- -|||

     

    PCA简而言之就是根据输入数据的分布给输入数据重新找到更能描述这组数据的正交的坐标轴,比如下面一幅图,对于那个椭圆状的分布,最方便表示这个分布的坐标轴肯定是椭圆的长轴短轴而不是原来的x y。

    PCA

    那么如何求出这个长轴和短轴呢?于是线性代数就来了:我们求出这堆数据的协方差矩阵(关于什么是协方差矩阵,详见本节最后附的链接),然后再求出这个协方差矩阵的特征值和特征向量,对应最大特征值的那个特征向量的方向就是长轴(也就是主元)的方向,次大特征值的就是第二主元的方向,以此类推。

     

    关于PCA,推荐两个不错的tutorial:

    (1) A tutorial on Principle Component Analysis从最基本的数学原理到应用都有,让我在被老师的讲课弄晕之后瞬间开悟的tutorial:

     http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf

    (2) 里面有一个很生动的实现PCA的例子,还有告诉你PCA跟SVD是什么关系的,对编程实现的帮助很大(当然大多数情况下都不用自己编了):

     http://www.math.ucsd.edu/~gptesler/283/pca_07-handout.pdf

     

     


     

     

     

    4. Linear Discriminant Analysis

    LDA,基本和PCA是一对双生子,它们之间的区别就是PCA是一种unsupervised的映射方法而LDA是一种supervised映射方法,这一点可以从下图中一个2D的例子简单看出

    lda

    图的左边是PCA,它所作的只是将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然做了PCA后,整组数据在表示上更加方便(降低了维数并将信息损失降到最低),但在分类上也许会变得更加困难;图的右边是LDA,可以明显看出,在增加了分类信息之后,两组输入映射到了另外一个坐标轴上,有了这样一个映射,两组数据之间的就变得更易区分了(在低维上就可以区分,减少了很大的运算量)。

     

    在实际应用中,最常用的一种LDA方法叫作Fisher Linear Discriminant,其简要原理就是求取一个线性变换,是的样本数据中“between classes scatter matrix”(不同类数据间的协方差矩阵)和“within classes scatter matrix”(同一类数据内部的各个数据间协方差矩阵)之比的达到最大。关于Fisher LDA更具体的内容可以见下面课件,写的很不错~

    http://www.csd.uwo.ca/~olga/Courses//CS434a_541a//Lecture8.pdf 

     

     

     

    5. Non-negative Matrix Factorization

    NMF,中文译为非负矩阵分解。一篇比较不错的NMF中文介绍文可以见下面一篇博文的链接,《非负矩阵分解:数学的奇妙力量》

    http://chnfyn.blog.163.com/blog/static/26954632200751625243295/

     

    这篇博文很大概地介绍了一下NMF的来龙去脉(当然里面那幅图是错的。。。),当然如果你想更深入地了解NMF的话,可以参考Lee和Seung当年发表在Nature上面的NMF原文,"Learning the parts of objects by non-negative matrix factorization"

    http://www.seas.upenn.edu/~ddlee/Papers/nmf.pdf

    读了这篇论文,基本其他任何介绍NMF基本方法的材料都是浮云了。

     

    NMF,简而言之,就是给定一个非负矩阵V,我们寻找另外两个非负矩阵W和H来分解它,使得后W和H的乘积是V。论文中所提到的最简单的方法,就是根据最小化||V-WH||的要求,通过Gradient Discent推导出一个update rule,然后再对其中的每个元素进行迭代,最后得到最小值,具体的update rule见下图,注意其中Wia等带下标的符号表示的是矩阵里的元素,而非代表整个矩阵,当年在这个上面绕了好久。。

    nmf

    当然上面所提的方法只是其中一种而已,在http://spinner.cofc.edu/~langvillea/NISS-NMF.pdf中有更多详细方法的介绍。

    相比于PCA、LDA,NMF有个明显的好处就是它的非负,因为为在很多情况下带有负号的运算算起来都不这么方便,但是它也有一个问题就是NMF分解出来的结果不像PCA和LDA一样是恒定的。

     


     

     

     

    6. Gaussian Mixture Model

    GMM高斯混合模型粗看上去跟上文所提的贝叶斯分类器有点类似,但两者的方法有很大的不同。在贝叶斯分类器中,我们已经事先知道了训练数据(training set)的分类信息,因此只要根据对应的均值和协方差矩阵拟合一个高斯分布即可。而在GMM中,我们除了数据的信息,对数据的分类一无所知,因此,在运算时我们不仅需要估算每个数据的分类,还要估算这些估算后数据分类的均值和协方差矩阵。。。也就是说如果有1000个训练数据10租分类的话,需要求的未知数是1000+10+10(用未知数表示未必确切,确切的说是1000个1x10标志向量,10个与训练数据同维的平均向量,10个与训练数据同维的方阵)。。。反正想想都是很头大的事情。。。那么这个问题是怎么解决的呢?

    这里用的是一种叫EM迭代的方法。

     

    具体使用方法可以参考http://neural.cs.nthu.edu.tw/jang/books/dcpr/doc/08gmm.pdf 这份台湾清华大学的课件,写的真是相当的赞,实现代码的话可以参考:

    1. 倩倩的博客http://www.cnblogs.com/jill_new/archive/2010/12/01/1893851.html 和

    2. http://www.cs.ru.nl/~ali/EM.m

     

    当然 Matlab里一般也会自带GMM工具箱,其用法可以参考下面链接:

    http://www.mathworks.com/help/toolbox/stats/gmdistribution.fit.html

    展开全文
  • 常用模式识别算法小结

    千次阅读 2017-04-05 11:17:52
    这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一开始只不过被那些看似formidable的...
  • 欧氏距离定义: 欧氏距离( Euclidean distance)是一个通常采用的距离定义,它是在m维空间两个点之间的真实距离。  对于n维空间,欧式距离公式是  d=sqrt( ∑(xi1-xi2)^ ) 这里i=1,2..n  xi1表示第一个点...
  • 模式识别的几种基本算法

    千次阅读 2015-06-10 18:22:00
    (1)最近邻算法:为了判定未知样本的类别,以全部训练样本作为代表点,计算未知样本所有训练样本的距离,并以最近邻者的类别作为决策未知样本类别的唯一依据。  (2)公式表达:对于S类别问题,每类有Ni个样本...
  • 文章目录前言绪论第二章、统计判别2.1 作为统计判别问题的模式分类2.1.1 贝叶斯判别原则2.1.2 朴素贝叶斯2.1.3 贝叶斯最小风险判别2.2 正态分布模式的贝叶斯分类器2.3 均值向量和协方差矩阵的参数估计![在这里插入...
  • 模式识别:遗传算法

    千次阅读 2018-11-17 00:10:34
    遗传算法正是依据生物进化的“适者生存”规律的基本思想设计的(如下表1.1),它把问题的求解过程模拟为群体的适者生存过程,通过群体的一代代的不断进化(包括选择竞争、交叉繁殖和变异等)出现新群体,相当于找...
  • 模式识别—聚类分析

    千次阅读 2019-09-10 17:33:25
    模式识别--聚类分析
  • 模式识别理论基础

    2020-12-15 14:34:59
    模式识别系统 2.1基本构成:  数据获取  预处理  特征选择/提取  分类规则训练  分类决策 2.2“处理”“识别”两个概念的区别: 处理:输入输出是同样的对象,性质不变。 识别:输入的是事物,输出的...
  • 分类器的定义:基于数据的方法是模式识别最主要的方法,在无特别说明的情况下,人们说模式识别通常就是指这一类方法,其任务可以描述为:在类别标号y特征向量x存在一定的未知依赖关系、但已知的信息只有一组训练...
  • 模式识别主要是对已知数据样本的特征发现和提取,比如人脸识别、雷达信号识别等,强调从原始信息提取有价值的特征,在机器学习里面,好的特征所带来的贡献有时候远远大于算法本身的贡献。在番外篇,我们使用过...
  • 模式识别、机器学习、数据挖掘当中的各种距离总结 在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很...
  • 模式识别算法-支持向量机SVM 2

    千次阅读 2015-07-02 10:34:09
    模式识别算法-支持向量机SVM 2
  • 华东师范大学《模式识别与机器学习》课程历年考题总结
  • 模式识别、机器学习、数据挖掘当中的各种距离总结
  • 区间灰数的距离计算公式; 然后将灰色关联理论模糊集理论相结合, 提出一种基于区间灰数模糊灰关 联分析的灰色模式识别方法, 并给出了这种灰色模式识别结果的可信度。 最后通过工程实例说明了该方 法的...
  • 这学期选了门模式识别的课。发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一开始只不过被那些看似formidable的...
  • 人脸识别是指将一个需要识别的人脸和人脸库的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片把人脸定位出来,完成的是搜寻的功能。 1.LBP算子...
  • 不搞语音识别得人开这个论文确实有点费劲,结合上图,思考一下语音识别的场景,输入是一段录音,输出是识别的音素, 输入的语音文件的长度和输出的音素个数之间没有一一对应关系,通常将语音文件「分片」之后,会...
  • 模式识别常见概念解析

    千次阅读 2019-12-21 20:15:00
    本文章是模式识别期末复习总结,仅依据我们老师指出的重点内容进行梳理,着重于对基本概念重要算法核心思想的理解,无推导过程。观点主要参考张学工《模式识别》(第三版),Google,知乎,以及自己的浅薄理解。 ...
  • 数字图像处理与模式识别

    千次阅读 2020-01-21 17:28:23
    (像素间的方向和距离)的一对像素的灰度对出现的概率 构造矩阵 ,然后从该矩阵提取有意义的统计特征来 描述纹理 。 灰度共生矩阵可以得到 纹理的空间分布 信息。 图像的形状特征 图像的统计特征 彩色...
  • 为了解决工程存在的由不确定信息引起的灰色模式识别问题,首先定义了区间灰数,建立了区间灰数的距离计算公式;然后将灰色关联理论模糊集理论相结合,提出一种基于区间灰数模糊灰关联分析的灰色模式识别方法,并...
  • 深度学习相关的模式识别知识

    千次阅读 2018-09-15 15:33:27
    本文记录了博主学习《模式识别算法及实现方法》一书总结的深度学习相关的知识点,如果有兴趣建议阅读原著。更新于2018.09.14。 附书的信息:书名《模式识别算法及实现方法》,英文名《Pattern Recognition:...
  • 认知是一个把未知已知联系起来的过程。对一个复杂的视觉系统来说,他的内部常同时存在着多种输入和其他知识共存的表达形式。... 在机器识别事物的过程,常常需要把不同传感器或同一传感器在不同时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,330
精华内容 7,332
关键字:

模式识别中的距离公式与算法