模式识别基本概念+聚类知识 模式识别笔记(一)_模式识别分类和聚类有哪些_ylin01234的博客-程序员宅基地

技术标签: 学习笔记  

模式识别:机器自动识别(使机器具有抽象能力)

目的:用计算机对物理对象进行分类,在错误概率最小的情况下,使识别结果尽量与客观情况相符合

参照基准:人

识别方法:1.数据聚类 (K-means)

                     2. 统计分类(SVM等)

                     3. 结构模式识别(结构匹配,考虑识别对象各部分间关系,制定关系规则,句法识别)

                     4. 人工神经网络  (神经元,调节连接权重)

最基本方法:计算

数学化形式:Y=F(X)   X:特征;Y:标记 ;F:判别方法,

特征空间和解释空间之间的关系,成为假说

获得假说的方法:1. 监督学习(有已知训练,对未知测试)

                                2. 非监督学习(“物以类聚”,“亲疏有别”)

基本构成:数据量化——>预处理(去燥)——>特征提取和选择——>分类器设计/分类决策

测量空间:量化后的原始数据组成的空间

特征空间:分类识别赖以进行的空间

模式表示:维数较高的测量空间——>维数较低的特征空间

                                               聚类

依据:模式样本相似度 

适用:样本较少,且典型性好

1、关键:选取合适的特征(为降低复杂度,去掉相关度较高的特征,降维处理)

      降维方法:相关性系数衡量

     相关系数:

     协方差:Cov(X,Y)=E{[X-E(X)][Y-E(Y)]}

     方差:Var[X]=1/N(x-E(x))^2

     r 越大,相关性越强,r=1,完全正相关

2. 对选取特征进行数字化(连续量化或离散量化)

3.模式相似度测度和聚类准则

相似度测度

  1) 欧氏距离     

  2) 马氏距离D^2=(x-m)^T*C^-1*(x-m)       注:m均值,C协方差矩阵

  3)一般化的明氏距离(欧氏为特殊的)

  4)角度相似性函数 (求余弦值)具有旋转平移不变性

准则:试探方法和聚类准则函数法

   1)试探方法:直观感觉或经验,设置测度阈值,根据相似度测度值聚类(类别由少到多)

      (1)临近相似度试探方法(类似西瓜书中的P213,密度聚类)

       优点:计算简单,有先验的情况下,选取正确阈值和起始点(选点主观随机),

        缺点:实际中对样本要求太高,一般很少用

        影响因素:初始点位置 ;阈值大小 ;样本比较次序 : 样本分布几何性质

        (2)最大最小距离算法

            以试探类间欧氏距离为最大作为预选出聚类中心的条件(确定一个点为聚类中心,再选离它最远的作为第二个聚类中心)

系统聚类法:样本按距离准则逐步分类,类别由多到少(初始每个样本都是一类)(类似西瓜书中P215层次聚类)

   2)聚类准则函数法:定义反应类别件相似度或分离性的函数,使样本和类别之间建立函数,转化为优化问题,求极值  

聚类准则函数法

注:公式图来自   https://wenku.baidu.com/view/49408dfb647d27284a735198.html

求J的最小时的聚类形式

类间距离判断:最短距离法(不同类离得最近的两个位置特征距)

                            最长距离法、中间距离法、重心法、类平均距离法

动态聚类法

K-means聚类算法(聚类中心向量由动态计算得来))

伪代码:

输入:样本即 X={x1,x2,...,xn};  聚类簇数k;

过程:

从X中随机选定k个样本作为初始均值向量

repeat

    for i=1,2...,m do

       计算xi到每个均值向量的距离;

       根据最小距离,放入该簇中;

    end 

    for j=1,2...,k do

         计算每个簇的均值向量;

     end

     until 每个簇均值不再变化;

输出 当前簇

 

 

 

  聚类评价

1.  聚类中心之间的距离(越大越好)    

2. 聚类域中的样本数目(可参考排除噪声点)   

3. 聚类域内样本的距离方差(方差要较小)

                                                  不同聚类综合分析

