ML:2-2-1 Tensorflow

发布时间:2024年01月17日


【吴恩达p60-61】

1. Tensorflow实现

  1. 继续看手写数字识别的例题
  2. 第一步,我们上周学习了。
  3. 第二步,让Tensorflow去编译模型。最重要的一步是通过指定你想使用的loss函数。(这里我们会用BinaryCrossentropy)
  4. 第三步,使用fit函数告诉Tensorflow将在第一步中指定的model,和第二步中指定的cost function拟合到XY。(第3步是用来训练模型的)
  5. epoch是一个专业名词,指定gradient descent步骤的数量

请添加图片描述

2. 模型训练细节

【了解Tensorflow训练模型的代码细节。】

  1. 训练模型的三个步骤:
    1. 定义模型f(x)
    2. 找出loss + cost function。(loss是单个样本的误差,cost是整体的误差和)
    3. 训练数据,最小化cost function。(ex. 使用gradient descent)
  2. 使用这3步训练neural network的模型:
    1. 定义model的式子。
    2. compile模型,并且告诉它你想使用的loss function。(这里的代码表示,我们将使用Binary Cross Entropy作为loss function。后续通过对其取平均值,可以得到整个neural network的cost function。)
    3. 调用函数,去最小化cost function。

请添加图片描述

2.1 定义模型f(x)

  1. a3 = f(x)

请添加图片描述

2.2 找到loss and cost funciton

  1. 必须指定loss function,这也会用来定义cost function。
  2. L(f(x), y)函数里y是truth label(target label
  3. f(x)是neural network的output。
  4. Tensorflow知道你要最小化cost是所有training example loss的平均值。
  5. 如果项训练的是regression的模型,你也可以告诉Tensorflow使用不同的loss function编译模型。(比如,要去最小化mean squared error,就可以让loss = MeanSquaredError())
  6. 神经网络里的W,B都是2维的数据
    请添加图片描述

请添加图片描述

2.3 Gradient descent

  1. 需要分别对每一层每一神经元,更新它们的w,j。
  2. backpropagation反向传播:用来计算neural network里偏导项的一种算法。(Tensorflow可以做到:model.fit(x,y, epochs = 100),epochs表示,迭代100次。)
  3. 事实上,Tensorflow可以使用另一种比gradient descent更快的算法来做。

请添加图片描述

文章来源:https://blog.csdn.net/skylar0/article/details/135591395
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。