吴恩达神经网络学习笔记1


代码解释

并不是全部代码,思路的流程

复制代码
import numpy as np

# 如何判断咖啡豆是烤好了
# 假设此神经网络由2层构成


###### 这部分代码只是如何建立2层网络,
###### 并不包含如何加载神经网络中的参数 w  和  b

########################    第1层网络

# x 是输入矩阵
# x 是由温度200 和 持续时间 17min 构成的矩阵
# 因为使用的是Tensorflow,因此这里的输入数据为 1 x 2 的矩阵
x = np.array([[200.0, 17.0]])

# layer_1
# layer_1 是一个由3个神经元构成,并且激活函数是sigmoid
# Dense 是tensorflow中的一个库,是神经网络中的一个类型的层
layer_1 = Dense(units = 3, activation = 'sigmoid')
# 计算第一层的输出,也就是激活函数 a1
# 如果打印输出 a1, 则会得到如下的结果
# ex: tf.Tensor([[1.0000000e+00 8.1249654e-20 0.0000000e+00]], shape=(1, 3), dtype=float32)
# Tensor 可以看成是矩阵,  [1.0000000e+00 8.1249654e-20 0.0000000e+00] 表示 a1 中的元素,"shape=(1, 3)" 表示 a1 是一个 1 x 3 的矩阵,并且其中的数据以 float32 进行存储
a1 = layer_1(x)
# 如果想将Tensor 矩阵 转换成 Numpy 矩阵
a1.numpy()
# print(a1.numpy())

########################    第2层网络,也就是输出结果层
layer_2 = Dense(units = 1, activation = 'sigmoid')
# 注意的是这里 a2 虽然输出的是一个数字,但是其实他是1 x 1 的数组
a2 = layer_2(a1)
# print(a2)
# tf.Tensor([[0.52318585]], shape=(1, 1), dtype=float32)

#  设置阈值,判断结果
# 这里阈值设置为0.5, 大于0.5,烤好了
# 小于0.5, 没有烤好
if a2 >= 0.5:
    print("yes, it is cooked")
else:
    print("not cooked")

import numpy as np
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential

# 其他的方式来实现神经网络
# 思路如下

# 建立 2 层网络
layer_1 = Dense(units=3, activation='sigmoid')
layer_2 = Dense(units=1, activation='sigmoid')

# 在 B站吴恩达_tensorflow.py 中,我们手动获取数据并将将其传输到下一层
# 这里,我们告诉 Tensorflow 将layer_1 和 layer_2串成一整个神经网络
# Sequential 的作用是,请将刚才建立的layer_1 和 layer_2 按照顺序串起来,组成一个神经网络
model = Sequential([layer_1, layer_2])

# training set
x = np.array([[200.0, 17.0],
              [120.0, 5.0],
              [425.0, 20.0],
              [212.0, 18.0]])
# target, 数组,而不是矩阵
y = np.array([1,0,0,1])

# 调用编译函数 compile
# model.compile()

# 拟合训练数据 x 和 正确结果 y 用函数 fit
model.fit(x, y)

# 如果有新的数据 x, 不需要在做一层网络单独计算新的x
# 只需要调用预测函数
# model.predict(x_new)


相关推荐
databook11 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar12 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805113 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_13 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机19 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机20 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机20 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机20 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i20 小时前
drf初步梳理
python·django
每日AI新事件21 小时前
python的异步函数
python