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)
领取专属 10元无门槛券
私享最新 技术干货