当前位置:   article > 正文

吴恩达机器学习-可选实验室:简单神经网络(Simple Neural Network)

吴恩达机器学习-可选实验室:简单神经网络(Simple Neural Network)

在这个实验室里,我们将使用Numpy构建一个小型神经网络。它将与您在Tensorflow中实现的“咖啡烘焙”网络相同。在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
plt.style.use('./deeplearning.mplstyle')
import tensorflow as tf
from lab_utils_common import dlc, sigmoid
from lab_coffee_utils import load_coffee_data, plt_roast, plt_prob, plt_layer, plt_network, plt_output_unit
import logging
logging.getLogger("tensorflow").setLevel(logging.ERROR)
tf.autograph.set_verbosity(0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

数据集
这是与前一个实验室相同的数据集。

X,Y = load_coffee_data();
print(X.shape, Y.shape)
  • 1
  • 2

在这里插入图片描述
让我们在下面绘制咖啡烘焙数据。这两个功能是以摄氏度为单位的温度和以分钟为单位的持续时间。在家烤咖啡建议时间最好保持在12到15分钟之间,而温度应该在175到260摄氏度之间。当然,随着温度的升高,持续时间应该会缩短。

plt_roast(X,Y)
  • 1

在这里插入图片描述
标准化数据
为了与之前的实验室相匹配,我们将对数据进行规范化。请参考该实验室了解更多详细信息

print(f"Temperature Max, Min pre normalization: {np.max(X[:,0]):0.2f}, {np.min(X[:,0]):0.2f}")
print(f"Duration    Max, Min pre normalization: {np.max(X[:,1]):0.2f}, {np.min(X[:,1]):0.2f}")
norm_l = tf.keras.layers.Normalization(axis=-1)
norm_l.adapt(X)  # learns mean, variance
Xn = norm_l(X)
print(f"Temperature Max, Min post normalization: {np.max(Xn[:,0]):0.2f}, {np.min(Xn[:,0]):0.2f}")
print(f"Duration    Max, Min post normalization: {np.max(Xn[:,1]):0.2f}, {np.min(Xn[:,1]):0.2f}")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
上面的这部分跟上一篇文章一样
Numpy模型(Numpy中的正向道具)
在这里插入图片描述

让我们构建讲座中描述的“咖啡烘焙网络”。有两层Sigmoid激活。

如讲座中所述,可以使用NumPy构建自己的密集层。然后可以利用这一点来构建多层神经网络
在这里插入图片描述
在第一个可选实验室中,您在NumPy和Tensorflow中构建了一个神经元,并注意到它们的相似性。一个层只包含多个神经元/单元。如讲座中所述,可以使用for循环访问层中的每个单元(j),并对该单元(W[:,j])执行权重的点积,并对单元(b[j])的偏差求和以形成z。然后可以将激活函数g(z)应用于该结果。让我们在下面尝试构建一个“密集层”子程序。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/311340
推荐阅读
相关标签