tensorflow.js(一)

hello,tensorflow

机器学习(ML)现在不光是 IT 届的新宠,几乎是每个人都在谈论的新事物。

ML 如此狂野的原因是因为它非常擅长从数据中学习,以便它能够预测未来类似的事情。

嗯,就是预测未来。

但是手工操作 ML 是非常烦人的,它通常涉及在 JavaScript 中进行毫无趣味的矩阵操作,还涉及到许多的高级数学知识。

还好,TensorFlow.js 出现了,它在 ML 这的表现相当不错!它是一个开源的库,它有很多内置的机器学习 - 例如模型和算法,所以前端 er 不必从头开始学习如何编写它们。

机器学习的特点

机器学习擅长对数据进行分类和标记。也就是对一个又一个的为进行前瞻性预测,因此实现机器学习的前提有 2 点:

拥有数据。有人(用户)给我们一些根据特定公式生成的数据。这些数据可能是一些枯燥的矩阵中的点,也可能是一些有趣的数据,比如是一副图片或者是一段语音。

获得数据生成公式。通过查看分析这些数据,我们可以获取生成数据的固定公式,以便我们可以正确预测未来的数据点。例如,如果给了我一张照片,我们最终能够自信地说出它是一只狗还是一只松饼。

Tips: 传统的思维是 ,而机器训练的逻辑是 。我们正是为了达到某种目的而去获取用户数据进而训练分析数据。

来个 demo 表演一下

在 ML 中,预测数字往往比预测图形更加容易,所以在这个例子中,我们首先先将图形拟合成数据(数据来自TensorFlow 网站)

首选有一个横纵(X-Y)坐标系,有一个点 a 坐标值为 , X 的取值区间在-1 和 1 之间也就是 ,y 按照 进行取值,这就是数据生成公式。

在这里我们不知道 这些系数的值,因此也就不知道a的位置。

我们的目标就是训练这几个值,如果给我们一个X值,我们来预测y值应该是什么

整个训练过程用图形化进行展示,其中蓝色的点是我们最终获得的数据,红色的点是我们将要被用来训练猜测的数据。

点击 按钮,绿色的数据会在不断猜测的过程中越来越接近最终的真相(蓝色)。并且你会发现训练的次数越多。那么最终获得数据也就越准确

线上预览地址(iicongcong.cool/demo/tensorflowjs/index.html)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180531G0F0YJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券