让机器学习告诉你,你的siri在想什么!

这几天,作者重新燃起了对数学和人工智能领域的热情。不过在作者获得计算机科学学位时,曾讨厌过这种热情。近年来,作者一直专注于软件设计、自动化测试、微服务和函数式编程。由于热爱新的编程语言,他也一直在想是否需要深入研究Golang,Scala和Python。但最终,有个问题摆在作者面前,那就是它们是构建什么东西的工具?作为一名开发人员,作者的日常工作是构建和维护微服务。

让机器学习告诉你,你的siri在想什么!

有一天,作者知道了Golang和Python。他注意到有人提到了两种机器学习的语言,受好奇心驱动作者阅读了它们。读过以后,作者意识到这两门科目(即数学和人工智能)并非他喜欢的,但他可以将它们结合起来,创造出更有用的东西。这对作者而言是全新的挑战!从那以后,作者对机器学习充满了兴趣。他认为机器学习是长期以来最愉快和最令人兴奋的一种技巧。(作者曾经喜欢的编程语言反而变得次要起来。)而这种兴趣的开始源于观看一个关于机器学习的在线课程。

让机器学习告诉你,你的siri在想什么!

关于机器学习我们能做些什么?

机器学习看起来像是一件神秘的事情,但我们每天都会用到它。它被广泛应用在不同的程序中:

比如,

  • 亚马逊和Netflix是如何知道你想提出建议?

  • 这些自动驾驶汽车的背后是什么?

  • 金融交易可以自动化吗?

  • 天气预报的原理是什么?

  • Google搜索引擎如何工作?

  • 机器能帮助我们改善医疗保健吗?

  • Siri和Alexa为什么可以处理自然语言?

即便这些简单的例子。也足以给我们留下难忘的想象。

开始需要什么?

我们很容易被大量的关于机器学习的信息所困扰。我们有大量的博客和论文可供查看。并且它们还在不断增长。(原因是它一个相对全新的领域,并且人们对它的兴趣在过去几年有所增加。)

作为一个多学科交叉的领域。学习它,您还至少需要掌握计算机科学和数学等领域的知识。

首先您必须了解程序设计。其次,想真正深入机器学习,您还需要比数据科学家做更多的实践工作。(数据科学家将更关注数据分析。)然而,这两者之间并非毫无联系,因为如果是在您自己进行工作时。您至少需要使用一种通用编程语言才能构建机器学习位和与其相关的供用户使用的应用程序。

在数学中,机器学习尤其重要。因此,您需要了解以下几点:

  • 线性代数

  • 可能性

  • 统计

  • 多元微积分

  • 优化和算法

现在,您可能会对深度学习(一个试图模仿人类大脑学习模式的机器学习子类)充满兴趣。您需要学习有关人工智能的具体事情。而这也只是您众多选择中的一个。

当然,如果在某些情况很紧急的时候,您则需要了解分布式计算,以加速和扩展您的计算内容。由于该领域的可并行性和数学性质,功能编程也同样适用。您甚至可能会来使用特定的数字编程技术来编码和优化您的算法。

让机器学习告诉你,你的siri在想什么!

但是,我们真的需要这么多东西才能开始呢?其实不然。事实上,您想深入机器学习,并不意味着您必须成为数学和人工智能领域的专家。您只需对数学有个基本理解。另外,您还可以通过工具获取帮助。

想真正深入机器学习,最重要的是克服不够了解机器学习而产生的恐惧感。我们都是从零开始的。这有一种常见的错误观点:机器学习是一个需要很多不同技能的领域,我们必须要了解所有数学问题才行。而正确的应该是选择一个对于初学者来说很容易的工具;比如 Weka和scikit-learn。通过使用它们来确保您真的喜欢这个流域。然后再投入大量的时间来了解您所需的技能。

它值得吗?

作者进入这个令人惊叹的领域已经过去了几个月。对作者来说,机器学习最令人兴奋的方面除了它的作用外,还有技能的组合(不仅仅是软件开发)。随着时间的推移,学习和获得如此多的新技能是具有挑战性的。但对作者来说,这绝对值得花时间和精力。

相关推荐