准确率(Accuracy)是指模型正确预测的样本数与总样本数之比。在混淆矩阵中,准确率可以通过计算对角线上所有元素之和除以矩阵中所有元素之和来获得。准确率提供了模型整体分类正确的程度,但它不能反映模型在不同类别上的表现差异。
例子中的准确率为0.983,表示模型在整个数据集上正确分类的比例较高,约为98.3%。
召回率(Recall):召回率也被称为灵敏度(Sensitivity)或真正例率(True Positive Rate)。它衡量了模型对实际为某一类别的样本正确预测的能力。在混淆矩阵中,召回率可以通过计算每个类别的真正例(对角线元素)与该类别所有样本数量之比来获得。
例子中的不同类别的召回率在0.943到0.996之间,说明模型对大多数类别的召回率较高,但对类别9的召回率较低,为0.943。这表示模型在预测类别9时相对较多地出现了假反例。
注:在二分类问题中,假反例(False Negative)是指实际上是正例(Positive),但被错误地预测为负例。换句话说,假反例是指模型将一个正例错误地判定为负例。
精确率(Precision):精确率衡量了模型预测为某一类别的样本中实际属于该类别的比例。在混淆矩阵中,精确率可以通过计算每个类别的真正例与预测为该类别的样本数量之比来获得。
例子中大多数类别的精确率在0.961到0.996之间,表明模型对大多数类别的预测是准确的。类别4的精确率较低,为0.961,这表示模型在预测为类别4时相对较多地出现了假正例。
注: 在二分类问题中,假正例(False Positive)是指实际上是负例(Negative),但被错误地预测为正例。换句话说,假正例是指模型将一个负例错误地判定为正例。
F1得分是综合考虑精确率和召回率的指标,它是精确率和召回率的调和平均值。F1得分可以帮助我们评估模型的整体性能,特别是在处理不平衡数据集或注重模型在不同类别上均衡表现时。F1得分的计算公式为:2 * (精确率 * 召回率) / (精确率 + 召回率)。
例子中大多数类别的F1得分在0.969到0.995之间,说明模型对大多数类别的预测具有较好的平衡性。类别4的F1得分较低,为0.978,这进一步确认了在该类别上模型出现了一定的假正例和假反例。
训练十轮结果:
十轮次的损失曲线和准确率曲线:
在本文中,我们详细介绍了训练和测试模型的过程。通过训练模型,我们能够通过大量的数据和反向传播算法来优化模型的参数,使其能够准确地对手写数字进行分类。同时,测试模型能够帮助我们评估模型的性能和准确度,以及找出模型可能存在的问题和改进的方向。
在训练模型的过程中,我们需要加载和预处理训练数据,定义损失函数和优化器,并通过循环训练来逐步优化模型。同时,我们还介绍了如何评估模型的性能,并进行可视化分析以深入了解模型的预测情况。
[MNIST数据集](mnist | TensorFlow Datasets)
[卷积神经网络](卷积神经网络(Convolutional Neural Network, CNN) | TensorFlow Core)
文章的全部代码放在[代码地址](Machine-learning/使用卷积网络模型训练MNIST.py at main · 2214018128zcy/Machine-learning (github.com))
喜欢本文的朋友可以收藏点赞起来!!!🎉🎉🎉
以后会继续更新相关领域的博客内容,大家可以点点关注!🌟
MNIST数据训练入门MINST数据训练入门数据集介绍训练方法代码实现下一步学习计划实验时关于input_data.py
MINST数据训练入门
通过该训练来进行第一个机器学习的数据训练过程,类似于编程语言中的helloworld.
MNIST是入门级的CV数据集,包含手写的数字图片,从0~9.任务就是训练以使得机器能够识别图像中的数字内容。
数据集介绍
数据中包含60k的训练数据集(mnist....
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新如果你需要这些资料,可以戳这里获取
import numpy as np
from dataset.mnist import load_mnist
from deepconv import DeepConvNet
from common.train
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs={}):
if (logs.get('accuracy') > 0.998):
卷积神经网络
卷积神经网络( Convolutional Neural Network, CNN):
是一种常见的深度学习架构,受生物自然视觉认知机制(动物视觉皮层细胞负责检测光学信号)启发而来,是一种特殊的多层前馈神经网络。它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。
卷积神经网络的主要组成:
卷积层(Convolutional layer),卷积运算的目的是提...
step2:把数据处理成LDB文件
sudo sh ./examples/mnist/create_mnist.sh
step3:训练MNIST,由于我使用的是CPU,因此需修改配置文件
cd /examples/mnist/
sudo vim l
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
mnist=input_data.read_data_sets("MNIST_data",one_hot=True)
sess=tf.InteractiveSession()
def weigh...
### 回答1:
基于神经网络的手写字符识别MNIST是一个经典的机器学习问题,旨在通过训练一个神经网络模型来识别手写数字图像。MNIST数据集包含了60000张28x28像素的训练图像和10000张测试图像,每个图像都标有对应的数字(0到9)。
神经网络模型通常由多个神经元构成的多层结构组成。每个神经元将输入与其自身的权重相乘,并通过激活函数输出结果。在MNIST任务中,输入层接收一个28x28的图像矩阵,并将其展平为一个784个像素的向量。随后的隐藏层通常由多个层级组成,最后输出层包含10个神经元,代表数字0到9的类别。
模型的训练过程通过反向传播算法来自动调整权重以最小化损失函数。常用的优化算法如梯度下降法可以帮助模型在训练中不断调整权重,提高准确性。训练时,模型将训练图像输入网络,输出一个概率向量,表示每个数字的可能性。最后,我们选择概率最高的数字作为预测结果。
对于测试图像,我们将其输入已经训练好的模型中,通过前向传播得到预测结果。通过将预测结果与实际标签进行比较,可以评估模型的性能。常用的评估指标包括准确率和混淆矩阵等。
在实际应用中,基于神经网络的手写字符识别MNIST已经取得了很高的准确率。并且该问题也可以作为入门级别的机器学习任务,帮助初学者理解神经网络的基本原理和训练过程。
### 回答2:
基于神经网络的手写字符识别MNIST(Modified National Institute of Standards and Technology) 是一个经典的问题,旨在通过训练模型来正确识别手写数字图像。
MNIST数据集包含60,000个用于训练的手写数字图像和10,000个用于测试的手写数字图像,每个图像的大小为28x28像素。神经网络是一种模拟人脑的计算模型,通过模拟大量的神经元之间的连接以及它们之间的传递和处理信息的方式,来实现学习和推理能力。
在手写字符识别MNIST问题中,神经网络的输入层对应于图像的像素值,通常使用784个输入神经元(28x28)来表示一个图像。然后,神经网络通过多个隐藏层来对图像进行特征提取和抽象化。每个隐藏层都由多个神经元组成,每个神经元将前一层的输出与一个权重向量进行线性组合,并通过使用激活函数对结果进行非线性变换。
常见的激活函数有ReLU、Sigmoid和Tanh函数等。通过反向传播算法,神经网络可以通过调整权重和偏置来最小化训练数据与实际值之间的差异,从而实现对手写字符的准确识别。
一旦神经网络完成了训练,我们就可以使用测试集进行性能评估。我们将测试集中的每个图像输入神经网络,并根据输出层中神经元的激活程度来判断图像代表的数字。我们可以根据预测结果与实际标签之间的差异来评估模型的准确性。
基于神经网络的手写字符识别MNIST是一个经典的机器学习问题,它不仅可以帮助我们理解神经网络的工作原理,还可以作为一个起点来研究更复杂的问题,如自然语言处理、图像识别等。
### 回答3:
基于神经网络的手写字符识别是一种广泛应用的机器学习技术,尤其在MNIST数据集上。MNIST是一个包含手写数字图片的数据集,其中每个图片都是28x28像素的灰度图片,并对应一个0到9的标签。
神经网络是由多个神经元组成的网络结构,由于其能够自动学习特征,并且适用于处理高维数据,因此被广泛应用于手写字符识别。基于神经网络的手写字符识别MNIST通常包含以下步骤:
1. 数据准备:首先,需要从MNIST数据集中获取训练集和测试集。我们将训练集作为神经网络的输入数据,并使用测试集评估网络的性能。
2. 网络架构设计:选择合适的网络架构是非常重要的。常见的神经网络架构包括卷积神经网络(CNN)和全连接神经网络(FCN)。对于MNIST手写字符识别,常用的网络结构包括LeNet-5和AlexNet等。
3. 网络训练:通过将训练集的图片输入网络,网络会自动学习输入图片的特征和对应的标签。在训练过程中,使用反向传播算法来更新网络中的权重和偏差,以最小化预测值和真实标签之间的差异。
4. 网络评估:训练完成后,使用测试集评估网络的性能。通常使用准确率(Accuracy)来衡量网络的性能,即正确预测的样本数占总样本数的比例。
基于神经网络的手写字符识别MNIST具有较高的准确率和鲁棒性,已经在现实生活中得到广泛应用。随着深度学习的快速发展,也出现了更加复杂和高效的网络结构,进一步提升了手写字符识别的准确率和性能。
CSDN-Ada助手:
论文常用配色归纳指南
CSDN-Ada助手:
特征工程9大方法
浩浩的科研笔记:
特征工程9大方法
征途黯然.: