当前位置: 首页 > 网络应用技术

教您如何使用Keras建立分类神经网络

时间:2023-03-06 21:24:36 网络应用技术

  回归问题,它预测,连续的分配价值,例如房屋的价格,汽车的速度,比萨饼的价格等等。当我们遇到图片或狗的图片时,我们无法使用回归以解决它。目前,我们需要使用分类来学习将其分为可以被计算机识别的类型(猫或狗)。

  如上图所示,通常与人类不同。无论是声音,图片还是文本,它们都只能出现在数字0或1的计算机神经网络中。神经网络看到的图片实际上是一堆数字。数字的处理最终产生了另一个数字,并且具有一定的认知意义。它可以知道计算机是否是通过少量处理来确定的。

  分类(分类)是监督和学习的类别。它是数据挖掘,机器学习和数据科学的重要研究领域。分类模型类似于人类学习。通过学习历史数据或培训集,获得了目标功能,然后目标函数预测了新数据集的未知属性。分类模型主要包括两个步骤:

  通常,通常使用学习模型的性能。DATARALLY分为非交流训练集和测试集。培训集用于构建分类模型。测试集用于测试分类多少类标签。

  那么回归和分类之间有什么区别?

  类别和回归属于监督和学习。它们之间的区别在于,回归用于预测连续的实数。例如,给定的房屋区域以预测房屋的价格。预定目标类属于目标。预定的目标类是当离散值离散时进行分类。

  MNIST是一个手写数据集,是一个非常经典的神经网络示例。MNIST图像数据集包含大量数字手写图片。如下图所示,我可以尝试将其用于分类实验。

  MNIST数据集包含标签信息。上面的图分别表示数字5、0、4和1。此数据集包含三个部分:

  通常,培训数据集用于训练模型,以验证数据集训练的模型的正确性,以测试准确性以及是否过度拟合。测试集不可见(相当于黑匣子),但是我们的最终目的是训练有素的模型的效果(这里是准确性),以实现最佳状态。

  如下图所示,计算机以此形式读取数据。例如,28*28 = 784像素,白色位置为0,黑色位置表示数字,共有55,000张图片。

  MNIST数据集中的一个示例数据包含两个部分:手写图片和相应的标签。在这里,我们使用XS和YS表示图片和相应的标签。培训数据集和测试数据集包括XS和YS。使用mnist.train.images和mnist.train.labels指示训练数据集图片数据和相应的标签数据数据。

  如下图所示,它表示由2828像素点矩阵组成的图片。这里的数字784(2828)放置在我们的神经网络中,它是X输入的大小,相应的矩阵如下图所示,如下图所示,标签标签为1。

  最后,MNIST的训练数据集形成了一个张量,形状为55,000*784位,这是一个多维阵列。第一个维度代表图片1)的索引。

  这里的y值实际上是一个矩阵。该矩阵有10个位置。如果是1,则写在1(第二个数字)1中,并写在其他位置。写1(第三个数字),另一个位置为0.在0.in中,以下是这样,分类的不同位置的数量,例如[0,0,0,1,0,0,0,0,0,0,0,0,0,0,如下图所示。

  mnist.train.labels是一个两个维数为55000*10的数组,如下图所示。它代表55,000个数据点,第一个数据y表示5,第二个数据y代表0,第三个数据y表示4,代表4,代表4,y表示4,第三个数据第四个数据y代表1。

  了解MNIST数据集的组成以及X和Y的特定含义,让我们开始编写Keras!

  本文通过keras构建了一个分类神经网络,然后训练mnist dataset.x表示图片28*28,y对应于图像的标签。

  第一步是介绍扩展包。

  第二步是加载MNIST数据和预处理。

  标准化每个像素点,并从0-255转换为0-1范围。

  致电UP_UTILS将课程转换为10的长度。如果数字为3,则在相应的位置将其标记为1,在其他地方标记为0,即{0,0,0,0,1,0,0,0,0,0,0,0,0}。

  由于MNIST数据集是KERAS或TensorFlow的示例数据,因此我们只需要以下代码来实现数据集的读取。如果数据集不存在,它将在线下载。如果数据集已下载,则将直接调用。

  第三步是创建神经网络层。

  在之前创建神经网络层的方法是使用add()与add()添加神经层。

  这是另一种方法,它在Sequention()定义时都会在列表中添加神经层。在同一时间,应注意,此处添加了神经网络激励函数,并且RMSProp加速了神经网络。

  神经网络层是:

  第四步,神经网络培训和预测。

  完整代码:

  运行代码,首先下载MNIT数据集。

  然后,两个训练的结果是输出,您可以看到错误的下降和准确率的增加。最终的测试输出误差损失为“ 0.185575”,正确速率为“ 0.94690”。

  如果读者想更直观地查看我们的数字分类的图形,则可以定义和显示该函数。

  目前的完整代码如下:

  本文分享了华为云社区的诚意,作者:Eastmount。