你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

1.机器学习

2021/12/15 18:57:57

1. 准备工作

在此 Codelab 中,您将学习机器学习的基础知识,您将构建一个基于数据进行训练的系统,以推断用于确定各种关系的规则,而不是使用 Java 或 C++ 等语言编程显式规则。

请考虑以下问题:您要构建一个系统,能够跟踪健身情况,识别运动状态。您或许需要访问用户行走的速度,并尝试基于速度这个条件推断用户的活动情况。

cc3628d9a1547597.png

if(speed<4){
  status=WALKING;
}

您可以使用其他条件扩展该变量。

f2cc3929221107b8.png

if(speed<4){
    status=WALKING;
} else {
    status=RUNNING;
}

在最后一个条件下,您可以使用类似方法检测循环。

aeb282cf03d5cff.png

if(speed<4){
    status=WALKING;
} else if(speed<12){
    status=RUNNING;
} else {
    status=BIKING;
}

现在请考虑,当您想添加活动(如高尔夫)时,会发生什么情况。如何创建规则来确定这样的活动,则不那么显而易见。

fc772abb6fee2804.png

// Now what?

编写一个能够识别高尔夫活动的程序极难,您该怎么办?您可以使用机器学习来解决问题!

前提条件

在尝试此 Codelab 之前,您需要:

  • 扎实的 Python 知识
  • 基本编程技能

学习内容

  • 机器学习的基础知识

您将构建的内容

  • 您的首个机器学习模型

所需条件

如果您从未使用 TensorFlow 创建过机器学习模型,则可以使用 Colaborator,这是一个基于浏览器的环境,包含所有必需的依赖项。您可以找到在 Colab 中运行其余 Codelab 的代码。

如果您使用其他的 IDE,请确保您已安装 Python。您还需要 TensorFlow 和 NumPy 库。您可以在此处详细了解并安装 TensorFlow。点击此处安装 NumPy。

2. 什么是机器学习?

考虑构建应用的传统方式,如下图所示:

c72f871306134e45.png

您使用一种编程语言表达规则。这些规则根据数据执行操作,而您的程序会提供答案**。**在活动检测中,规则(您编写的用于定义活动类型的代码)会根据数据(用户的移动速度)生成答案:函数的返回值,用于确定用户的活动状态(无论是在步行、跑步、骑车还是做其他事情)。

通过机器学习检测活动状态的过程非常相似,只是轴线不同。

9b85a337ee816e1b.png

您无需尝试定义规则并使用编程语言表达规则,只需提供答案(通常称为“标签”)以及数据,机器即可推断出用于确定答案与数据之间关系的规则。例如,您的活动检测场景在机器学习环境中可能如下所示:

6ff58697a85931f4.png

您需要收集大量数据,并有效地标记其为“这是步行的样子”或“这是跑步的样子”。然后,计算机可以根据数据推断出决定某一特定活动的不同模式的规则。

除了在某一场景中作为编程的替代方法,该方法还可让您打开新的场景,例如在基于规则的传统编程方法中可能无法实现的高尔夫场景。

在传统编程中,代码被编译为通常称为程序的二进制文件。在机器学习中,您通过数据和标签创建的项称为模型。

因此,如果您回到此图表:

53ff9e2cb511936e.png

将该操作的结果视为一个模型,在运行时如下所示:

693430bb4d7fa001.png

您向模型传递一些数据,然后模型会使用从训练中推断的规则进行预测,例如,“该数据似乎表示在步行”或“该数据似乎表示在骑车”。