
有不少同学学习 Python 的原因是对人工智能感兴趣,有志于从事相关行业。今天我们来聊聊这个方向所需要的一些技能。
这里我们主要谈论的是编程技能。
如果你打算采用 Python 作为主要开发语言(这也是目前人工智能领域的主流),那么Python 的开发基础是必须得掌握的,这是一切基于 Python 开发的根基。你得对 Python 的基本语法、数据类型、常见模块有所了解,能正确使用条件、循环等逻辑,掌握 list、dict 等数据结构及其常用操作,了解函数、模块、面向对象的概念和使用等等。
在对此已经熟练之后,你需要学习数据处理相关的 Python 工具库:
NumPy
NumPy 提供了许多数学计算的数据结构和方法,较 Python 自身的 list 效率高很多。它提供的 ndarray 大大简化了矩阵运算。
Pandas
基于 NumPy 实现的数据处理工具。提供了大量数据统计、分析方面的模型和方法。一维的 Series,二维的 DataFrame 和三维的 Panel 是其主要的数据结构。
如果你在学习Python的过程当中有遇见任何问题,可以加入我的python交流学习qq群:250933691,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。学习python有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我
SciPy
进行科学计算的 Python 工具包,提供了诸如微积分、线性代数、信号处理、傅里叶变换、曲线拟合等众多方法。
Matplotlib
Python 最基础的绘图工具。功能丰富,定制性强,几乎可满足日常各类绘图需求,但配置较复杂。
只要你用 Python 和数据打交道,就绕不开以上这几个库,所以务必学习一下。
而在此之后,你就需要根据自己的具体方向,选择更专业的工具包进行研究和应用。Python 在人工智能方面最有名的工具库主要有:
Scikit-Learn
scikit-learn.org
Scikit-Learn 是用 Python 开发的机器学习库,其中包含大量机器学习算法、数据集,是数据挖掘方便的工具。它基于 NumPy、SciPy 和 Matplotlib,可直接通过 pip 安装。
TensorFlow
tensorflow.org
TensorFlow 最初由 Google 开发,用于机器学习的研究。TensorFlow 可以在 GPU 或 CPU 上运行,在深度学习领域表现优异。目前无论是在学术研究还是工程应用中都被广泛使用。但 TensorFlow 相对来说更底层,更多时候我们会使用基于它开发的其他框架。
Theano
deeplearning.net/software/theano/
Theano 是成熟而稳定的深度学习库。与 TensorFlow 类似,它是一个比较底层的库,适合数值计算优化,支持 GPU 编程。有很多基于 Theano 的库都在利用其数据结构,但对于开发来说,它的接口并不是很友好。
Keras
keras.io
Keras 是一个高度模块化的神经网络库,用 Python 编写,能够在 TensorFlow 或 Theano 上运行。它的接口非常简单易用,大大提升了开发效率。
Caffe
caffe.berkeleyvision.org
Caffe 在深度学习领域名气很大。它由伯克利视觉和学习中心(BVLC)和社区贡献者开发,具有模块化、高性能的优点,尤其在计算机视觉领域有极大的优势。Caffe 本身并不是一个 Python 库,但它提供了 Python 的接口。
PyTorch
pytorch.org
Torch 也是一个老牌机器学习库。Facebook 人工智能研究所用的框架是 Torch,DeepMind 在被谷歌收购之前用的也是 Torch(后转为 TensorFlow),足见其能力。但因 Lua 语言导致其不够大众。直到它的 Python 实现版本 PyTorch 的出现。
MXNet
mxnet.incubator.apache.org
亚马逊 AWS 的默认深度学习引擎,分布式计算是它的特色之一,支持多个 CPU/GPU 训练网络。
借助这些强大的工具,你已经可以使用各种经典的模型,对数据集进行训练和预测。但想成为一名合格的人工智能开发者,仅仅会调用工具的 API 和调参数是远远不够的。
Python 是人工智能开发的重要工具,编程是此方向的必备技能。但并不是掌握 Python 就掌握了人工智能。人工智能的核心就是机器学习(Machine Learning)和深度学习。而它们的基础是数学(高等数学/线性代数/概率论等),编程是实现手段。
所以你想要进入这个领域,需要至少经过以下五个阶段的学习。
第一阶段:数学
高等数学/线性代数/概率论
第二阶段:编程
python语言基础/python工具库实战
第三阶段:机器学习
机器学习入门/机器学习提升
第四阶段:数据挖掘实战
数据挖掘入门/数据分析实战
第五阶段:深度学习
深度学习网络与框架/深度学习项目实战
几百个课时的学习是基本,但若想真正学明白,至少需要一些时间,当然根据每个人基础不同会有所差异,也不能排除你很短时间就能搞定。
如果你在学习Python的过程当中有遇见任何问题,可以加入我的python交流学习qq群:250933691,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。学习python有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我
网友评论