首页 > 数据库 >基于mnist手写数字数据库识别算法matlab仿真,对比SVM,LDA以及决策树

基于mnist手写数字数据库识别算法matlab仿真,对比SVM,LDA以及决策树

时间:2023-07-23 22:35:36浏览次数:40  
标签:LDA SVM projection images matlab test 手写 MNIST

1.算法理论概述

       基于MNIST手写数字数据库识别算法,对比SVM、LDA以及决策树。首先,我们将介绍MNIST数据库的基本信息和手写数字识别的背景,然后分别介绍SVM、LDA和决策树的基本原理和数学模型,并对比它们在手写数字识别任务中的性能。

 

1.1、MNIST手写数字数据库

       MNIST是一种经典的手写数字数据库,包含60,000张训练图像和10,000张测试图像。每张图像的大小为28x28像素,包含一个手写数字0~9。MNIST数据集被广泛应用于手写数字识别任务中,是评估图像识别算法性能的标准数据集之一。

 

 

 

 

 

2.算法运行软件版本

MATLAB2022a

 3.算法运行效果图预览

 

 

 

 

 

 

4.部分核心程序

[images, labels]           = func_mnist_read('MNIST\train-images.idx3-ubyte', 'MNIST\train-labels.idx1-ubyte');
[test_images, test_labels] = func_mnist_read('MNIST\t10k-images.idx3-ubyte', 'MNIST\t10k-labels.idx1-ubyte');
% 对数据进行预处理
images                     = im2double(images);
[m,n,k]                    = size(images);
 
for i = 1:k
    rawData(:,i) = reshape(images(:,:,i), m*n,1);
end 
 
test_images = im2double(test_images);
[m,n,k]     = size(test_images);
 
for i = 1:k
    testData(:,i) = reshape(test_images(:,:,i), m*n,1);
end 
 
% PCA Projection
 % 对数据进行中心化处理
 
[m,n]   = size(rawData);
mn      = mean(rawData, 2);
X       = rawData - repmat(mn, 1, n);
A       = X/sqrt(n-1);
% 对数据进行奇异值分解,降维
[U,S,V] = svd(A,'econ');
 
projection_training = U(:, 1:154)'*X;
projection_training = projection_training./max(S(:));
[m, n] = size(testData);
test_avg = testData - repmat(mn, 1, n);
projection_test = U(:, 1:154)'*test_avg;
projection_test = projection_test./max(S(:));
 
% 将数据和标签转换成合适的格式
xtrain     = projection_training;
label      = labels';
%% SVM分类器训练和分类
proj_test  = projection_test;
true_label = test_labels;
% 训练SVM分类器
Mdl = fitcecoc(xtrain',label);
 
% 对测试数据进行分类,并评估分类结果
testlabels = predict(Mdl,proj_test');
testNum = size(testlabels,1);
err = abs(testlabels - true_label);
err = err > 0;
errNum = sum(err);
sucRate = 1 - errNum/testNum
% 显示混淆矩阵
confusionchart(true_label, testlabels);
title(["SVM分类结果混淆矩阵评价",'识别准确率:',num2str(sucRate)]);

  

标签:LDA,SVM,projection,images,matlab,test,手写,MNIST
From: https://www.cnblogs.com/matlabworld/p/17576066.html

相关文章

  • m基于扩频解扩+turbo译码的通信链路matlab误码率仿真,调制对比QPSK,16QAM,64QAM,扩频
    1.算法仿真效果matlab2022a仿真结果如下:      2.算法涉及理论知识概要       基于扩频解扩和Turbo编译码的通信链路误码率仿真,并比较了不同调制方式下的性能。首先,我们详细讨论了实现步骤,包括扩频解扩、调制、编码和译码等。然后,给出了相关的数学公式,包......
  • matlab 郭彦甫 4 数据类型与文件读写
    数值类型 numeric   默认为double类型  也可以使用类型转换将其转换为其他类型n=3;class(n)%得到double类型n=int8(30);class(n)%得到int8类型字符类型(char)   %%s1='h'%char类型显示占2个字节a=uint8(s1)%强制将s1......
  • JAVA连接ldap
    使用Java连接LDAPLDAP(轻量级目录访问协议)是一种用于访问和维护分布式目录服务的开放协议。它通常用于集中管理组织的用户、组和其他资源。在Java中,我们可以使用javax.naming包提供的API来连接和操作LDAP服务器。连接LDAP服务器要连接LDAP服务器,我们需要使用InitialDirContext类......
  • matlab用udp发数据,python接受数据
    用UDP在Matlab中发送数据,Python中接收数据在科学研究和工程领域中,数据的传输和通信是非常重要的。在实际应用中,我们经常需要在不同的编程语言之间传输数据。本文将介绍如何在Matlab中使用UDP协议发送数据,并在Python中接收这些数据。UDP协议简介用户数据报协议(UDP)是一种无连接的......
  • matlab的cell如何用python表示
    使用Python表示Matlab的cell在Matlab中,cell是一种数据类型,用于存储不同类型的数据,类似于Python中的列表。在Python中,我们可以使用列表、字典或者NumPy数组来模拟Matlab的cell。本文将介绍使用列表和字典来表示Matlab的cell的方法,并给出相应的代码示例。1.使用列表表示Matlab的ce......
  • m基于扩频解扩+LDPC编译码的通信链路matlab误码率仿真,调制对比QPSK,16QAM,64QAM,扩频
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要      在现代通信系统中,扩频技术被广泛应用于数字通信链路中。扩频技术通过将要传输的信息序列与一个宽带的伪随机码序列进行卷积,将原始信号转换成一个具有更大带宽的扩频信号。在接收端......
  • m基于Costas环的QPSK载波同步matlab性能仿真,对比不同环路系数等对载波同步的影响
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要        在数字通信中,载波同步是保证正常数据传输的重要环节之一。Costas环是一种常用的基于相位差检测的载波同步方法,适用于QPSK调制信号的同步。本文将介绍基于Costas环的QPSK......
  • m基于Costas环的QPSK载波同步matlab性能仿真,对比不同环路系数等对载波同步的影响
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要在数字通信中,载波同步是保证正常数据传输的重要环节之一。Costas环是一种常用的基于相位差检测的载波同步方法,适用于QPSK调制信号的同步。本文将介绍基于Costas环的QPSK载波同步方法,并比较不同环路系数对载波同步......
  • Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
    全文下载:http://tecdat.cn/?p=22319最近我们被客户要求撰写关于偏最小二乘法(PLS)回归的研究报告,包括一些图形和统计输出。本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立一个可靠的模型,我们还实现了一些常用的离群点检测和变量选择方法,可以去除潜在的离群点和只......
  • matlab 郭彦甫 3 结构化程式与自定义函数
    1.脚本文件  保存文件格式 *.m  文件格式函数部分  fx  包含绝大部分的函数介绍注释为   行前加一个 %    如果为连续多行 需要先选中这些行 右键选择注释两个 %%  将下面的部分分为section   区块 通常用于debug    ......