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


相关推荐
小蒋观天下11 分钟前
【无标题】红外补光近距过曝、远距欠曝:导致车牌AI识别失效调试
人工智能·深度学习·数码相机·算法·机器学习·ai大模型
ss27314 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 24 PostgreSQL WAL日志与崩溃恢复原理
数据库·笔记·postgresql
minglie118 分钟前
电枢的主题和概念
学习·1024程序员节
叼烟扛炮20 分钟前
Linux 学习笔记(二十二):深入 Ext 文件系统(上)—— 磁盘、块与神秘的 inode
linux·笔记·学习
段一凡-华北理工大学32 分钟前
高炉炼铁机器视觉与智能识别十八讲~系列文章17:实战案例:一个风口监控系统的完整搭建
人工智能·pytorch·深度学习·机器学习·计算机视觉·高炉风口监测系统
木白CPP34 分钟前
Persistence subsystem 笔记
数据库·笔记
哦哦~92137 分钟前
上海理工大学 Sci. Adv.|自旋解耦超表面赋能 D-D²NN:大容量方向依赖全光衍射神经网络
人工智能·深度学习·神经网络·超表面
信誓旦旦的程序猿39 分钟前
【Python量化实战宝典 #20】动量、反转择时手册:趋势跟随与均值回归(Python 可跑)
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
味悲44 分钟前
Nginx笔记
linux·运维·笔记·nginx
坤坤子吖1 小时前
C++继承:继承的基本用法与访问规则
开发语言·c++·笔记·学习