38

tensorflow进行机器学习的通用方法论-张阳君的个人网站

 4 years ago
source link: https://www.zhangyangjun.com/post/tensorflow-common-methodology.html?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

tensorflow进行机器学习的通用方法论

2019年08月15日 作者: 张阳君 分类: 前端技术

从这篇开始,我们将使用tensorflow.js开启机器学习之旅。对于Javascript,tensorflow官网直接给出了三个开发实例,这三个实例已经把一般的机器学习思路写的很明白了,本文将提炼出开发流程,让各位读者能在全局的角度掌握机器学习。

机器学习的通俗理解

机器学习可以简单地认为是一种黑盒模式,我们需要的是输入输出还有神经网络系统(黑盒)。如果不涉及到高阶的复杂学习系统,神经网络的模型通常就那么几个类型,我们只需要把每层神经元按次序连接起来就行。在机器学习过程中,我们会根据输入和输出反过来训练这个黑盒,经过大量训练后,这个黑盒中的每个神经元上的权重就会趋于稳定。上面这个过程,我们称为机器的深度学习。接下来我们给训练好的黑盒一个输入,就会得到一个比较靠谱的输出。

在上述机器学习过程中,训练黑盒的算法我们称为优化算法(优化器),判断黑盒系统是否趋于稳定的算法我们称为损失函数(loss)。

使用tensorflow的一般流程

现在我们回过头来看看tensorflow.js官网给出的三个例子,基本就能归纳出机器学习的一般流程了:

  1. 安装tensorflow.js,这里推荐服务器端安装,可以参考我前面发的文章:https://www.zhangyangjun.com/post/tensorflow-backend-installation.html
  2. 加载训练数据对(输入和输出),并且格式化这些数据,尽量保证每个数据的绝对值不要太大,最好是0到1之间,这样可以让损失函数更快收敛。接着将数据转变为tensorflow的张量格式。必要时需要对原始数据进行洗牌操作。
  3. 在格式化好的数据对中分离一部分数据作为训练后的测试数据对,用来回归测试训练系统的准确性
  4. 挑选神经网络并按次序组合它们
  5. 定义优化器和损失函数
  6. 基于第3步的测试数据对,测试训练后的神经网络,验证准确性
  7. 使用训练后的神经网络和新的输入数据预测输出(注意此处的输出是格式化后的数据,需要还原为真实数据)

如果你刚刚入门机器学习,只是单纯地想要使用tensorflow来完成一些工作,掌握本文的操作步骤就行了。光说不练假把式,接下来的几篇文章会对tensorflow给出的3个实例作详细解释,感兴趣的同学可以多多关注!

(全文完)

本文由张阳君原创,文章链接:https://www.zhangyangjun.com/post/tensorflow-common-methodology.html,转载请注明出处!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK