




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章机器学习概述机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,使之不断改善自身的性能。机器学习发展极迅速,目前已经成为一个广袤的学科。1.1人工智能与机器学习
人工智能(artificialintelligence,AI)泛指让机器具有人的智力的技术。人工智能是一个宽泛的技术领域,包括自然语言理解、计算机视觉、机器人、逻辑和规划等,它可以被看作计算机专业的子领域。1.2机器学习的概念
机器学习的一个主要目的就是把人类思考和归纳经验的过程转化为计算机对数据的处理,计算得出模型的过程。经过计算得出的模型能够以近似于人的方式解决更为复杂的问题。简单地理解,机器学习就是指计算机通过观察环境,与环境交互,在吸取信息中学习、自我更新和进步。机器学习算法是一种能够从数据中学习的算法。关于其中“学习”的定义,参照TomMitchell在1997年出版的MachineLearning一书中提供的定义:“对于某类任务T和性能度量P,一个计算机程序被认为可以从经验E中学习是指,通过经验E改进后,它在任务T上由性能度量P衡量的性能有所提升。”1.2.1机器学习的定义
20世纪初至60年代初期的萌芽期20世纪60年代至80年代的摸索期20世纪90年代到目前的崛起期1.2.2机器学习的发展从学习方式上(1)监督学习(SupervisedLearning)(2)无监督学习(UnsuperisedLearning)(3)半监督学习(Semi-supervisedLearning)(4)强化学习(ReinforcementLearning)1.2.3机器学习的分类从算法功能上(1)分类(Classification)(2)回归(Regression)(3)聚类(Cluster)(4)降维(Dimensionalityreduction)1.2.3机器学习的分类1.3机器学习工具Python语言第三方工具库编译环境库的下载与安装1.3.1Python语言Python是一种开源的、解释型、面向对象的编程语言。Python的特点如下:简单易学解释型语言面向对象免费和开源跨平台和可移植性丰富的标准库可扩展性和可嵌入性1.3.2第三方工具库Python语言除了自身具备的优点外,还具有大量优秀的第三方函数模块,对学科交叉应用非常有帮助。(1)操作系统管理与维护(2)科学计算与数据可视化(3)图形用户界面(GUI)开发(4)文本处理(5)网络编程及Web开发(6)数据库编程(7)游戏开发1.3.3编译环境Python是跨平台的,可以运行在Windows、Mac和Linux/Unix等操作系统上Python的下载与安装(/downloads/windows/)1.3.3编译环境(1)定制安装Python(2)Python选定特性设置1.3.3编译环境(3)Python高级选项设置(4)Python安装进行中1.3.3编译环境(5)Python成功安装(6)Python3.11程序组1.3.3编译环境系统环境变量的设置(1)安装时直接添加安装Python系统时选中“AddPython.exetoPATH”复选框,则系统自动将安装路径添加到环境变量Path中。(2)安装后手动添加如果安装时未选中“AddPython.exetoPATH”复选框,则可在安装完成后手动添加。(操作过程如图1-10所示)。1.3.3编译环境Python运行(1)选择“Python3.11(64-bit)”启动Python解释器1.3.3编译环境Python运行(2)选择“IDLE(Python3.1164-bit)”启动Python集成开发环境IDLE1.3.4库的下载与安装1.
NumPyNumPy(NumerialPython的简称)是Python科学计算的基础包。它提供了以下功能(不限于此):快速高效的多维数组对象ndarray。用于对数组执行元素级计算以及直接对数组执行数学运算的函数。⽤于读写硬盘上基于数组的数据集的工具。线性代数运算、傅里叶变换,以及随机数生成。1.3.4库的下载与安装2.PandasPandas提供了快速便捷处理结构化数据的大量数据结构和函数。Pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。1.3.4库的下载与安装3.MatplotlibMatplotlib是最流行的用于绘制图表和其它二维数据可视化的Python库。它非常适合创建出版物上用的图表。虽然还有其它的Python可视化库,Matplotlib却是使用最广泛的,并且它和其它生态工具配合也非常完美。Matplotlib的安装并没有什么特别之处,可以通过“pipinstallmatplotlib”命令安装或者自行下载源代码安装。1.3.4库的下载与安装4.SciPySciPy是一组专⻔解决科学计算中各种标准问题域的包的集合,主要包括下面这些包:egrate:数值积分例程和微分方程求解器。scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能。scipy.optimize:函数优化器(最小化器)以及根查找算法。scipy.signal:信号处理工具。scipy.sparse:稀疏矩阵和稀疏线性系统求解器。scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如伽玛函数)的Fortran库)的包装器。scipy.stats:标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好的描述统计法。1.3.4库的下载与安装5.Scikit-learn它的子模块包括:分类:SVM、近邻、随机森林、逻辑回归等等。回归:Lasso、岭回归等等。聚类:k-均值、谱聚类等等。降维:PCA、特征选择、矩阵分解等等。选型:网格搜索、交叉验证、度量。预处理:特征提取、标准化。1.4机器学习示例自动驾驶机器翻译游戏中的人工智能1.4.1自动驾驶“自动驾驶”这个词最早来自于飞机、列车、航运领域的辅助驾驶系统。它的广义定义为:自动驾驶是无须人工的持续干预下,用于自动控制交通工具行驶轨迹的系统。上层控制:路线规划,交通分析,交通安排。中层控制:无提示表,路障监测,遵守交规。底层控制:巡航控制,防抱死,电子系统控制牵引力,燃油喷射系统,引擎调谐。1.4.2机器翻译机器翻译,即通过计算机将一种语言的文本翻译成另一种语言,已成为目前解决语言屏障的重要方法之一。神经网络模型首先需要将源语言和目标语言的词语转化为向量表达,随后用循环神经网络对翻译过程进行建模,如图所示。通常会先使用一个循环神经网络作为编码器,将输入序列(源语言句子的词序列)编码成为一个向量表示,然后再使用一个循环神经网络作为解码器,从编码器得到的向量表示里解码得到输出序列。1.4.3游戏中的人工智能AlphaGo的成功之处在于完美集成了深度神经网络、有监督学习技术、强化学习技术和蒙特卡洛树搜索算法。
1.5本章小结本章首先阐述了人工智能与机器学习之间的联系;介绍了机器学习的定义、发展历史、分类等相关基础知识,学习了Python语言、第三方工具库以及编译环境等机器学习工具;最后,列举了几个当前比较热门的机器学习应用实例。第二章机器学习基本理论机器学习方法离不开数据和模型,俗话说,“巧妇难为无米之炊”,数据便是“米”,模型则是“巧妇”。没有充足的数据、合适的特征,再强大的模型结构也无法得到满意的输出。机器学习业界有一句经典“Garbagein,garbageout”。对于一个机器学习问题,数据和特征往往决定了结果的上限,而模型和算法的选择及优化则逐步接近这个上限。282.1机器学习术语基本概念过拟合和欠拟合模型评估292.1.1基本概念数据集(dataset)是一种由数据所组成的集合,通常以表格的形式出现,其中每一行是一个数据,表示对一个事件或对象的描述,又称为样本(sample)或实例(instance)。每一列反映事件或对象在某方面的表现或性质,称为特征(feature)或属性(attribute)。属性上的取值称为属性值(attributevalue)或特征值。所有属性构成的空间称为属性空间(attributespace)、样本空间(samplespace)或输入空间(inputspace)。
属性空间中的每一个点通常用一个向量来表示,称为特征向量(featurevector),即每个特征向量附属于一个实例。302.1.1基本概念模型(model)指描述特征和问题之间关系的数学对象。从数据中使用算法得到模型的过程称为学习(learning)或训练(training)。训练过程中使用的数据集又被分为以下3种:训练集(trainningset):通常取数据集中一部分数据作为训练集来训练模型。测试集(testingset):用来对已经学习好的模型或者算法进行测试和评估的数据集。验证集(validationset):有时需要把训练集进一步拆分成训练集和验证集,验证集用于在学习过程中对模型进行调整和选择。312.1.1基本概念每个实例中描述模型输出的可能值称为标签(label)或标记。特征是事物固有属性,标签是根据固有属性产生的认知。在经过一定次数的训练迭代后,模型损失不再发生变化或变化很小,说明当前训练样本已经无法改进模型,称为模型达到收敛(convergence)状态。新的数据输入到训练好的模型中,以对其进行判断称为预测(prediction)。通过学习得到的模型适用于新样本的能力,称为泛化(generalization)能力。检验模型效果的方法称为模型评估(evaluation)。322.1.2过拟合和欠拟合
当学习器把训练样本学得“太好”的时候,很可能将训练样本自身的一些特点当作所有潜在样本的共有特性,这样会导致泛化性能下降,这在机器学习中称为“过拟合”。与之相反地,“欠拟合”是指对训练样本的一般性质尚未学习好。332.1.2过拟合和欠拟合处理过拟合的方法大致分为以下几种:从数据入手,获得更多的训练数据。降低模型复杂度。正则化方法。集成学习方法。处理欠拟合的方法大致分为以下几种:添加新特征。增加模型复杂度。减小正则化系数。342.1.3模型评估现实中如何进行模型的评估与选择呢?通过实验测试来对学习器的泛化误差进行评估并进而做出选择。具体地讲,先使用某种实验评估方法测得学习器的某个性能度量结果,然后对这些结果进行比较。这个评估的过程涉及到实验评估方法的选择、性能度量指标以及比较检验等几个步骤。352.2实验估计方法
362.2.1留出法
“留出法”是最简单也是最直接的验证方法,它将原始的样本集合随机划分成训练集和验证集两部分。比方说,对于一个点击率预测模型,我们把样本按照70%~30%的比例分成两部分,70%的样本用于模型训练;30%的样本用于模型验证Scikit-learn提供的train_test_split函数能够将数据集切分成训练集和测试集两类,其函数原型如下:sklearn.model_selection.train_test_split(X,y,**options)372.2.2交叉验证法
“交叉验证法”首先将全部样本划分成k个大小相等的样本子集;依次遍历这k个子集,每次把当前子集作为验证集,其余所有子集作为训练集,进行模型的训练和评估;最后把k次评估指标的平均值作为最终的评估指标。
382.2.3自助法
自助法是基于自助采样法的检验方法。对于总数为n的样本集合,进行n次有放回的随机抽样,得到大小为n的训练集。n次采样过程中,有的样本会被重复采样,有的样本没有被抽出过,将这些没有被抽出的样本作为验证集,进行模型验证,这就是自助法的验证过程。
392.3性能度量性能度量(performancemeasure)是指衡量模型泛化能力的评价标准,同时反映了任务需求。在对比不同模型能力时,使用不同的性能度量往往会导致不同的评判结果;这意味着模型的“优劣”是相对的,对模型评价的标准不仅取决于算法和数据,还决定于任务需求。402.3.1错误率与精度
精度则定义为
412.3.2查准率、查全率与F1真实情况预测结果正例反例正例TP(真正例)FN(假反例)反例FP(假正例)TN(真反例)
422.3.3查准率、查全率与F1“平衡点”(Break-EventPoint,简称BEP)是“查准率=查全率”时的取值
432.3.4ROC与AUCROC全称是“受试者工作特征”(ReceiverOperatingCharacteristic)曲线AUC(AreaUnderROCCurve)
442.4比较检验统计假设检验(hypothesistest)为我们进行学习器性能比较提供了重要依据。基于假设检验结果可以推断出,若在测试集上观察到学习器A比B好,则A的泛化性能是否在统计意义上由于B,以及这个推断结论的准确性有多大。452.4.1假设检验
462.4.1假设检验
472.4.1假设检验
αk251020300.0512.7062.7762.2622.0932.0450.106.3142.1321.8331.7291.699双边t检验的常用临界值482.4.2交叉验证t检验
492.4.2交叉验证t检验
502.4.2交叉验证t检验
512.5参数调优机器学习常涉及两类参数:一类是算法的参数亦称“超参数”,数目常在10以内;另一类是模型的参数,数目可能很多,例如大型“深度学习”模型甚至有上百亿个参数。参数搜索算法一般包括三个要素:目标函数,即算法需要最大化/最小化的目标;搜索范围,一般通过上限和下限来确定;算法的其他参数,如搜索步长。522.5.1网格搜索网格搜索是最简单、应用最广泛的超参数搜索算法,它通过查找搜索范围内的所有点来确定最优值。如果采用较大的搜索范围以及较小的步长,网格搜索有很大概率找到全局最优值。
在实际应用中,网格搜索法一般会先
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高效水果打浆系统行业跨境出海战略研究报告
- 学校中的婴幼儿安全防护策略
- 大数据在农业领域的应用
- 品牌营销策划与实践案例
- 2025-2030中国机动车检验检测行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国有机快餐行业市场发展趋势与前景展望战略分析研究报告
- 2025-2030中国月饼生产线市场竞争状况与未来销售渠道趋势报告
- 2025-2030中国曲安奈德注射液行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国智能吸入器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国晒后修复露行业市场深度调研及竞争格局与投资研究报告
- 2023届高三化学二轮复习 01 考向1 以气体制备为主线的气体流程型实验
- 塑料模具设计制造培训
- 2024年LED手电筒行业分析报告及未来发展趋势
- 渔业政策与法规
- 《原生质体育种》课件
- Ⅰ类切口手术预防使用抗菌药物原因分析品管圈鱼骨图柏拉图
- 慢性疼痛的药物治疗:慢性疼痛的药物治疗方案
- 科技辅导员认证笔试初级试题
- 量具能力准则Cg-Cgk评价报告
- 九十年代生活
- 精神发育迟滞的护理查房
评论
0/150
提交评论