热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AI学习路线:从Python开始机器学习

从无人驾驶汽车到股市预测,再到在线学习,机器学习通过预测来进行自我提高的方法几乎被用在了每一个领域。由于机器学习的实际运用,目前它已经成为就业市场上最有需求的技能之一。如果你也想学习红遍全球的机器学习,这篇文章正是为你而准备的。


使用 Python 来开始机器学习很简单,因为有大量的在线资源,以及许多可用的 Python 机器学习库。AI 学习路线:从Python开始机器学习

值得知道的Python程序库

Scikit-learn

你刚开始学机器学习吗?如果你需要一个涵盖了特征工程,模型训练和模型测试所有功能的程序库,scikit-learn是你的最佳选择!这个优秀的免费软件提供了机器学习和数据挖掘所需要的所有工具。它是目前Python机器学习的标准库。要使用任何成熟的机器学习算法都推荐使用这个库。

这个程序库支持分类和回归,实现了基本所有的经典算法(支持向量机,随机森林,朴素贝叶斯等等)。程序库的设计让迁移算法十分容易,使用不同的算法做实验非常轻松。这些经典算法可用性很强,能用于大量不同的情况。

但这并不是Scikit-learn的全部功能,它同样可以用来做降维,聚类等等任何你所能想到的。由于它构建在Numpy和Scipy之上(所有的数值计算都是由C语言来完成的),它的运行速度也超快。

这些例子可以告诉你这个库的功能,如果你想学习如何使用它,可以阅读教程。

NLTK

NLTK不算是一个机器学习的程序库,但它是做自然语言处理(NLP)必须的一个库。除了用于文字处理的功能,例如聚类,分词,词干提取,标记,解析等,它还包含了大量的数据集和其他关于词法的资源(可用于模型训练)。

把所有这些打包在一起的好处就不用再多说了。如果你对NLP感兴趣,可以看看这些教程!

Theano

Theano被广泛应用于工业界和学术界,它是所有深度学习架构的鼻祖。Theano是用Python,结合Numpy实现的。你可以用它来构建用多维数组实现神经网络。Theano会处理所有数学计算,你不需要知道底层的数学公式实现。

早在支持使用GPU进行计算不像今天这样普及的时候,Theano就已经提供了对GPU计算的支持。这个程序库目前已经非常成熟,能够支持很多不同类型的操作。这使得Theano可以在和其他库比较的时候胜出。

目前关于Theano最大的问题是API不是很好用,对于新手来说上手困难。不过市面上已经有了解决这个问题的封装包,比如Keras, Blocks 和 Lasagne,都可以简化Theano的使用。

TensorFlow

谷歌大脑团队为了内部使用创造了TensorFlow,2015年将其开源化。设计初衷是取代他们已有的封闭机器学习框架DistBelief,据说该构架太过于依赖Google的整体构架,也不够灵活,在分享代码的时候非常不方便。

于是就有了TensorFlow。谷歌从以前的错误中吸取了教训。许多人认为TensorFlow是Theano的改进版,它提供了更灵活和好用的API。可以用于科研和工业界,同时支持使用大量的GPU进行模型训练。TensorFlow支持的操作没有Theano多,但是它的计算可视化比Theano好。

TensorFlow目前非常流行。如果今天这篇文章里面提到的名字你只听说了一个,那很有可能是这个。每天都有新的提到TensorFlow的博文或学术文章发表。这个流行度提供了大量的用户和教程,新人很容易上手。

Keras

Keras是一个提供更高层神经网络API的库,它可以基于Theano或者TensorFlow。它拥有这两个库强大的功能却又同时大大地简化了使用难度。它将用户的体验放在首要地位,提供简单的API和很有用的错误信息。

同时Keras的设计基于模块,这就使得你能***组合不同的模型(神经层,成本函数等等),而且模型的可扩展性很好,因为你只需要简单的将新模块跟已有的连起来即可。

有人觉得Keras太好用了,简直就是在作弊。如果你开始用深度学习,可以看看例子 和 文档,对于你可以用它做什么有个数。如果你要学习使用它,可以从 这个教程开始。

