赞
踩
我们总有一种感觉,机器学习门槛高、难入门。这是因为这里有太多晦涩的概念「神经网络」、「评估指标」、「优化算法」等让初学者老是有种盲人摸象的感觉。甚至连理解一个 Tensorflow 官方 Demo 都感觉吃力,因此不少开发者就有过「机器学习从入门到放弃」的经历。
本文站在全局视角,通过分析一个 TensorFlow 官方的 Demo 来达到俯瞰一个「机器学习」系统的效果,从而让读者看清这个头大象的全貌,帮助初学者入门「机器学习」。
「机器学习」的目标就是利用已有答案来寻找规则,从而做出预测。
这与「传统系统」的区别在于:
正是因为「机器学习」的目标是获得规则,人们便可以拿它来做各种预测:股票走势、彩票号码、服饰推荐、甚至预测员工何时离职。
图片识别本质上也是找到规则。比如要识别一张图片物体是否有一只猫咪,那么胡须、耳朵、绒毛等都可以作为猫咪的特征值,而定义特征值就是在定义成为一只猫的组成规则。
学习一项技能最好方法就是去使用它。这部分我们来看一个 TensorFlow Demo。TensorFlow 是 Google 推出的深度学习框架,基本信息我就不多做介绍了。
我要介绍的是如何读懂这个 Demo。你可能会问,一个 Demo 有那么难懂么?
对于「机器学习」的初学者来说,如若不懂「神经网络」、「损失函数」、「评估指标」等概念,还真是挺难读懂一个 Demo 的。
看下这个 Demo,代码不多,我全部贴出来了。
看到这部分代码的全貌,什么感觉?
我第一次读到的感觉是:「语法都能看懂,但就是不知道你这是要干啥!」
如果你也有这样的感觉,那么我建议你认真把这篇文章读完。
这个 Demo 实际上是要训练一个可以识别手写数字的模型(Model), 要识别的手写数字长这样:
你也许一下子会有很多问号。手写数字? 图片在哪?怎么识别?
别急,下面我来为大家详解这个 Demo。
人工智能领域中的数据是什么?我们从 TensorFlow 这个框架的名字中就能看出来 – Tensor(张量)形成的 Flow(流)。
在「人工智能」领域,绝大部分数据都是以 Tensor 的形式存在,而 Tensor 可以直接理解成多维数组。
举个例子: 要把一张图片输入到人工智能模型中。
我们第一反应是要先把图片数字化,用 Base64 来表示这张图、或者用二进制等等。但是对于人工智能系统,最佳方式是把图片转换成 Tensor。
我们试试用 Tensor 来表示一张 像素 3*3 、背景为白色、对角线为黑色的图片:
运行代码之后,我们就得到了那张对角线是黑色的 33 图片。
这就是用一个四阶 Tensor 表示一张图片,Tens
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。