更多课程 选择中心


Python培训

400-111-8989

深入浅出谈软件工程师如何成功转型python人工智能?

  • 发布:Python培训
  • 来源:机器学习算法与Python学习
  • 时间:2018-04-26 16:47

什么是人工智能?人工智能与python是什么关系?

我们会经常碰到转型这样的问题,通常是在瓶颈期寻求突破、单纯的不喜欢、没有前景等,对于一名软件工程师来说也是一样的,那么软件工程师如何才能成功转型python人工智能?我们今天就来看看。在正式开始之前我还想问下大家:什么是人工智能?python与人工智能的关系是什么?

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,最终实现对人的意识、思维的信息过程的模拟。需要注意的是人工智能不是人的智能,但能像人那样思考、也有可能超过人的智能。

人工智能与python之间的关系,Python是人工智能(AI)的主要开发语言,这主要基于python的六大优势:

1、Python的开发效率很高,拥有各种丰富的库,很多开发都是直接使用别人做好的轮子(库)就行,这就使得开发的周期极短,效率极高。

2、Python的语法简单、易学,而且世界范围内,Python正在成为中、小学编程入门教学的首选语言。在中国,Python即将列入高考,中国的中小学生已经在学Python了。

3、Python是跨平台的,在不同平台开发的Python程序,可以轻松移植到不同平台,移植性好。

4、Python可以和其他语言相互配合得很好,比如 C 语言,配合开发的真实程序跑起来非常快。

5、Python的包装能力、可组合性、可嵌入性都很好,可以把各种复杂性包装在Python模块里,暴露出漂亮的接口。很多时候,一个程序库本身是用C/C++写的,但你会发现,直接使用C或者C++去调用那个程序库,从环境配置到接口调用,都非常麻烦,反而隔着一层,用其Python包装库更加优雅,又快又漂亮,这些特点到了人工智能领域中,就成了Python的强大优势。

6、重要的是现在各大巨头公司都已经在使用Python来搞人工智能了,Google、Facebook、华为、阿里、百度、京东等公司都在人工智能领域有所作为了。

看完这些再来想软件工程师转型python人工智能,就很好理解了,但一位软件工程师要转行人工智能需要掌握这五项技能:

1—统计学

为了理解机器学习,坚实的统计学基础知识是必须的。这包括:

评估模型成功的不同方法(精确度、召回率(recall)、特征曲线下的面积等)。你选择的损失函数和评估指标如何测量你的模型输出的偏差。

如何理解过拟合(overfitting)和欠拟合(underfitting),以及偏差/变量权衡。

模型的结果与置信度之间有什么联系。

2—机器学习理论

当你在训练神经网络时,实际上发生了什么?是什么使这些任务可行而其它的不行呢?对待该问题的好方法是,在深入理解理论之前,首先通过图和实例理解机器学习。

需要理解的概念有不同的损失函数工作的方法,反向传播有用的原因,以及计算图究竟是什么。深入理解构建函数模型并且与团队其他成员有效地对其进行沟通非常关键。以下是一些资源,以高层概述开始,逐渐深入。

一些由浅入深的学习资源:

谷歌的深度学习课程是一个优秀的入门课程。

李飞飞的计算机视觉课程和 Richard Socher 的自然语言处理课程中包含更多专门的方法。

Goodfellow 的深度学习书特别好,对基础进行了全面概述。

另一个基础技能是有能力阅读、理解和实验研究论文。起初看上去这似乎是一个艰巨的任务,所以一个不错的方法是从一篇后面附有代码的论文开始,并深入理解其实现。

3—数据整理(Data Wrangling)

问任何一个数据科学家,他们会告诉你其 90% 的工作是数据再加工(data munging)。它对于应用人工智能的重要性就如同你的模型的成功与你的数据的质量(和数量)高度相关一般。数据在许多方面起作用,可分为以下几个类别:

数据获取(找到好的数据源,精确测定数据的质量和分类,获取并推理标签)

数据预处理(补全缺失值(missing data)、特征工程、数据增强、数据归一化、交叉检验拆分)

数据后处理(使模型的输出有用,去除人为数据,处理特殊情况和异常值)

熟悉数据整理的最好方法是掌握原始的数据集,并尝试使用它。网上有很多的数据集并且许多社交媒体和新闻媒体网站都有着很好的应用程序接口。遵循以下步骤是一个不错的学习方法:

掌握一个开源的数据集并对其进行检测。它有多大(观测值和特征值的数量)?数据是如何分布的?是否有缺失值或者不含异常值?

开始在原始数据和有用数据之间构建一条转换的通道。你是如何回填丢失值的呢?处理异常值最合适的方法是什么?你如何归一化数据?你可以创造更具表现力的特征吗?

检查你的转换数据集。如果一切看上去都不错,进行下一步吧!

4—调试/调节模型

对一些不收敛或者包含与调试代码非常不同的过程但是给出合理结果的机器学习算法进行调试。同样地,找到正确的架构和超参数需要坚实的理论基础,良好的基础建设工作可以测试不同的配置。

由于该领域在向前发展,调试模型的方法也在不断进化。以下是从我们的讨论和部署反映了 KISS 理论和软件工程师之间的熟悉度的模型的经验中得来的「合理性检查(sanity checks)」。

尽快从已被证明可以在类似数据集上工作的简单模型入手,掌握基线。古典统计学习模型(线性回归、最近邻等)或者简单的启发式方法或规则会让你明白 80% 的方法并且更快地进行实现。入门的时候,以最简单的方法去解决问题(查看谷歌机器学习规则的第一点)。

如果你决定训练一个更加复杂的模型以在基线上有所提升,不妨从数据集的一小部分入手,在分数据集上训练模型使其过拟合。这保证了你的模型最起码的学习能力。不断地在模型上迭代直到你可以过拟合 5% 的数据。

一旦你开始在更多的数据上训练,超参数就开始变得更重要了。理解这些参数背后的理论从而理解什么是要探索的合理值。

使用理论方法调节你的模型。写下你使用的最低限度的配置并总结其结果。理想情况下,使用自动超参数搜索策略。在最开始,随机搜寻可能就足够了。尽可能地去探索更多理论方法吧。

许多步骤都能被你的开发技能加速,这引出了最后一个技能。

5—软件工程

许多应用型机器学习允许你充分利用软件工程技巧,有时需要做些变换。这些技巧包括:

测试转换线路的不同方面(数据预处理和增强、输入和输出清除、模型推理时间)。

构建模块化的代码和可重复的实验加速方法。

在训练的不同阶段备份模型(检查点)。

建立一个分布式基础架构来运行训练、超参数搜索或者更有效地推理。

要掌握以上五点,那你从Python入手会不会容易很多呢?软件工程师想要成功转型python人工智能,深入了解python语言是必不可少的;零基础也想入门人工智能,那更是非python不可了。python学习,我推荐达内python培训机构,美国上市企业,每年10万人都选择的python培训机构,教学质量有保证!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:你还在Python培训的门外徘徊?图解Python岗位需求送给你!
下一篇:学编程,Python和Java这样选不纠结!

怎样选择Python培训机构,才能让我的未来充满阳光?

考一考:python大数据与机器学习Matplotlib练习题十道

在Python面试中如何展现你的代码能力?

Python计算机二级考试,你能考过吗?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省