人工智能常用的29种算法_人工智能算法 | 教学大纲
人工智能算法及实战(Python+PyTorch)课程教学大纲一、课程说明课程名称人工智能算法及实战(Python+PyTorch)课程代码课程类型选修课程性质专业课程课程学分3课程学时理论 30 学时, 实验 24 学时开课学期第 5 学期所属专业数据科学、数据分析或人工智能先修课程Python 3基础; 线性代数; 数学分析; 数理统计; 机器学习原理后续课程专业实习;...

人工智能算法及实战
(Python+PyTorch)
课程教学大纲
一、 课程说明
|
课程名称 |
人工智能算法及实战(Python+PyTorch) |
||
|
课程代码 |
课程类型 |
选修 |
|
|
课程性质 |
专业课程 |
课程学分 |
3 |
|
课程学时 |
理论 30 学时, 实验 24 学时 |
开课学期 |
第 5 学期 |
|
所属专业 |
数据科学、数据分析或人工智能 |
||
|
先修课程 |
Python 3 基础; 线性代数; 数学分析; 数理统计; 机器学习原理 |
||
|
后续课程 |
专业实习; MySQL数据库; 深度学习 |
||
|
适用专业 |
数据科学与大数据技术、人工智能、模式识别与人工智能 |
||
二、 课程性质、目的和任务
《人工智能算法及实战(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 个实例深入介绍其算法的功能.(四)教学难点与重点1. 教学难点各种算法的思想原理、实现方法.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 |
4 |
1. 温故 pip 安装模块的 2 种方式. 2. 认识 python 的内置函数, sum, max, count, format等. 3. 介绍常见的几种数据类型与编程操作. 4. 学习字符串, 布尔类型; 5. 字符串的常见函数, 索引, 切片, 替换, 大小写转换等. 布尔类型的相关运算符操作. |
掌握字符串和布尔型的数据类型. |
必须掌握 |
|
|
3 |
4 |
1. 学习整数型, 浮点型以及复数数据类型; 2. 整数型, 浮点型的四则运算, 转化. 3. 复数的编写方式和常规计算. 4. 温故 5 种数据类型及各自的运算特点. 5. 2 个条件判断:if, while 6. if else 3 元函数的用法; 7. 对比 if 与 while 的应用场景的差异; 8. for 循环的用法. |
重点掌握整数型, 浮点型和复数. 必须掌握2 个判断1 个循环 |
必须熟练掌握 |
|
|
4 |
4 |
1. 温故数据类型. 2. 认识数据结构, 列表, 元组, 集合和字典. 3. 掌握列表和元组的常规函数, 比如相互转换, 切片, 索引, 替换, 求和, 最值等. 区别列表与元组的差异. 4. 字符串转列表, 列表内循环, 等. 5. 温故列表和元组的相关知识; 6. 掌握集合, 字典的相关原理和编程操作. 7. 不同数据结构之间的转变; 8. 字典的加法与排序(高级用法); 9. 温故数据结构; 10.学习并掌握一些强大的内置函数, 如 map, reduce, filter, zip 等. 11.with as ,try except 用法; 12.常用模块 re, sys 等. |
熟练掌握数据类型. 熟练掌握数据类型. 熟练掌握Python 的内置函数及部分模块. |
必须熟练掌握 |
|
|
5 |
4 |
1. 学习函数的定义,规范性; 2. 定义函数的位置参数, 默认参数, 可变参数以及关键字参数. 3. 定义函数的调用; 4. 掌握 2 种定义方法; 5. 温故函数的定义内容; 6. 学习类的定义方法, 规范性; 7. 类的继承, 类的导入等. 8. 2 种类的定义方法. |
熟练掌握常规的函数定义方法. 掌握类的定义, 继承和导入. |
掌握 |
|
|
6 |
4 |
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 |
4 |
1. 介绍数据类型; 2. 常见的几种基本统计量; 3. 数据转化和常见距离; 4. 简要介绍多维数据; 5. 学习并掌握利用Python以及相关模块实现基本统计量、数据转换和常见距离算法等. |
了解神经网络, 为后期深度学习做铺垫; |
||
|
8 |
4 |
1. 介绍并实现线性回归算法; 2. Logistic回归; 3. 主成分分析方法的实现. |
掌握回归的算法 |
||
|
9 |
4 |
1. 线性判别分析的原理、步骤, 通过实例实现; 2. 决策树算法; 3. 随机森林算法; 4. 集成学习算法, 主要介绍三种方法: Bagging、Boosting、Stacking. |
|||
|
10 |
4 |
1. 朴素贝叶斯的原理、步骤以及实例实现; 2. k 最近邻算法; 3. k-means 聚类. |
|||
|
11 |
4 |
1. 推荐算法; 2. SVD 算法. |
|||
|
12 |
4 |
1. PyTorch 的安装、学习张量 Tensor, 以及基本运算和矩阵运算; 2. 深度学习的基础知识, 蒙特卡洛方法、梯度下降法、算法封装实现和 Softmax 等. |
重点学习基本内容. |
||
|
13 |
4 |
1. 前馈神经网络的基本知识、思想原理, 并通过手写体识别器实例; 2. 介绍卷积神经网络的基础知识, 比如核函数、池化层. |
|||
|
14 |
4 |
1. 介绍 LeNet 算法; 2. 介绍 AlexNet 算法; 3. 介绍 ResNet 算法; 4. GoogLeNet 算法; 5. 利用垃圾分类实例. |
|||
|
15 |
4 |
1. 生成对抗网络的原理、思想原理; 2. 通过对抗网络实例来实现其算法. |
|||
|
16 |
4 |
1. 循环神经网络; 2. 风格迁移神经网络. |
|||
六、 教学手段与方法(一)教学手段本课程主要采用多谋体、课件演示、实验实训等教学手段进行教学.(二)教学方法本课程采用问题驱动的方式来进行教学, 并结合案例教学、讲授与讨论相结合等教学方法.
七、 考核方式、考核内容及成绩评定(一)考核评价方式1. 阶段性考核评价方式;2. 结果性考核评价方式.(二)考核内容以项目的方式进行考核所学知识.(三)成绩评定期末总成绩=平时成绩(占总评成绩的 50%) + 项目成绩(占总评成绩的50%)

本书基础理论和算法实现相结合,循序渐进地介绍关于人工智能领域中的常见算法,全面、系统地介绍了使用Python实现人工智能算法,并通过PyTorch框架实现人工智能算法中的深度学习内容。全书共5章,分别介绍Python的安装和基础知识、科学计算库、描述性分析、经典算法和深度学习等知识,书中的每个知识点都有相应的实现代码和实例。
本书主要面向广大从事数据分析、机器学习、数据挖掘或深度学习的专业人员,从事高等教育的专任教师,高等院校的在读学生及相关领域的广大科研人员。
主要内容本书可视为一本以问题为导向的书籍,非常适合具备一定数学基础和 Python3基础的读者学习。读者可以在短时间内学习本书中介绍的所有算法。
作为一本关于人工智能算法的书籍,本书共有5章。
第1章主要阐述Python3的基础内容,主要介绍关于Python的发展历程、不同操作系统下的安装、人工智能常用的模块以及虚拟环境搭建;着重介绍Python3的数据类型、数据结构、条件判断、循环语法以及其他基础内容;最后介绍Jupyter系列的安装和使用方法。
第2章针对书中涉及的常用模块进行扼要阐述和实例操作,主要有关于数值计算的NumPy模块、数学符号运算的Sympy模块,着重介绍关于科学计算的SciPy模块,比如非线性方程组的求解、最小二乘法的实现以及样条插值等内容。人工智能离不开数据,而pandas是数据处理最常用的模块,简要介绍了关于pandas的一些内容。最后介绍数据可视化常用的Matplotlib模块。
第3章主要介绍描述性分析的相关内容,包括数据的定义和分类、基本统计量、数据转换、常见距离以及多维数据;着重介绍几种常见的基本统计量,比如变异系数、协方差以及相关系数等,数据转换主要介绍关于数据的标准化方法。
第4章主要介绍关于人工智能的常见算法,共涉及12种经典算法。算法涉及监督学习和无监督学习。监督学习包括回归分析、判别分析、决策树、随机森林以及推荐算法等;无监督学习包括主成分分析等。本章的所有算法都有详细的算法原理、代码实现以及案例实现。
第5章介绍深度学习的有关内容,详细介绍了PyTorch的安装和基础知识,着重介绍关于深度学习的基础知识点,比如梯度下降法,激活函数,卷积神经网络中的卷积、池化等概念。另外,本文结合案例实现前馈神经网络、卷积神经网络、生成对抗网络以及其他神经网络等。
本书特色(1)以问题为导向,对基础理论知识点与算法演练进行详细讲解。
(2)实战案例丰富,涵盖20 个知识点案例、12 个完整项目案例。
(3)代码详尽,避免对 API 的形式展示,规避重复代码。
(4)语言简明易懂,由浅入深带你学会 Python 以及人工智能常见算法。
(5)各个算法相对独立,数学原理相对容易理解。
配套资源
为便于教学,本书配有微课视频、源代码、数据集 、教学课件、教学大纲、安装程序。
编辑推荐基础与实战案例相结合,代码详尽、语言简明易懂,由浅入深带你学会Python机器学习与数据挖掘
读者对象本书主要面向广大从事数据分析、机器学习、数据挖掘或深度学习的专业人员,从事高等教育的专任教师,高等院校的在读学生及相关领域的广大科研人员。
本书作者 于祥雨 硕士研究生,数据分析师,主要研究方向为数据分析、深度学习和智能教育,长期从事数据分析、机器学习、数据挖掘和人工智能等方面的工作,曾参与多项国家自然基金项目。
李旭静 博士,杭州师范大学讲师,主要从事微分方程数值解、算法研究和大数据分析等方面的研究,曾主持1项国家自然科学基金项目,参与多项国家自然科学基金项目。
邵新平 博士,杭州电子科技大学副教授、硕士研究生导师,主要研究领域为高性能科学计算、有限元算法、数据挖掘以及大数据分析等,已在 SCI 期刊发表论文十余篇,曾主持两项国家自然科学基金项目,参与多项国家自然基金项目和浙江省自然科学基金项目。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)