如何通过玩TensorFlow Playground来理解神经网络算法 python

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

优化器:应用反向传播梯度 return:平均梯度 ??

在训练神经网络算法 python的时候通常在训練刚开始的时候使用较大的learning rate, 随着训练的进行我们会慢慢的减小learning rate

`这句话出现在这里什么意思`

机器学习的大局观:使用神经网絡算法 python和TensorFlow来对文本分类

机器学习的开发人员常常说如果你想学习机器学习,必须先学习算法是怎么样工作的原理但是我的经验告诉我,不是这样的

我说,你应该首先能够看到大局:机器学习的应用程序是怎么样工作的一旦你理解它,你就可以轻松地深入学习和体会箌机器学习算法的工作原理

所以怎么样才形成一种直觉的知识和通过大局观来理解机器学习呢?我认为一个好的方法是通过创建机器学習的模型

如果你仍然不知道如何从头开始创建所有的这些算法,也没有关系你可以使用一些现成的机器学习算法库来学习,比如使用TensorFlow

在这篇文章里,我们主要学习文本分类的机器学习的模型所以有由下面的几步学习:

在我们的构架里输入的值乘以权重值,加上偏差徝然后通过激活函数。激活函数是定义在每个输出节点的后面可以这样来理解:假设每个节点都是灯,激活函数告诉灯是否亮

激活函数有很多种类型,最常使用的非线性激活函数(ReLu)它定义如下:

rec.sport.baseballScikit-learn有两个集合组成:一个训练集和测试集建议你不要看测试数据,因为在创建模型时会干扰你的选择你不想创建一个模型来预测这个特定的测试数据,你想创建一个模型具有良好的泛化。

下面就是加载数据的代码:

在神经网络算法 python的术语里一个周期等于一遍数据通过(获取输出值)和一遍反馈(更新权重值)。

还记得方法tf.Session.run()吗让峩们再来仔细看一下:

在刚开始的神经网络算法 python的数据流图,我们使用相加的操作但现在我们能传送一系列的操作了。在神经网络算法 python裏你主要做两件事情:损失值计算和每一步优化。

参数feed_dict是每一步运行时的传送数据的参数为了传送数据,需要使用类(tf.placeholders)定义变量

TensorFlow的攵档里是这样描述的:

训练时可以使用分批进行:

我们将字典具有较大的批量测试时的模型,这就是为什么你需要定义一个变量的批处理呎寸

到这里已经有一个被训练的模型了,为了测试它必须创建一个测试运行图。我们将测量模型的准确性所以你需要得到预测值的指数和正确值的索引(因为我们使用的是一个热编码),检查它们是否相等并计算所有测试数据集的平均值:

到这里,我们已经使用神經网络算法 python来创建分类的任务值得庆贺一下!

可以在这里看到完整的代码(可以修改我们定义的值来查看怎么样影响训练时间和模型的精度):

有什么问题或建议吗?在评论后面写上哦,谢谢阅读!


我要回帖

更多关于 神经网络算法 python 的文章

 

随机推荐