人工智能算法及实战+教学大纲Word文档格式.docx
《人工智能算法及实战+教学大纲Word文档格式.docx》由会员分享,可在线阅读,更多相关《人工智能算法及实战+教学大纲Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
深度学习
适用专业
数据科学与大数据技术、人工智能、模式识别与人工智能
二、课程性质、目的和任务
《人工智能算法及实战(Python+PyTorch)》是数据科学与大数据技术相关专业大学生本科及研究生选修的一门专业课程,通过本课程的学习,使学生能够系统性地掌握机器学、数据挖掘和部分深度学习的基本知识、原理和方法,让学生初步具备人工智能的一些常见算法应用,为从事人工智能巩固基础.目的是让学生深入了解、学习人工智能相关的算法的原理及实现过程.本课程重点让学生掌握常见算法的原理、代码实现,而非通过调包的形式来完成任务,重在算法背后的数学原理.
三、课程教学目标
(一)总体目标
掌握人工智能的常见算法及实现过程,巩固Python基础和学习PyTorch框架.通过本课程的学习,可以从事关于人工智能算法的工作、科研.
(二)具体目标
通过本课程的学习,学生应达到如下目标:
1.知识与技能
(1)了解并掌握Python安装、基础内容;
(2)了解人工智能常见的几种算法,例如kNN、k-means、PCA等等;
(3)使用PyTorch实现深度学习的一些经典算法.
2.过程与方法
通过对人工智能算法的学习与探索,学会使用人工智能算法解决实际工作中的各种相关问题.
四、课程内容与安排
第1章准备工作
(一)教学目的
通过本章的学习,了解Python3基础内容,以及Python常见的基础知识.
(二)教学要求
1.介绍Python2与Python3的区别;
2.掌握Python3在不同操作系统中的安装方式,介绍常用模块的功能和虚拟环境的搭建;
3.阐述Python基础知识,比如数据类型、数据结构、条件判断、循环等内容.
(三)教学内容
1.简要阐述Python的发展历程;
2.不同操作系统下的安装方式,主要阐述了3种操作系统:
Windows、MacOS和CentOS7;
3.阐述人工智能常见的一些模块,比如NumPy、SciPy、pandas、PyTorch、TensorFlow等;
4.学习关于Python的基础知识,比如数据类型、数据结构、条件判断、循环等内容;
5.搭建Jupyter开发环境,并简要阐述其使用方式.
(四)教学重点与难点
Python的数据结构
第2章科学计算库
能够学习并掌握常见的几个科学计算库,比如NumPy、Sympy、SciPy、pandas、Matplotlib等.
1.熟练掌握通过pip来管理、安装、卸载常见的模块,比如NumPy、Sympy、SciPy等;
2.了解数学符号运算的Sympy模块,重点介绍关于科学计算的SciPy模块,比如非线性方程组的求解、最小二乘法的实现以及样条插值等内容;
3.pandas是数据处理最常用的模块,简要介绍了部分内容.
1.掌握NumPy模块的基础内容,比如安装、升级等.熟练掌握数组的使用方法,数组运算,函数运算等.熟练利用NumPy模块实现各种文件、数据的读取或存储;
2.了解Sympy模块,掌握部分符合计算,比如积分、微分等内容;
3.介绍SciPy模块的功能,与NumPy的关系.掌握模块的基本功能,利用SciPy模块实现非线性方程组的解法、最小二乘和样条插值等内容;
4.介绍pandas模块的基本内容,利用pandas模块实现数据预处理、数据读取与存储等;
5.介绍关于Python的几种绘图模块,掌握Matplotlib模块的常见作图方法,比如2维和3维制图.
1.教学重点
掌握Numpy和Scipy模块的相关知识,并能用该模块实现相应的功能.
2.教学难点
利用pandas和Matplotlib处理数据,并实现数据可视化内容.
第3章科学计算库
学习基本的统计量,数据转换和常见距离等内容,并介绍数据类型.旨在让学生掌握人工智能算法的基础知识,为后续学习各种算法做铺垫.
1.掌握数据的分类,并熟练掌握基本统计量内容;
2.数据转换是数据预处理中常见的方法,熟练掌握中心化、min-max标准化、log函数转化等;
3.熟练掌握闵式距离和余弦值相似度的相关知识,并了解多维数据的一些基本内容.
1.介绍数据类型,比如分类数据和数值型数据;
2.了解并掌握基本统计量,比如各种平均数、最值、中位数、众数、极差、方差、变异系数、协方差和相关系数等.基本统计量包含其概念、应用场景、计算步骤等;
3.介绍数据转换相关的内容,比如数据去量纲问题、标准化处理以及数据分布的转化方法;
4.介绍并掌握几种常见距离的概念和计算方式,比如适用于数值型数据的闵式距离,分类数据的余弦值相似度问题;
5.介绍多维数据的概念,相关的知识内容,比如矩阵、特征值和特征向量、多重共线性问题等.
(四)教学难点与重点
1.教学难点
多维数据的介绍,特征值和特征向量的计算方式.
2.教学重点
基本统计量、数据转换和常见距离等内容.
第4章经典算法
本章是书籍的核心部分之一,介绍了12种常见的算法.通过本章的学习,可以基本掌握人工智能算法的部分内容,并能结合Python解决实际问题.
1.掌握12种常见的人工智能算法的概念、原理、计算步骤;
2.不局限于使用NumPy实现各种算法,并与调包的方式进行对比.
1.介绍线性回归的概念、线性回归的计算步骤,并以实例的方式实现该算法的内容;
2.介绍并掌握Logistic回归的概念、原理、计算步骤,并通过Python结合NumPy和Sklearn模块实现其实例;
3.介绍无监督学习的一种经典算法--主成分分析,重点阐述算法思想、算法步骤以及实例实现;
4.介绍线性判别分析的算法思想、算法步骤,并通过基本模块实现该算法的实例;
5.介绍决策树的算法思想、算法步骤,掌握3种经典的决策树算法,并给出相关的基本内容,最终结合实例,给出其算法的实现过程;
6.介绍随机森林的算法思想、算法步骤,比利用模块实现其实例;
7.介绍3种集成学习方法,分别为Bagging、Boosting和Stacking;
8.介绍朴素贝叶斯算法的概念、原理、计算步骤,并给出了实例操作;
9.介绍k最近邻算法的算法思想、计算步骤,并利用pandas完成该算法的实现,且给出一个实例通过2种方式实现其算法;
10.介绍另一个无监督学习算法—k-means聚类,重点介绍算法思想、算法步骤,且通过一个实例给出其算法实现;
11.介绍一种经典的推荐算法,即协同过滤算法.依据不同的分析角度,给出基于用户的协同过滤算法和基于内容的协同过滤算法,并利用一个实例来阐述算法的实现过程;
12.介绍SVD算法的思想原理、计算步骤,并给出2个实例深入介绍其算法的功能.
各种算法的思想原理、实现方法.
利用Python实现各个算法
第5章深度学习
使用PyTorch框架学习深度学习的基本内容,并给出几种经典的神经网络算法.
掌握并熟练应用PyTorch模块,学会使用GPU加速.通过PyTorch模块完成神经网络的搭建.
1.介绍几种常见的深度学习框架的优缺点,PyTorch的安装;
2.使用PyTorch构建张量,并掌握基本运算方法,重点掌握PyTorch的矩阵运算;
3.介绍并掌握蒙特卡洛法、梯度下降法的原理和实现;
4.利用PyTorch封装实现回归问题,并介绍相关的激活函数和Softmax方法;
5.介绍前馈神经网络的思想原理、实现过程,并实现手写体识别实例;
6.介绍几种卷积神经网络,比如LeNet、AlexNet、ResNet和GoogLeNet神经网络,并通过神经网络实现垃圾分类实例;
7.介绍生成对抗神经网络的思想原理,且给出一个对抗网络实例;
8.介绍节了2种其他神经网络:
循环神经网络和风格迁移神经网络.
1.教学难点
各种神经网络算法的思想、原理和实现过程.
2.教学重点
PyTorch的基本知识和几种神经网络算法.
五、课程教学进程表
课程教学进程表
授课周
时
数
教学内容
教学活动要求
作业要求
课堂要求
其他要求
1
4
1.简要介绍Python的发展历程(py2,py3),Python语言备受热宠的原因,以及Python广泛的应用场景.
2.不同操作系统下安装不同的Python版本.Anaconda,Spyder,源安装.
3.通过pip(conda)管理模块.
4.语法特点:
注释方法,缩进方式,模块等.
5.进行简单编程,熟练掌握常见的运算符;
6.通过pip安装jupyter(lab),Ipython,virtualenv等模块.
7.在Ipython环境下进行交互编程.
8.创建虚拟环境,用notebook来实现编程.
熟练掌握不同windows系统和Linux系统下的软件安装方法.
熟练掌握pip管理模块,jupyter的编程环境.
学会在各种操作环境下完成软件的安装.
2
1.温故pip安装模块的2种方式.
2.认识python的内置函数,sum,max,count,format等.
3.介绍常见的几种数据类型与编程操作.
4.学习字符串,布尔类型;
5.字符串的常见函数,索引,切片,替换,大小写转换等.布尔类型的相关运算符操作.
掌握字符串和布尔型的数据类型.
必须掌握
3
1.学习整数型,浮点型以及复数数据类型;
2.整数型,浮点型的四则运算,转化.
3.复数的编写方式和常规计算.
4.温故5种数据类型及各自的运算特点.
5.2个条件判断:
if,while
6.ifelse3元函数的用法;
7.对比if与while的应用场景的差异;
8.for循环的用法.
重点掌握整数型,浮点型和复数.
必须掌握2个判断1个循环
必须熟练掌握
1.温故数据类型.
2.认识数据结构,列表,元组,集合和字典.
3.掌握列表和元组的常规函数,比如相互转换,切片,索引,替换,求和,最值等.区别列表与元组的差异.
4.字符串转列表,列表内循环,等.
5.温故列表和元组的相关知识;
6.掌握集合,字典的相关原理和编程操作.
7.不同数据结构之间的转变;
8.字典的加法与排序(高级用法);
9.温故数据结构;
10.学习并掌握一些强大的内置函数,如map,reduce,filter,zip等.
11.withas,tryexcept用法;
12.常用模块re,sys等.
熟练掌握数据类型.
熟练掌握Python的内置函数及部分模块.
5
1.学习函数的定义,规范性;
2.定义函数的位置参数,默认参数,可变参数以及关键字参数.
3.定义函数的调用;
4.掌握2种定义方法;
5.温故函数的定义内容;
6.学习类的定义方法,规范性;
7.类的继承,类的导入等.
8.2种类的定义方法.
熟练掌握常规的函数定义方法.
掌握类的定义,继承和导入.
掌握
6
1.温故类的相关内容;
2.学习NumPy的相关内容;
学会数组,矩阵;
3.线性代数,矩阵,行列式等操作;
4.利用Sympy模块实现符号计算;
5.NumPy读取与存储,数组元素的切片,索引与合并等;
6.了解Scipy模块的相关功能与NumPy的区别;
7.安装Matplotlib,Pylab模块;
8.掌握常见绘图函数的使用方法;
9.会2维和3维绘图;
10.学习功能强大的pandas模块;
11.掌握不同格式文件的读取和存储,异常数据的处理,描述性统计;
12.熟练掌握iloc,loc,query,concat,merge,join等命令;
13.掌握map,apply的用法,熟练运用透视表和交叉表等;
14.pandas模块链接MySQL数据库,实现数据的抽取,处理和存储.
熟练掌握NumPy,为后学数据挖掘,深度学习打基础;
熟练掌握NumPy元素操作;
掌握常见的Matplotlib绘图命令.
熟练掌握pandas的相关内容;
熟练掌握Scipy模块和Numpy模块.
7
1.介绍数据类型;
2.常见的几种基本统计量;
3.数据转化和常见距离;
4.简要介绍多维数据;
5.学习并掌握利用Python以及相关模块实现基本统计量、数据转换和常见距离算法等.
了解神经网络,为后期深度学习做铺垫;
8
1.介绍并实现线性回归算法;
2.Logistic回归;
3.主成分分析方法的实现.
掌握回归的算法
9
1.线性判别分析的原理、步骤,通过实例实现;
2.决策树算法;
3.随机森林算法;
4.集成学习算法,主要介绍三种方法:
Bagging、Boosting、Stacking.
10
1.朴素贝叶斯的原理、步骤以及实例实现;
2.k最近邻算法;
3.k-means聚类.
11
1.推荐算法;
2.SVD算法.
12
1.PyTorch的安装、学习张量Tensor,以及基本运算和矩阵运算;
2.深度学习的基础知识,蒙特卡洛方法、梯度下降法、算法封装实现和Softmax等.
重点学习基本内容.
13
1.前馈神经网络的基本知识、思想原理,并通过手写体识别器实例;
2.介绍卷积神经网络的基础知识,比如核函数、池化层.
14
1.介绍LeNet算法;
2.介绍AlexNet算法;
3.介绍ResNet算法;
4.GoogLeNet算法;
5.利用垃圾分类实例.
15
1.生成对抗网络的原理、思想原理;
2.通过对抗网络实例来实现其算法.
16
1.循环神经网络;
2.风格迁移神经网络.
六、教学手段与方法
(一)教学手段
本课程主要采用多谋体、课件演示、实验实训等教学手段进行教学.
(二)教学方法
本课程采用问题驱动的方式来进行教学,并结合案例教学、讲授与讨论相结合等教学方法.
七、考核方式、考核内容及成绩评定
(一)考核评价方式
1.阶段性考核评价方式;
2.结果性考核评价方式.
(二)考核内容
以项目的方式进行考核所学知识.
(三)成绩评定
期末总成绩=平时成绩(占总评成绩的50%)+项目成绩(占总评成绩的50%).