K-means :

 1、算法简洁快速,适用于样本较少,数据典型性好(凸形簇,正态分布簇)的情况,大样本或者样本分布典型性较                        差使效果不好;

  2、对聚类中心的初始化比较敏感(实现的是类内误差平方和最小,初始不同,偏差可能较大),不能保证收敛于最                        优解;

  3、聚类个数K人为设定,这在很大程度上会影响聚类结果(通常选取多个K值,取实验最佳,但增加了计算量);

 4、距离计算利用的是欧氏距离,对不同特征赋予相同的权值,对于不同的假设不一定都适用(马氏距离https://www.cnblogs.com/Weirping/articles/6613013.html);

LVQ算法 (学习向量量化)

(确定初始样本个数和初始样本点,计算新样本与每一个初始样本点特征欧氏距离,找最近的初始样本点,若两者类别标记相同,则更新的初始向量向靠近新样本点方向移动(   p=p+a(x-p)  ;  p:初始位置向量,a学习率,x加入的新向量   ) ;若两者类别标记不同,则更新的初始向量向远离新样本点方向移动(p=p-a(x-p)) ;)

1、为有监督分类,必须要知道用于训练的样本标签

2、对初始选择具有依赖性

3、受样本比较次序,不同的输入次序,更新情况和最后的结果都将有差异

密度聚类(DBSCAN)

(确定特征距离范围阈值和每一类计划最少密度阈值,根据密度可达性确定,先选取一个核心,找到全部可达构成簇,再在剩余点中选取核心,再找。。。)

1、对噪声不敏感,能发现任意形状,无需预定义簇数,聚类速度快,不受初始点选取影响

2、设定的距离阈值和密度阈值、距离评判方法都对结果有影响

3、若样本空间过于稀疏,则聚类效果不好

层次聚类

(自底而上,将每一个样本作为初始聚类簇,每一步合并距离最小的两个簇,直到达到预定义簇数,三种距离衡量:最小距离,最大距离,平均距离)

1、计算量比较大,时间复杂度高,效率较低,容易陷入局部最优

2、不同的距离计算方式结果不同,要根据样本情况选取

 

 

 

                      

                                

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ylin01234/article/details/81096488

智能推荐

centos7安装ES数据库_失伟的博客-程序员宅基地

文章目录1、安装java2、安装es数据库1、安装java1、下载安装包1(百度网盘链接)链接:https://pan.baidu.com/s/1uXhtdxz4MdrwhqZGd5N5jA提取码:TFAQ2 官网下载http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2、解压压缩包将压缩包上传到/usr/local/java下解压:tar -zxvf jdk-8u11_centos7安装es

CentOS 7 配置本地源_centos7 源码目录是哪个?_shida_csdn的博客-程序员宅基地

一、 问题来源 在实际工作中,不可避免地要在内网环境下安装软件。 由于不能访问 Internet,yum 不能正常解析并安装软件依赖,我们只好通过搭建本地软件源的方式解决。二、 基本步骤 2.1 上传 CentOS 光盘镜像至服务器 镜像的选择与操作系统版本对应即可,下载地址:https://www.cento_centos7 源码目录是哪个?

求一个集合的所有子集(c语言)_c语言枚举打印集合所有子集_fds大大的博客-程序员宅基地

如果一个集合的元素个数为n,则每个元素都有存在或不存在两种情况,n个元素一共2^n种情况,因此元素个数为n的集合一共有2的n次方个子集。算法1:利用二进制的思想 如 0110 1001,0表示该数组位置不选,1表示选中。加入数组为[1,2,3,4] 0110就表示[2,3] 1001表示[1,4]例如:求arr[4]={1,2,3,4}的所有子集用for(i=0;i<16;i++)遍历这16种情况,每一个i的值,例如i=3,则二进制数为0011,我们从右边往左遍历(最右边为低位0),即001_c语言枚举打印集合所有子集

Forbid consumer 127.0.0.1 access service com.alibaba.dubbo.rpc.service.GenericService from registry_一月一书的博客-程序员宅基地

Forbid consumer 127.0.0.1 access service com.alibaba.dubbo.rpc.service.GenericService from registry zk.beta.corp.baidu.com:2181 use dubbo version 3.1.4, Please check registry access list (whitelist/bla

随便推点

ShapeFile格式说明_--show--的博客-程序员宅基地

ShapeFile格式说明1、Shape技术描述一个完整的ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表文件。主文件是一个直接存取,变记录长度文件,其中每个记录描述一个由其顶点列表组成的shape。在索引文件中,每条记录是在主文件中对应记录距离主文件头部的偏移量。dBASE中记录的是对应主文件中记录的属性记录,每条主文件记录对应dBASE中的一条属性记录。几何_shapefile格式

python通过标准输入读取内容,读取键盘输入的内容?接收用户输入?_weixin_34148508的博客-程序员宅基地

需求说明:  在交互式脚本中,需要用户手动输入内容,并对内容进行处理。在这里记录下通过  python的内置函数input()读取标注输入的内容。默认的标准输入是键盘。操作过程:1.通过input()函数接收标准输入中的内容,然后将值赋给1变量,然后进行输出--1行内容str1 = input("请输入用户名")print(str1)执行结果:备注:“...

java嵌套for循环图形_Java——循环升级之嵌套循环_盐选博物馆的博客-程序员宅基地

如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环,嵌套循环可以是 for 循环嵌套 while 循环,也可以是 while 循环嵌套 do while 循环......即各种类型循环都可以作为外层循环,各种类型的循环也可以作为内层循环。实例:public static voidmain(String[] args) {for (int i = 0; i < 5; i++) {for..._javafor循环为类加入图片

android 定时器 耗电,Android定时器_81只狮子的博客-程序员宅基地

CountDownTimernew CountDownTimer(3000, 1000) {public void onTick(long millisUntilFinished) {if (mTicketSuccessBtn != null) {mTicketSuccessBtn.setBackgroundColor(Color.parseColor("#8f8f8f"));mTicketSuc..._android timer 耗电量大吗

我的世界服务器无限开号,我的世界服务器无限刷物品bug教程 | 手游网游页游攻略大全...-程序员宅基地

发布时间:2017-06-23在我的世界服务器中怎么样刷东西呢?怎么样才能刷出大量的物品?今天游戏园小编就为大家带来了我的世界大量无限刷物品的方法,喜欢的朋友快来看看吧,希望大家能够喜欢! 这两种方法均在水桶服无效.. 其他的应该没问题.. PS:第 ...标签:我的世界 游戏攻略发布时间:2017-10-05我的世界,我的世界无限刷物品.今天游戏园的小编就为大家带来我的世界无限刷物品视频攻略!希...

C++ 字符串转换整型和整型转换成字符串_c++ 字符串转证书_@leehom的博客-程序员宅基地

字符串转整型#include &lt;iostream&gt;#include &lt;sstream&gt;#include &lt;string&gt;using namespace std;int string2int(string str){ stringstream ss; ss &lt;&lt; str; int result; ss &gt..._c++ 字符串转证书

推荐文章

热门文章

相关标签