首页 首页 人工智能 查看内容

什么是机器学习,机器学习与传统编程之间,有什么区别

木马童年 2019-10-4 15:01 54 0

有些人认为 AI 和 ML 被过分夸大了,认为它们只不过是写一些 if 语句,或者仅仅是和编程有关的玩意儿,但我建议你对这些观点进行仔细的思考和分辨。在本文中,我将对它们涉及到的术语进行比较,并展示这两个领域的专 ...

谈谈机器学习与传统编程之间的区别

有些人认为 AI 和 ML 被过分夸大了,认为它们只不过是写一些 if 语句,或者仅仅是和编程有关的玩意儿,但我建议你对这些观点进行仔细的思考和分辨。在本文中,我将对它们涉及到的术语进行比较,并展示这两个领域的专家之间的区别:他们究竟是做什么的?软件工程师、软件开发人员、机器学习专家、数据科学家......有些人甚至用程序员或码农称呼他们,有些人甚至可以成为大佬、大师或明星!但是他们真的一样吗?如果是这样的话,那机器学习和传统编程之间究竟有什么区别?

首先,什么是机器学习?

谈谈机器学习与传统编程之间的区别

尽管说起来很容易,AI 和 ML 只不过是 if 编程,或者更深入一点,它只是简单的统计数据。我们还能知道些什么呢? ML 只是一个描述数学 + 算法的新词吗?尽管有时这种简化似乎很有趣,但很明显,ML更复杂。

但是让我们来看一个更合适的解释。

因此,简单来说,人工智能是一个包含其他领域的大筐,如图像处理、认知科学、神经网络等等。机器学习也是这个大筐中的一个组成部分。它的核心思想是:计算机不只是使用了预先编写的算法,还学习如何解决问题本身。或者,换句话说,Arthur Samuel 给出了一个很好的定义(他实际上创造了ML的术语):

2012年,“哈佛商业评论”称其为“21世纪最性感的工作”。

因此数据科学是另一个筐,就像计算机科学一样,数据科学旨在处理数据并从中提取有用的信息。

谈谈机器学习与传统编程之间的区别

那么编程呢?现在的数据科学家为了研究的目的而而需要掌握这种技能。他们不仅是程序员,也应该具有应用统计或研究背景。有些人还从事软件工程,特别是在他们的产品中提供数据科学或机器学习技术的公司。最有趣的是,数据科学可以不必编程,但是会被限定在 Matlab、SPSS、SAS等工具上。

机器学习工程师的职位是怎样的?

机器学习工程师的位置更具有“技术性”。换句话说,机器学习工程师与传统的软件工程有着比数据科学更多的相同点。

ML 工程师的标准任务通常和数据科学家类似,但是你还需要处理数据,尝试用不同的机器学习算法来解决问题、创建原型和现成的解决方案。

我要强调一下关键的区别:

  • 一种或多种语言(通常是Python)的强大编程技能;

  • 不太重视在数据分析过程中工作的能力,而是更加重视机器学习算法;

  • 能够基于现成的库使用不同的技术,例如,NumPy 或 SciPy;

  • 使用 Hadoop 创建分布式应用的能力等。

现在让我们回到编程并仔细研究分配给程序员的任务。

程序员实际上就像数据分析师或业务系统开发人员。他们不必自己构建系统,只需针对现有系统编写松散结构的代码。是的,我们可以将数据科学称为新的编程浪潮,但编码只是其中的一小部分。所以不要误会。

但如果深入挖掘,我们会发现还有其他术语,如 Software Engineer 和 Software Developer,两者并不相同。例如软件工程师必须设计工程。它们涉及生产应用程序、分布式系统、并发、构建系统、微服务等。而软件开发人员需要了解软件开发的所有周期,而不仅仅是实现(有时甚至不需要任何编程或编码)。

那么,你现在感受到编程和机器学习的不同了吗?我希望本文可以帮你避免对这些术语产生混淆。毫无疑问,这些人都有一些共同点,那就是技术,但之间的差异要大得多。因此机器学习工程师、软件工程师和软件开发人员完全不可互换。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

工程师 软件开发 机器学习 数据科学家 程序员 人工智能
0