Python-标准神经网路DNN

1.初始准备
 

Keras 可以用各种不同的深度学习套件当底层, 我们在此指定用 Tensorflow 以确保执行的一致性。

%env KERAS_BACKEND=tensorflow
env: KERAS_BACKEND=tensorflow
再来是我们标准数据分析动作!
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
/home/nbuser/anaconda3_420/lib/python3.5/site-packages/matplotlib/font_manager.py:281: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
  'Matplotlib is building the font cache using fc-list. 

2.读入 MNIST 数据库


MNIST 是有一堆 0-9 的手写数字图库。有 6 万笔训练资料, 1 万笔测试资料。它是 "Modified" 版的 NIST 数据库, 原来的版本有更多资料。这个 Modified 的版本是由 LeCun, Cortes, 及 Burges 等人做的。可以参考这个数据库的原始网页。

MNIST 可以说是 Deep Learning 最有名的范例, 它被 Deep Learning 大师 Hinton 称为「机器学习的果蝇」。

3.由 Keras 读入 MNIST
 

Keras 很貼心的幫我們準備好 MNIST 數據庫, 我們可以這樣讀進來 (第一次要花點時間)。

from keras.datasets import mnist
/home/nbuser/anaconda3_420/lib/python3.5/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
Using TensorFlow backend.
(x_train, y_train), (x_test, y_test) = mnist.load_data()
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz
11264000/11490434 [============================>.] - ETA: 0s
我们来看看训练资料是不是 6 万笔、测试资料是不是有 1 笔。
len(x_train)
60000
len(x_test)
10000
特别要注意的是, 万一在读的过程中失败, 你需要找到下载的部份数据集删去, 然后在一个网路通𣈱的地方再下载一次。

3.数据库的内容

每笔输入 (x) 就是一个手写的 0-9 中一个数字的图档, 大小为 28x28。而输出 (y) 当然就是「正确答案」。我们来看看编号 9487 的训练资料。
x_train[9487].shape
(28, 28) 
因为是图档, 当然可以显示出来!
plt.imshow(x_train[9487], cmap='Greys')
<matplotlib.image.AxesImage at 0x7f9ce0d7c278>

我们人眼辨识就知道这是 1, 我们看答案是不是和我们想的一样。
y_train[9487]

1

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度神经网络(DNN)是一种基于神经网络的机器学习算法,用于处理输入和输出之间复杂的非线性关系。它通过多个隐藏层来构建网络结构,每个隐藏层都包含多个神经元,通过学习权重和偏置参数来实现从输入到输出的映射。 在Python中,我们可以使用各种深度学习框架来实现DNN,例如TensorFlow、PyTorch和Keras等。这些框架提供了高级的API和丰富的工具,使得构建和训练DNN变得更加简单和高效。 在Python中实现DNN的步骤包括数据准备、网络构建、训练和评估等。 首先,我们需要准备用于训练和测试的数据集。通常,我们会将数据集划分为训练集和测试集,其中训练集用于训练网络参数,测试集用于评估网络性能。 接下来,我们可以使用Python中的深度学习框架构建DNN网络结构。通过选择合适的层数、神经元数量和激活函数等参数,可以设计出适合特定问题的网络结构。 然后,我们可以使用训练集对网络进行训练。在训练过程中,DNN通过反向传播算法来更新权重和偏置参数,不断优化网络的性能。可以根据需要调整学习率、批处理大小和迭代次数等参数来控制训练过程。 最后,我们可以使用测试集来评估已训练好的DNN网络的性能。通过计算准确度、精确度、召回率和F1值等指标,可以评估网络在分类、回归或其他任务上的表现。 总之,DNN深度神经网络是一种强大的机器学习算法,通过Python中的深度学习框架实现它可以帮助我们解决各种复杂的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值