ML: 2-3 neural network 代码理解

文章目录

  • 1. 如何用代码实现推理
    • 1.1 介绍
    • 1.2 案例1:咖啡豆的烘焙问题。
    • 1.3 案例2: 手写数字的分类问题。
  • 2. Tensorflow中的数据形式【code理解】
    • 2.1 Tensorflow如何表达数据。
  • 3. 搭建一个神经网络

1. 如何用代码实现推理

1.1 介绍

  1. Tensorflow是实现深度学习算法里的领先的框架之一。
  2. Tensorflow和PyTorch一样都很常用。这节课会着重于Tensorflow,。
  3. 神经网络特点之一:是相同的算法可以被应用到很多不同的应用程序里。

1.2 案例1:咖啡豆的烘焙问题。

  1. 温度太低/时间太短—undercoked
  2. 温度太高/时间太长—overcoked
  3. 用神经网络来优化咖啡豆的烘焙。
  4. temp 200,duration 17: 算法会告诉我们它是否为好的咖啡。

ML: 2-3 neural network 代码理解_第1张图片
5. 将input输入
6. layer_1里设置3个neurons,activation为sigmoid函数的神经网络算法。
7. dense为这层layer的类型。

ML: 2-3 neural network 代码理解_第2张图片
8. 继续设置layer_2
9. a2的值为output,用a2来跟threshold比较。

ML: 2-3 neural network 代码理解_第3张图片

1.3 案例2: 手写数字的分类问题。

ML: 2-3 neural network 代码理解_第4张图片

2. Tensorflow中的数据形式【code理解】

【了解Tensorflow如何处理数据】

2.1 Tensorflow如何表达数据。

  1. double squared brackets [[]]表示什么???【表示2D数据】

ML: 2-3 neural network 代码理解_第5张图片
2. Numpy如何储存vector和matrices???
- 用array来表示(按行存,每行用一个list表示)

ML: 2-3 neural network 代码理解_第6张图片
3. Numpy arrays的区别
1. 是1行2列的matrix。【row vector】
2. 是2行1列的matrix。【column vector】
3. 只有一个squared bracket:【1D“vector”, 而不是2维的matrix。只是一组数据的list】
4. 在Tensorflow里用2D形式来表达数据。跟线性/逻辑回归不同,它俩用1D。

ML: 2-3 neural network 代码理解_第7张图片
5. 把a1打印出来的结果如图
6. float32: 表示这个float在计算机占32bits的内存。
7. Tensor是一种数据类型,由Tensorflow创立团队建设的,能有效储存matrices的计算
8. 使用a1.numpy()可以将Tensor数据类型转回Numpy array

ML: 2-3 neural network 代码理解_第8张图片
ML: 2-3 neural network 代码理解_第9张图片

3. 搭建一个神经网络

【了解另一种构建neural networks的code方法】

  1. 回顾: 如图,这是上面学习的一种实现neural network的方法。
    ML: 2-3 neural network 代码理解_第10张图片
  2. 另一种方法:
    (1)设置layer1、layer2。然后不用手动获取数据(a1,a2)传递到下一层。
    (2)使用sequential()函数将layer1、layer2串起来。
    (3)将training data输入进去。
    (4)使用model.complie() 、model.fit(x,y)
    (5)使用model.predict()让计算机帮忙做forward propagation,预测x_new值。

  1. 使用新方法,对手写数字进行预测。
    1. 设置layer信息。
    2. 使用sequential()指定什么是layer1,layer2等等。
    3. 使用.compile() 将model编译。
    4. 输入input
    5. 使用.fit(x,y)
    6. 使用模型进行预测model.predict(x_new)。

ML: 2-3 neural network 代码理解_第11张图片

  • 这里layer1-3可以直接写进sequential()里面。
    ML: 2-3 neural network 代码理解_第12张图片

你可能感兴趣的:(机器学习)