《机器学习》实验教学大纲
发布时间: 2023-05-24 浏览次数: 10

南 京 中 医 药 大 学


《机器学习》实验教学大纲

 (适用于人计算机科学与技术、人工智能 专业)


课程名称机器学习            英文名称Machine learning

课程类别必修                 课程编码

课程学分03课程学时3272

开课单位人工智能与信息技术学院   实 验 室人工智能实验室

实验(实训)项目数8课程负责人龚庆悦       


  1. 课程简介

 机器学习是目前人工智能的核心领域,机器学习技术广泛应用于科学、工程、商业、产业、医学等诸多领域。“机器学习”是人工智能学科的一门专业必修课。主要讲述机器学习的基本概念和基本方法。通过本课程的学习,学生可以在理论上掌握机器学习理论的有关知识,在实践过程中能利用机器学习方法、技术并结合具体数据集进行学习模型的构建,并对输出的结果进行评估。通过该课程的学习使学生能独立完成机器学习模型构建来解决实际问题。通过启发式教学和大量实验的练习,引导学生完成不同类型具体任务的分析与建模工作,培养学生理论和实际相结合的运用能力。

二、教学目标与基本要求

 本课程的教学目标是使学生对机器学习有基本的认识,熟悉常见的机器学习方法,掌握机器学习的基本原理和方法,并形成利用机器学习技术解决问题的思维方式。具体的教学目标与基本要求是:

  1. 通过本课程的教学,使学生掌握数据清洗技能。

  2. 应使学生掌握构建机器学习模型的技能。

  3. 应使学生掌握评估模型性能的能力。

  4. 应使学生形成利用机器学习技术解决问题的思维方式



三、实验(实训)项目、内容与学时分配



实验项目


序号

实验项目名称

学时

内容提要

实验类型

基础性

综合设计性

创新性

1

线性回归、模型评估

3

[实验目的]

1.掌握线性回归的原理和应用方法。

[实验内容]

  1. 用线性回归找到最佳拟合直线。

  2. 局部加权线性回归

  3. 岭回归

  4. lasso回归

  5. 前向逐步回归

  6. 示例:预测鲍鱼年龄

[实验方法及原理]

  1. 收集数据

  2. 准备数据:回归需要数值型数据,标称型数据将被转成二值型数据。

  3. 分析数据:绘出数据的可视化二维图将有助于对数据做出理解和分析,在采用缩减法求得新回归系数之后, 可以将新拟合线绘在图上作为对比。

  4. 训练算法:找到回归系数。

  5. 测试算法:使用R2或者预测值和数据的拟合度,来分析模型的效果。

  6. 使用算法:使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升 ,因为这样可以预测连续型数据而不仅仅是离散的类别标签。



2

决策树

3

[实验目的]

1.掌握决策树原理与应用方法

[实验内容]

1.决策树的构造:选择划分属性,递归构建决策树。

2.Python中使用Matplotlib注解绘制树形图

3.测试和存储分类器

4.示例:使用决策树预测隐形眼镜类型

[实验方法及原理]

1.收集数据

2.准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。

3.分析数据:可以使用任何方法,构造树完成之后,应该检查图形是否符合预期。

4.训练算法:构造树的数据结构。

5.测试算法:使用经验树计算错误率。

6.使用算法:此步骤可以适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在含义。



3

神经网络

9

[实验目的]

1.掌握神经网络的原理与应用方法

[实验内容]

1.循环神经网络

2.传统序列建模

3.RNN

4.LSTM

5.Word2vec

6.词向量模型,

7.示例:情感分析

[实验方法及原理]

1.收集数据

2.准备数据

3.分析数据

4.训练算法:构造神经网络结构。

5.测试算法:评估神经网络模型。

6.使用算法:使用神经网络模型。



4

支持向量机

3

[实验目的]

1.掌握支持向量机的原理与应用方法

[实验内容]

1.基于最大间隔分隔数据

2.寻找最大间隔

3.SMO高效优化算法

4.在复杂数据上应用核函数

5.示例:手写识别

[实验方法及原理]

1.收集数据

2.准备数据:需要数值型数据。

3.分析数据:有助于可视化分隔超平面。

4.训练算法:该过程主要实现两个参数的调优。

5.测试算法

