在被称为第三次人工智能热潮中,人工智能技术目前是备受关注的焦点。 这股热潮的核心是被称为 "机器学习 "的技术,包括深度学习。 你们许多人可能以前听说过这些术语,但可能不知道它们到底是什么。在这篇 "机器学习简介 "的文章中,我们将看看什么是机器学习,以及Python在机器学习方面能做什么。

什么是 "机器学习"? 

机器学习 "这个词我们最近都听到了很多,但它是如此广泛,以至于当你想学习的时候,可能很难知道从哪里开始。首先,让我们看一下机器学习是怎么回事。

机器学习是使用机器(计算机)实现人类 "学习 "机制的技术和方法的一个总称。 有许多不同的算法和方法可以用来描述机器学习,其中最常见的是 "深度学习 "作为实现人工智能的一种手段。

深度学习是一种被称为神经网络的机器学习技术,它使用一种模拟人类神经元工作方式的结构。 换句话说,复杂的神经回路之间的连接已被转换为数学公式,以便机器能够以类似于人类的方式 "学习"。 著名的例子包括谷歌的AlphaGo围棋软件,它因击败人类职业围棋选手而闻名,以及自动驾驶汽车。

机器学习的方法有很多,可以分为三大类:监督学习、无监督学习和强化学习。

用于机器学习的语言

Python是实现机器学习的最流行的编程语言。 其他语言如R、C/C++和Java也可以用来实现机器学习,但Python在使用频率和应用广度方面都比这些语言突出。

为什么Python在机器学习中如此受欢迎

为什么Python作为实现机器学习的编程语言如此受欢迎? 可以举出三个主要原因

  • 高可靠性

第一个原因是它是一种可靠的编程语言:Python已经被用于我们熟悉和喜爱的服务中。 例如,它被用于熟悉的服务,如YouTube、Instagram和Dropbox。也有许多其他公司在开发基于Python的服务,这表明Python的高可靠性。

  • 语法很简单

第二个原因是Python语法的简单性。 对于那些刚接触编程的人来说,Python被称为是一种容易学习的语言。该语言旨在供非技术人员使用,如数据科学家,以及程序员和其他编程专家,这就是为什么语法如此简单。

  • 活跃的社区和丰富的库

第三个原因是,Python有丰富的库和活跃的社区:scikit-learn是Python中机器学习的标准库,而TensorFlow、PyTorch和Chainer则用于深度学习。 对于深度学习,有一些库,如TensorFlow、PyTorch和Chainer。

目前没有其他语言拥有如此庞大的机器学习库。 还有一些在线社区,你可以找到关于每个库的信息和讨论,所以你很少会被信息所困。

基于这三个原因,Python是开始学习机器学习的最佳编程语言。

Python可以为机器学习做什么

那么,Python中的机器学习有哪些应用呢? 在本节中,我们将看看Python中机器学习的一些应用,并介绍我们使用的一些库。

预测股票和虚拟货币价格走势:scikit-learn

机器学习对于预测具有某种周期性模式的数据在未来将如何变化很有帮助。 这就是为什么机器学习经常被用来预测股票和虚拟货币图表的价格走势。

关于股票和虚拟货币价格走势的数据,现在任何人都可以在互联网上轻易获得。 因此,许多投资者利用互联网进行所谓的 "回测 "来验证其投资方法的有效性,从而做出投资决策。通过使用scikit-learn这样的机器学习库,可以大大减少回测过程,提高验证的准确性。正如你所看到的,许多可能不涉及编程的投资者实际上正在学习Python和机器学习来帮助他们投资。

排除垃圾邮件(邮件的分类):Selenium

在使用Gmail等网络邮件服务时,许多人可能觉得垃圾邮件的数量与过去相比有所减少。 此外,Gmail会自动将你的邮件分为普通邮件(主)、社交网站信息(社交)以及广告和促销活动(促销),所以有些人可能会觉得,你的邮件分类变得更容易了。 

