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

作者: 张阳君 分类: 前端技术

从这篇开始,我们将使用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. 训练模型
  7. 基于第3步的测试数据对,测试训练后的神经网络,验证准确性
  8. 使用训练后的神经网络和新的输入数据预测输出(注意此处的输出是格式化后的数据,需要还原为真实数据)

结语

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

(全文完)

0 条评论
回复
支持 Markdown 语法
暂无评论,来抢个沙发吧!