[贝叶斯六]之朴素贝叶斯分类器设计

部署运行你感兴趣的模型镜像

同样,类似于[贝叶斯四]之贝叶斯分类器设计,我们用一个例子:字母分类,来阐述朴素贝叶斯分类器的设计。

老套路,搞个三部曲

  • 特征向量生成
  • 决策函数设计
  • 模型训练

在做问题分析之前,请先做数据集的分析

一、数据集分析

数据集来自于UCI: UCI字母分类数据集链接

这个数据集原始数据一共包含20000张图像(一般取前16000张图像作为训练,后4000张图像作为测试),每张图像经过作者处理后得到了一个16维的特征(特征值是一个0-15的整数),标签就是所代表的字母A-Z。数据形式如下:

1.   lettr   capital letter  (26 values from A to Z)  
2.   x-box   horizontal position of box  (integer)  
3.   y-box   vertical position of box    (integer)  
4.   width   width of box            (integer)  
5.   high    height of box           (integer)  
6.   onpix   total # on pixels       (integer)  
7.   x-bar   mean x of on pixels in box  (integer)  
8.   y-bar   mean y of on pixels in box  (integer)  
9.   x2bar   mean x variance         (integer)  
10.  y2bar   mean y variance         (integer)  
11.  xybar   mean x y correlation        (integer)  
12.  x2ybr   mean of x * x * y       (integer)  
13.  xy2br   mean of x * y * y       (integer)  
14.  x-ege   mean edge count left to right   (integer)  
15.  xegvy   correlation of x-ege with y (integer)  
16.  y-ege   mean edge count bottom to top   (integer)  
17.  yegvx   correlation of y-ege with x (integer)

其中20000张图像的分布如下:

1.  789 A      766 B     736 C     805 D     768 E     775 F     773 G  
2.  734 H      755 I     747 J     739 K     761 L     792 M     783 N  
3.  753 O      803 P     783 Q     758 R     748 S     796 T     813 U  
4.  764 V      752 W     787 X     786 Y     734 Z

整理一下这个数据集。

  • 一个文件。共20000条数据,我们将前16000条数据作为训练数据,后4000条数据作为测试数据。
  • 数据格式。16维的特征向量,一个A-Z的label

二、特征向量生成

由上述的数据集的描述中我们可以知道,字母数据集已经帮我们做好了特征向量提取(16维数据)的工作。数据形式如下所示。


这里写图片描述

由此我们只需要经过简单的处理就能得到我们想要的数据。

  • Image数据。上图所示每行16维向量,每个特征值取值为0-15的整数。形式为16*N。
  • Label。上图中每行第1列,A-Z。

Step1:数据读入(loadData.m)

% load data from file, start --start line, end --end line
function [labels, features] = loadData(filename,start,endl)

[data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,data11,data12,data13,data14,data15,data16,data17] = textread(filename, '%c%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d','delimiter',',');

labels  = data1(start:endl,1);
features = [data2,data3,data4,data5,data6,data7,data8,data9,data10,data11,data12,data13,data14,data15,data16,data17];
features = features(start:endl,:);

%labels = labels.';
features = features.' + 1;
% 注意:这里的下标是0~15

end

三、决策函数分析

这里我们也使用最小错分准则来设计贝叶斯分类器。所以,我们的目的是求解后验概率  p(wi|x)   p ( w i | x ) .

3.1 决策函数

[贝叶斯五]之朴素贝叶斯分析可以知道。

p(wi|x)=p(x|wi)p(wi)p(x)=p(wi)p(x)k=1dp(xk|wi)(1)

您可能感兴趣的与本文相关的镜像

Linly-Talker

Linly-Talker

AI应用

Linly-Talker是一款创新的数字人对话系统,它融合了最新的人工智能技术,包括大型语言模型(LLM)、自动语音识别(ASR)、文本到语音转换(TTS)和语音克隆技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值