由于机器学习,这种对电子邮件的自动分类现在成为可能。 "在scikit-learn中,有几种分类算法,如Naive Bayes(*1)和Support Vector Machine(*2)。 通过使用这些算法和提前学习垃圾邮件的典型模式,我们可以自动和即时地将新邮件分类为普通邮件或其他邮件。

当你想从互联网上自动收集你想要的信息时,自动归类功能也很有用。在Python中,有一个叫做Selenium的库,可以用来自动控制网络浏览器。 通过使用这个库,可以自动操纵网络浏览器,从互联网上收集信息。 这被称为 "搜刮"。 通过将搜刮与文本分类相结合,有可能建立一个更复杂的信息收集系统。 

例如,如果你想找到关于苹果的信息,使用关键词 "苹果 "进行搜索,将返回包括不相干信息的结果,如苹果这种水果。 在这种情况下,我们可以使用机器学习,事先用有关苹果的信息对计算机进行训练,这样它就可以消除无关的信息,只收集必要的信息。

这种方法也可以作为投资者在预测股票和虚拟货币价格走势的情况下收集投资信息的工具。

Naive Bayes:它是一种算法,在给定数据的情况下,计算所有估计的概率,并输出最可能的一个。 它的基础是贝叶斯定理,这是数学(概率论)中的一个定理。

Support Vector Machine:它是使用监督学习的模式识别模型之一,在目前已知的方法中以其卓越的识别性能而闻名。

自动人脸分类:OpenCV

今天,机器学习在实际应用中最著名的案例之一是自动人脸分类。 自动人脸分类是一项主要用于安全领域的技术,作为验证个人进入禁闭室的工具,并利用监控摄像头的图像追踪嫌疑人。

Python的OpenCV图像识别库使识别图像中的人脸变得容易。 "通过将OpenCV与机器学习库(如深度学习)相结合,很容易创建一个人脸分类系统。

用于自动人脸分类的最有效的机器学习方法之一是深度学习,在Python中有许多深度学习库,包括TensorFlow、Chainer和PyTorch。最受欢迎的库之一是谷歌开发的TensorFlow,由于有大量的材料和信息,它通常被作为第一个学习的库。

然而,不同的深度学习库有不同的优势,一旦你学会了一些,最好以不同的方式使用它们,以利用它们的不同特点。

汽车的自动驾驶:OpenAI Gym

最近备受关注的自动驾驶,是机器学习可以实现的典型技术之一。各种机器学习算法被复杂地用于自动驾驶,但其中的核心是 "强化学习 "算法。

学习自动驾驶汽车并不是从真实的车辆开始的。 相反,汽车首先在使用3D图形创建的虚拟空间中进行模拟,一旦它学到了足够的知识,就会被应用于真实的汽车。这种模拟是在计算机的虚拟空间中进行的,模仿真实的道路,并重复大量的次数,以学习如何惩罚造成事故的司机。 通过这种方式,计算机逐渐学会了最佳的自动驾驶算法。

只有在虚拟空间中反复试错并通过模拟学习后,才会使用真实的车辆进行试运行,而且是在车辆几乎没有事故的情况下。最近,发展阶段已经进展到了在公共道路上走出研究设施进行示范的地步。 然而,仍有一些问题需要解决,例如如何同时处理多种危险。 在全面投入使用之前,还需要进行更多的研究。

在Python中,我们推荐OpenAI Gym作为强化学习的一个库。 虽然学习自动驾驶的算法很困难,但OpenAI Gym使实现强化学习变得容易。

 结束语

机器学习和相关技术正在以非常快的速度发展,为了利用它们,你不仅需要了解机器学习,还需要了解深度学习和神经网络。

现在,一般商业世界对人工智能工程师、机器学习实施者和数据科学家的需求越来越大。 这意味着,学习Python等编程语言或机器学习,可能会导致未来的职业发展或职业转换。
无论你对机器学习的兴趣使你转向Python,还是你已经学习了另一种编程语言,如Java,并想学习机器学习,我们都鼓励你尝试一下Python。

更多推荐

开始使用Python! 机器学习简介--Python能为你做什么?