使用TensorFlow的库实现
①建立合适的模型
以逻辑回归模型为例:
- 明确逻辑函数的输入和输出是什么——取决于输入 x 和模型参数,如上图第二列所示
这个代码片段指定了神经网络的整个架构
- units :这一层的神经元个数
- activation :这一层的输出使用的激活函数类型
根据这个代码片段,TF 可以根据上一层和下一层神经元的数量,自动计算 W 和 b 的维度
最后告诉 TF 可以以函数形式,计算输出(output)所需要的一切
(注:这里的 w 和 b ,一开始是随机生成的,会根据后面的步骤不断更新和优化)
在这一步中,我们指定一个合适的模型,就可以告诉 TensorFlow 如何计算和推断。
②指定损失函数(Loss)和代价函数(J)
先重述一下损失函数(Loss)和代价函数(J)的关系:
代价函数是用来计算在整个训练集上损失函数的平均值
代价函数也是神经网络中所有参数的函数
这里的 loss 使用二元交叉熵损失函数(来自 TensorFlow 库)
根据拟合的模型不同可选择不同的 loss 函数
当你指定了单个训练样本的损失之后
TF 就知道你想要最小化的代价是平均值,即取训练集上,所有训练样本损失的平均值
优化这个代价函数将使 神经网络 和你的数据相拟合
这一步我们也叫做编译模型,使用特定的损失函数
③用一个具体的梯度下降算法来最小化代价函数
这里的 epochs 表示:
你规定让一个学习算法进行梯度下降的步数
其中梯度算法中最关键的:偏导数的计算
可以直接调用 TF 库中的 fit 函数实现
这里的 fit 函数自己则是运用了反向传播算法
这一步叫做训练模型