两个类似的库有Lasagne 和 Blocks, 但它们只支持Theano。如果你试过了Keras但是你不喜欢它你可以试试这些其他的库,也许它们更适合你。

PyTorch

还有一个有名的深度学习架构是Torch,它是用Lua实现的。Facebook用Python实现了Torch,叫做PyTorch,并将它开源了。用这个库你可以使用Torch使用的低层的库,但是你可以使用Python而不是Lua。

PyTorch对查错的支持很好,这是因为Theano和TensorFlow使用符号计算而PyTorch则不是。使用符号计算就表明在一行代码被解释的时候,一个操作(x+y)并不会被执行,在那之前,它必须先被编译(解释成CUDA或者C语言)。这就让用Theano和TensorFlow的时候很难查错,因为很难把报错跟当前的代码联系起来。这样做有它的好处,不过查错简单不在其中。

如果你想开始学PyTorch,官方文档适合初学者也会包含有难度的内容。

机器学习的第一步?

你讲了这么多机器学习的包,我应该用哪一个?我怎样比较它们?我从哪里开始?

如果你完全没有接触过机器学习,从scikit-learn开始。你可以了解标记,训练和测试是怎样工作的,以及一个模型是如何被建立的。

如果你想试试深度学习,从 Keras开始,毕竟这是大家公认的最简单的框架。你可以先试试,找找感觉。当你有点经验之后,你可以开始考虑你最需要的是什么:速度,不同的API,或者别的什么,之后你就能更好地决定了。

目前有海量的文章比较Theano,Torch和TensorFlow。没有人能说哪个最好。你要记住的是所有包都支持很多东西,而且也在不断改进,想相互比较它们也越来越难。六个月前的标准有可能已经过时了,一年前的评价说框架X没有Y功能也不一定还有效。

结语

这篇关于用Python库做机器学习的简介就到此为止。我想强调的是不要被细节吓住了,放手尝试。让你的好奇心指导你前进,不要害怕进行不同的实验。

想学习更多?

七月在线为你准备了一门非常系统的机器学习课程。课程采用线上+线下授课模式,BAT专家面对面、手把手教学;除直播答疑、作业批改、在线考试之外,特地增加开课前的入学测评,基于每一个人的测评数据量身定制个性化的不同学习路线北京、上海、深圳、广州、杭州、沈阳、济南、郑州八城同步开营。

除了为你提供一条清晰的学习路径,更有10个工业项目实战辅导 + 一对一面试求职辅导,真正帮你从零转型机器学习工程师!

扫描下方二维码撩课

AI 学习路线:从Python开始机器学习


推荐阅读
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • Python库在GIS与三维可视化中的应用
    Python库极大地扩展了GIS的能力,使其能够执行复杂的数据科学任务。本文探讨了几个关键的Python库,这些库不仅增强了GIS的核心功能,还推动了地理信息系统向更高层次的应用发展。 ... [详细]
  • 探索Python编程的价值与应用
    本文探讨了学习Python的重要性和广泛的应用场景,从个人技能提升到职业发展的多个方面进行了详细解析。 ... [详细]
  • 致信息安全爱好者的成长指南
    本文旨在为信息安全爱好者提供一份详尽的成长指南,涵盖从学习心态调整到具体技能提升的各个方面。 ... [详细]
  • 使用R语言进行Foodmart数据的关联规则分析与可视化
    本文探讨了如何利用R语言中的arules和arulesViz包对Foodmart数据集进行关联规则的挖掘与可视化。文章首先介绍了数据集的基本情况,然后逐步展示了如何进行数据预处理、规则挖掘及结果的图形化呈现。 ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文深入探讨了数据挖掘领域内的十个经典算法,包括但不限于C4.5决策树、K-Means聚类、支持向量机等。这些算法不仅在理论上有深厚的数学基础,也在实践中展现出强大的应用价值。 ... [详细]
  • 掌握Python岗位,你需要了解的关键技能
    最近,在社交平台脉脉上,一条关于Python岗位的消息引起了广泛关注。本文将探讨Python岗位的实际价值,并深入解析阿里巴巴等大公司在面试Python开发者时常见的问题。 ... [详细]
author-avatar
Mr何冰_874
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有