人工智能算法(Python语言版) | 教学大纲
课程目标2:能够正确掌握求解实际人工智能相关领域中工程问题的经典计算机算法的原理和步骤,理解其基本思想、适用情形和基本步骤;能够正确使用伪码设计经典的计算机算法、并分析其复杂度;能够正确编写程序实现所设计的经典计算机算法,进而正确求解实际工程问题。
课程目标3:能能够正确掌握求解分类、聚类、异常检测、频繁模式挖掘、链接分析、概率推理等问题的经典数据挖掘算法的原理、思想和步骤;能够理解数据驱动的理念,正确描述数据挖掘的工程问题;能够正确使用伪码设计经典的数据挖掘算法、并分析其复杂度;能够正确编写程序实现所设计的数据挖掘算法,进而正确求解实际中工程问题。
课程目标4:能够正确掌握求解异常检测、数据降维、目标检测、问答系统和图分析等问题的经典深度学习算法的原理和步骤;能够理解深度神经网络的基本框架和深度学习算法的基本思想和理念,正确描述上述智能分析的工程问题;能够正确使用伪码设计经典的深度学习算法、并分析其复杂度;能够正确编写程序实现所设计的深度学习算法,进而正确求解实际中工程问题。
2
教学内容及进度安排
3
课程考核
4
教材及参考资料
[1]胡矿,岳昆,段亮,武浩.人工智能算法(Python语言版)[M].北京:清华大学出版社,2022.
[2]LevitinA..算法设计与分析基础(第三版)[M].潘彦,译.北京:清华大学出版社,2015.
[3]BlumA,HopcroftJ,KannanR.Foundationsofdatascience[M].CambridgeUniversityPress,2020.
[4]岳昆.数据工程:处理、分析与服务[M].北京:清华大学出版社,2013.
[5]王晓东.算法设计与分析[M].北京:清华大学出版社,2014.
[6]HANJ,KAMBERM,PEIJ.数据挖掘:概念与技术(第3版)[M].范明,孟小峰,译.[M].北京:机械工业出版社,2012.
[7]GoodfellowI,BengioY,CourvilleA.赵申剑,黎彧君,符天凡,等译.深度学习[M].北京:人民邮电出版社,2017.
5
附录1:各类考核评分标准表
✦
参考教材
✦
《人工智能算法(Python语言版)》
作者:胡矿,岳昆,段亮,武浩编著
定价:59.8元
↑↑↑扫码天猫优惠购书↑↑↑
在公众号书圈后台回复【9787302608301】,下载本书配套的教学资源返回搜狐,查看更多
解析:为什么人工智能要用Python
Python作为一门编程语言,其魅力和影响力已经远超C#、C++等编程语言前辈,被程序员誉为“最美丽的”编程语言。从云端、客户端,到物联网终端,在到现在人工智能,Python应用无处不在。那么,问题来了,为什么人工智能要用Python?现在学Python还好吗?小千总结了以下三个原因。
1、Python是解释语言,程序写起来非常方便写程序方便对做机器学习的人很重要。因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,Python里通常可以用很少的时间实现。举例来说,在C等编译语言里写一个矩阵乘法,需要自己分配操作数(矩阵)的内存、分配结果的内存、手动对BLAS接口调用gemm、最后如果没用smartpointer还得手动回收内存空间。Python几乎就是importnumpy;numpy.dot两句话的事。
当然现在很多面向C/C++库已经支持托管的内存管理了,这也让开发过程容易了很多,但解释语言仍然有天生的优势——不需要编译时间。这对机器学习这种需要大量prototyping和迭代的研究方向是非常有益工作效率的。
2、Python的开发生态成熟,有很多库可以用Python灵活的语法还使得包括文本操作、list/dictcomprehension等非常实用的功能非常容易高效实现(bbs.cnitedu.cn),配合lambda等使用更是方便。这也是Python良性生态背后的一大原因。
相比而言,Lua虽然也是解释语言,甚至有LuaJIT这种神器加持,但其本身很难做到Python这样,一是因为有Python这个前辈占领着市场份额,另一个也因为它本身种种反常识的设计(比如全局变量)。不过借着Lua-Pythonbridge和Torch的东风,Lua似乎也在寄生兴起。
3、Python效率超高解释语言的发展已经大大超过许多人的想象。很多比如listcomprehension的语法糖都是贴近内核实现的。除了JIT之外,还有Cython可以大幅增加运行效率。最后,得益于Python对C的接口,很多像gnumpy,theano这样高效、Python接口友好的库可以加速程序的运行,在强大团队的支撑下,这些库的效率可能比一个不熟练的程序员用C写一个月调优的效率还要高。
未来十年Python语言的发展前景形势一片大好,毫无疑问使用Python语言的企业将会越来越多。Python程序猿的人才缺口也将越来越大,认准时机,把握机遇,Python全栈开发工程师、Python开发工程师、自动化开发工程师、Linux运维工程师、Python爬虫开发工程师、前端开发工程师、大数据分析和数据挖掘等热门职位等你来选。
希望以上的分享能帮到大家!想了解更多Python技术知识,可以关注小千,后期会继续分享Python知识的!
本文来自千锋教育,转载请注明出处。
为什么说 Python 是人工智能最佳开发语言
由于所有用户都可以使用大量的预构建库,因此Python非常适合人工智能开发中的应用。下文,我们将仔细研究Python的历史以及在AI中的作用。
什么是Python?根据Python软件基金会的说法,“Python是一种带有动态语义的解释型,面向对象的高级编程语言。”“它的高级内置数据结构,结合动态类型和动态绑定,使其对快速应用程序开发非常有吸引力,并且可以用作脚本或粘合语言将现有组件连接在一起。”因此,编程语言的流行度正在上升,节省了AI开发人员的时间。
Python的历史Python由荷兰程序员GuidoVanRossum创建。虽然编码语言最早是在20世纪80年代发明的,但直到11年后才在1991年发布。2000年10月16日,发布了一个新版本的编码语言:Python2.0,其中包含许多新功能,包括’循环检测垃圾收集器’。从那时起,我们已经看到了其他几个新版本,并且连续16年,Python已经在TIOBE编程社区索引中排名前10位最受欢迎的编程语言。它还赢得了2007年,2010年和2018年的年度最佳编程语言。
为什么AI选择Python选择Python作为基于AI的项目有几个原因,从使用较少的代码到预构建的库。这就是为什么Python是AI和机器学习的最佳语言:
少代码选择Python进行AI开发项目的一个主要优点是可以使用的代码更少。为了更好地理解这一点,与其他编程语言(如Java,Ruby和Simula)(第一种面向对象的编程语言)相比,Python可以使用通常所需的总代码量的五分之一来实现相同的逻辑。虽然人工智能涉及多种算法,但Python提供的测试简易性使其成为竞争对手中最有效的编程语言之一。Python使得执行所需代码变得更加容易,因此完成一项工作所需的时间更少。
灵活性由于Python是一种动态类型语言,因此非常灵活。简而言之,这意味着没有“硬性规则”概述如何构建功能。Python在解决问题方面也提供了更大的灵活性,这对于初学者和经验丰富的Web开发人员来说都很有用。
声望除了最适合Web开发中的人工智能之外,由于语法比其他编程语言(如Java)更短,因此该语言易于学习。因此,Python在全球范围内越来越受欢迎,从小型企业到负责客户网站的营销机构。它也很容易安装,并且根据Python软件基金会的说法,“现在很多Linux和UNIX发行版都包含最新的Python”,这使得它更容易上手。
预建库无论您是经验丰富的AI开发人员还是被要求领导您的企业下一个开发项目,您都可以从Python的预构建库中受益。一些可以帮助您实现AI的库包括:NumPy-除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。Tensorflow-TensorFlow是一个用于高性能数值计算的开源软件库。其灵活的架构允许在各种平台(CPU,GPU,TPU),桌面,服务器集群,移动和边缘设备上轻松部署计算。ELI5-ELI5是一个Python包,它有助于调试机器学习分类器并解释它们的预测。Pandas-Pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,旨在使结构化(表格式,多维,可能异构)和时间序列数据的使用既简单又直观。Theano-Theano是一个Python库,允许您定义,优化和有效地评估涉及多维数组的数学表达式。其他库如Norvig可用于实现人工智能算法,有助于节省宝贵的时间。
支持作为一种开源编程语言,python在AI开发人员和希望了解更多语言的人员中很受欢迎。因此,有几种资源可以帮助解决问题-而且速度很快。虽然人工智能正变得越来越流行且越来越复杂,但Python正在使基于人工智能的项目更容易完成。由于要编写较短的代码和许多预先构建的库,用户不再需要花费宝贵的时间来开发自己的脚本。
我们该如何使用Python?我们在整个项目中使用Python,包括自动化数据挖掘过程。简而言之,这使我们可以轻松突出用户行为并为重复性任务创建更短的代码,这意味着不需要手动创建这些代码。通过使用Python,我们还能够有效地监控我们的活动。Python允许我们以多种方式监控广告,包括他们产生的点击次数和转化次数。我们还可以确定这些活动的有效性,这使我们能够确保我们的每项战略都能提供所需的结果。此外,Python还可以帮助改进搜索引擎优化。简单的编码语言使我们能够识别与SEO相关的几个因素,例如元描述,机器人文本文件,重复内容和404错误。有了这些信息,我们可以轻松解决网站上发现的任何问题,而无需手动查找。