吴恩达神经网络学习笔记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)


相关推荐
Pkmer几秒前
Java程序员大战Python面向对象
python·ai编程
小龙报7 分钟前
【Coze-AI智能体平台】低代码省时高效:Coze 应用开发全流程指南
java·人工智能·python·深度学习·低代码·chatgpt·交互
技术钱8 分钟前
LCEL表达式与Runnable可运行协议
python
Echo_NGC223711 分钟前
【论文解读】Attention Is All You Need —— AI 时代的“开山之作“,经典中的经典(transformer小白导读)
人工智能·python·深度学习·神经网络·机器学习·conda·transformer
AI360labs_atyun13 分钟前
清华开源AI导师OpenMAIC!30秒生成互动课堂!还能学“养龙虾”
人工智能·科技·学习·ai
学机械的鱼鱼20 分钟前
【学习笔记】QGroundControl安装与使用简明指南
笔记·学习
zhangrelay22 分钟前
Ubuntu 18.04 经典 / 有趣 / 实用 APT 软件清单
linux·笔记·学习·ubuntu
falldeep23 分钟前
五分钟了解OpenClaw底层架构
人工智能·算法·机器学习·架构
FserSuN25 分钟前
Machine Learning Specialization - Week 1, 1-8学习总结
人工智能·学习·机器学习