计划:<br />
1.学习tensorflow模块
第一周学习小结:
一、降低损失
1)迭代方法

“模型”部分将一个或多个特征作为输入,然后返回一个预测 (y') 作为输出。将模型看成理想模型的话,可用线性公式表示:

使用迭代方法,在训练机器学习模型时,首先对权重和偏差进行初始猜测,然后反复调整这些猜测,直到获得损失可能最低的权重和偏差为止。
2)梯度下降法
假设我们有时间和计算资源来计算权重 的所有可能值的损失。可得出所产生的损失与权重的图形始终是凸形

凸形问题只有一个最低点;即只存在一个斜率正好为 0 的位置。这个最小值就是损失函数收敛之处。这样就可以利用梯度下降的方法,来计算最低。
利用正梯度计算时,计算结果得出的权重值始终会走向损失增长的方向,所以需要利用负梯度的计算方法。初始值的取值并不影响结果,所以不需要考虑
二、构建简单的神经网络
1)创建神经层layer

2)创建神经网络的基本结构
创建随机输入参数inputs:

使用占位符placeholde定义所需的神经网络的输入。1代表输入只有一个特征

定义神经层。 通常神经层都包括输入层、隐藏层和输出层。这里的输入层只有一个属性, 所以我们就只有一个输入,假设我们有十个神经元,即有十个隐藏层

计算

在创建神经层时候定义了Variable变量,所以必须要初始化变量:

开始训练:

利用matplotlib观察训练结果可知,机器学习逐渐减少误差,最终形成一条最接近超参数的曲线

网友评论