6.使用算法:几乎所有分类问题都可以使用SVMSVM本身是一个二类分类器,对多类问题应用SVM 需要对代码做一些修改。



5

贝叶斯分类

3

[实验目的]

1.掌握贝叶斯分类的原理与应用方法

[实验内容]

1.使用条件概率分类

2.使用朴素贝叶斯进行文档分类

3.从文本中构建词向量

4.从词向量计算概率

5.根据现实情况修改分类器

6.文档词袋模型

7.示例:使用朴素贝叶斯过滤垃圾邮件

[实验方法及原理]

1.收集数据

2.准备数据:需要数值型或者布尔型数据。

3.分析数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好。

4.训练算法:计算不同的独立特征的条件概率。

5.测试算法:计算错误率。

6.使用算法:一个常见的朴素贝叶斯应用是文档分类。可以在任意的分类场景中使用朴素贝叶斯分类器,不一定非要是文本。




6

集成学习

3

[实验目的]

1.掌握集成学习的原理与应用方法

[实验内容]

1.基于数据多重抽样的分类器:bagging,boosting

2.训练算法:基于错误提升分类器的性能

3.基于单层决策树构建弱分类器

4.AdaBoost算法的实现

5.非均衡分类问题

6.示例:在复杂数据集上应用AdaBoost

[实验方法及原理]

1.收集数据

2.准备数据:依赖于所使用的弱分类器类型,本章使用的是单层决策树,这种分类器可以处理任何数据类型。当然也可以使用任意分类器作为弱分类器,作为弱分类器,简单分类器的效果更好。

3.分析数据:可以使用任意方法。

4.训练算法:AdaBoost的大部分时间都用在训练上,分类器将多次在同一数据集上训练弱分类器。

5.测试算法:计算分类的错误率。

6.使用算法:同SVM— 样 ,AdaBoost预测两个类别中的一个。如果想把它应用到多个类别的场合,那么就要像多类SVM中的做法一样对AdaBoost进行修改。


7

聚类

3

[实验目的]

1.掌握聚类算法的原理与应用方法

[实验内容]

1.利用K-均值聚类算法对未标注数据分组

2.使用后处理提高聚类性能

3.二分K-均值算法

4.示例:对地图上的点进行聚类

[实验方法及原理]

1.收集数据

2.准备数据 :需要数值型数据来计算距离,也可以将标称型数据映射为二值型数据再用于距离计算。

3.分析数据

4.训练算法:不适用于无监督学习,即无监督学习没有训练过程。

5.测试算法:应用聚类算法、观察结果。可以使用量化的误差指标如误差平方和来评价算法的结果。

6.使用算法:可以用于所希望的任何应用。通常情况下,簇质心可以代表整个簇的数据来做出决策。



8

降维与度量学习,特征选择与稀疏学习

5

[实验目的]

1.掌握”K-近邻”算法的原理与应用方法

[实验内容]

1.导入数据

2.从文本文件中解析数据

3.测试分类器

4.示例1:使用K-近邻算法改进约会网站的配对效果

5.示例2:手写识别系统

[实验方法及原理]

1.收集数据:提供文本文件。

2.准备数据: 使用Python解析文本文件。

3.分析数据:使用Matplotlib画二维扩散图。

4.训练算法:此步驟不适用于卜近邻算法。

5.测试算法:使用部分数据作为测试样本。

测试样本和非测试样本的区别在于:测试样本是已经完成分类的数据,如果预测分类与实际类别不同,则标记为一个错误。

6.使用算法:产生简单的命令行程序,然后进行预测。




总计

32







四、教材及主要参考资料

1. 教材    

[1]理论教材:周志华.机器学习[M].北京:清华大学出版社,2016.

[2]实验教材:Peter HarringtonMachone learning in actionM] .Hanning

2. 参考资源

1)教学平台

http://e.njucm.edu.cn/meol/index.do

2)参考书目

T Mitchell.Machine Learning [M].New York:McGraw Hill,1997.

R Duda,P E Hart,and D G Stork. Pattern Classification [M ]. 2nd ed. New York:John Wiley & Sons,2001.

T Hastie,R Tibshirani,and J Friedman.The Elements of Statistical Learning[M].2nd ed. New York: Springer,2009