1.机器学习的重要性

通过了解机器学习为什么重要,你可以认识到其价值,认识到其包含的策略方法、开放性问题。同样,对机器学习价值的认识,有助于我们将其作为一个强大的信息处理工具,有助于我们专注挖掘那些实现其价值的具体方法。

本文中,你将认识到,机器学习之所以重要,是因为它可以为复杂问题提供解决方案。相对于传统人工程序设计,这些解决方案更快、更准确、更具可扩展性。而这些复杂问题,想通过传统人工程序设计来解决通常并不可行。

复杂问题 :

计算机程序,使数据处理过程得以自动化。它通常是线性的、基于过程和因果逻辑的。

传统程序具有如下特点 :

1. 你知道或者可以控制程序的输入

2. 你可以设计程序如何实现其目标

3. 你可以设计程序作出何种决策,以及在什么条件下作出这些决策

4. 你可以测试你的程序,并相信由于输入、输出是已知的,并且所有条件都已执行,那么程序将实现其既定目标。

有些问题,你可以用计算机描述,却不能通过传统程序去解决。这类问题具有如下特点 :

1. 你无法界定输入数据的范围

2. 你无法设计出因果逻辑去实现程序的目标

3. 你无法设计出程序为实现其目标所作出的所有决策

4. 你可以收集输入数据的样例

这类问题对基于过程和因果逻辑的传统程序解决方案免疫。这听上去会比较奇怪,因为作为程序员,我们通常会觉得,只要我们能定义出一个程序的目标是什么,我们就能够根据因果逻辑设计出该目标如何被实现的方案。情况并非总是如此,继续看下面的例子。

垃圾邮件过滤例子 :

一个日常的决策问题例子是区分垃圾邮件和普通邮件。该问题便不适合使用手动定义的解决方案去解决 : 你会如何编写一个程序来过滤进入你电子邮件账户的邮件,以便判断将其放入垃圾邮件文件夹或者收件箱文件夹 ?

一个解决方案的过程,可能像这样 :

1. 收集一些我知道是垃圾邮件还是非垃圾邮件的例子。

2. 阅读这些邮件,并写下在两组邮件中发现的任何模式。

3. 试着将这些模式抽象成可以用于编程的更通用化的规则。

4. 寻找一些可以被准确、快速地被区分为垃圾邮件或普通邮件的邮件。

5. 给程序编写测试方案,以确保其能够做出精准决策。

6. 监视部署的系统,并关注它正在做出的决策。

我可以写个程序来完成上面这些事情,你也可以。这会花费很长时间,需要阅读很多邮件,需要很多深入的思考。要使系统变得足够可信赖以用于部署,需要大量的开发和测试时间。部署之后,由于程序中存在大量的规则硬编码,运行维护将是一场噩梦。

上述的解决方案过程的描述同时也适用于机器学习区分垃圾邮件和普通邮件过程。重点是,机器学习可以让处理过程自动化。

机器学习的重要性 :

机器学习提供了一些工具,可以根据数据自动做出决策,以实现某些目标或需求。如何更好决策和决策结果可解释是这个领域的主要研究方向。

我们专注于这些工具解决实际问题的能力和机器学习实践。汇总机器学习的重要性为 :

1. 自动化 (Automatically) : 机器学习方法可以看做是自动化生成算法的算法。

2. 快速 (Fast) :机器学习方法可以节约时间。相比如人工处理,机器学习方法可以更加快速分析样例数据并生成算法。

3. 精确性 (Accurate) : 由于自动化的特性,机器学习方法可以基于更多的数据、运行更长的时间,生成更精确的决策。

4. 规模 (Scale) : 机器学习方法可以给人工无法解决的问题提供解决方案。

总体上来说,传统人工程序设计基于因果逻辑,机器学习则基于概率统计和经验反馈。

猜你喜欢

转载自blog.csdn.net/jiangmengya1/article/details/84548254