前言
唉我怎么什么都要学啊。。
参考:
https://developers.google.com/codelabs/tensorflow-1-helloworld?hl=zh-cn
什么是机器学习
考虑构建应用的传统方式,如下图所示:
我们用编程语言定下”规则“(比如函数),然后再加入数据,这些规则会根据数据来执行操作,然后我们的程序就会提供一个”答案“(比如函数的返回值)
举个不知道恰不恰当的例子:1+2=3,其中 1、2 是我们的数据,而+
是我们的规则,最后的 3 则是我们的答案
而机器学习检测活动状态的过程非常相似,只是轴线不同:
我们只需要提供答案和数据,然后机器来推断出答案与数据之间关系的规则
沿用上面的例子:我们只提供了答案 3 和数据 1、2 ,然后让机器来推断从数据到答案之间的运算规则
而在实际的活动检测场景中会有如下表现:
我们需要收集大量数据,并有效地标记其为“这是步行的样子”或“这是跑步的样子”。然后,计算机可以根据数据推断出决定某一特定活动的不同模式的规则
在传统编程中,代码被编译为通常称为程序的二进制文件。在机器学习中,通过数据和标签创建的项称为模型。
于是把上面那张机器学习的图表修改一下,将操作的结果视为一个模型,在运行时就是如下所示:
我们向模型传递一些数据,然后模型会使用从训练中推断的规则进行预测,例如,“该数据似乎表示在步行”或“该数据似乎表示在骑车”。
创建首个机器学习模型
观察下列数字之间的规律:
X | -1 | 0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|---|
Y | -2 | 1 | 4 | 7 | 10 | 13 |
我们正常计算的话可以得出 Y=3X+1 这样一个方程,即它们之间的关系
而把这个计算的步骤拆开来看的话,有这样的操作:
- 注意到 X 的值从左向右依次增加 1,而 Y 的值相应地依次增加 3
- 发现 Y 等于 3X 再加或减某一数字
- X 为 0 时 Y 为 1
- 最终得到 Y=3X+1
这就是利用代码训练模型来识别数据中模式的准确方式