吴恩达神经网络学习笔记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 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
§ꦿCFོ༉12 小时前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
投图匠13 小时前
十种不同风格的 CTP接口 框架
开发语言·python
2601_9679801114 小时前
深入理解词向量算法及其在Python中的实践
python·word2vec·glove·fasttext·词向量
2603_9696948514 小时前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
129Lab14 小时前
电池循环测试数据自动化分析:用Python+AI工具构建一键式寿命评估流水线
python·数据分析·电池测试·数据自动化·寿命评估
treasure14014 小时前
【复古】浅尝Django前后端不分离
前端·css·python·django·bootstrap·html·web
可乐ea14 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
Dmz丶15 小时前
前端转 AI 100 天 Day 44:前端集成实战——用 React 给 Agent 做个正式界面
python