




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python机器学习与项目实践》《Python机器学习与项目实践》chap1-绪论chap2-机器学习基础概念chap3-线性模型chap4-前馈神经网络chap5-卷积神经网络chap6-循环神经网络chap7-图神经网络chap8-案例全套可编辑PPT课件
本课件是可编辑的正常PPT课件第1章绪论《Python机器学习与项目实践》本课件是可编辑的正常PPT课件更详细的课程概括本课件是可编辑的正常PPT课件1.绪论2.机器学习基础概述3.经典线性模型4.前馈神经网络5.卷积神经网络6.循环神经网络7.图神经网络8.机器学习模型的应用课程大纲本课件是可编辑的正常PPT课件预备知识线性代数微积分数学优化概率论信息论本课件是可编辑的正常PPT课件1.1引言人工智能(artificialintelligence,AI)就是让机器具有人类的智能。“计算机控制”+“智能行为”人工智能这个学科的诞生有着明确的标志性事件,就是1956年的达特茅斯(Dartmouth)会议。在这次会议上,“人工智能”被提出并作为本研究领域的名称。人工智能就是要让机器的行为看起来就像是人所表现出的智能行为一样。JohnMcCarthy(1927-2011)本课件是可编辑的正常PPT课件1.1引言人工智能的一个子领域机器学习:是一种通过数学模型和算法从观测数据中学习规律的方法。神经网络:是一种以(人工)神经元为基本单元的模型深度学习:是一类机器学习问题,主要解决贡献度分配问题。本课件是可编辑的正常PPT课件图灵测试AlanTuring“一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答。如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的”。---AlanTuring[1950]《ComputingMachineryandIntelligence》本课件是可编辑的正常PPT课件人工智能的研究领域让机器具有人类的智能机器感知(计算机视觉、语音信息处理)学习(模式识别、机器学习、强化学习)语言(自然语言处理)记忆(知识表示)决策(规划、数据挖掘)本课件是可编辑的正常PPT课件发展历史本课件是可编辑的正常PPT课件如何开发一个人工智能系统?开发人工智能系统的过程通常包括以下步骤:确定目标、收集和准备数据、选择和训练模型、测试和调整模odel、部署和监控。确定AI系统的目标是一个至关重要的步骤,因为它直接影响到系统设计和实施的方法。数据是训练AI系统的基础。你需要收集大量的数据,这些数据能够反映出你希望系统学习的模式和关系。数据的质量和数量直接影响到AI系统的性能。在收集和准备了数据之后,你需要选择一个适合你的任务的AI模型,并用你的数据来训练它。AI模型的选择取决于你的任务类型,例如,如果你的任务是图像识别,你可能会选择卷积神经网络(CNN)模型;如果你的任务是文本处理,你可能会选择循环神经网络(RNN)模型在模型训练完成后,你需要在测试集上测试模型的性能,看看模型是否能够很好地泛化到未见过的数据。你可能需要调整模型的参数,或者尝试不同的模型,以达到最佳的性能。最后,你需要将训练好的AI系统部署到实际的环境中,看看它在实际的任务中是否能够达到预期的效果。你需要对系统的性能进行持续的监控和调整,以确保系统的稳定性和效果。本课件是可编辑的正常PPT课件规则?机器学习本课件是可编辑的正常PPT课件机器学习≈构建一个映射函数语音识别图像识别围棋机器翻译“9”“你好”“6-5”“Hello!”“你好!”(落子位置)本课件是可编辑的正常PPT课件芒果解释机器学习如果判断芒果是否甜蜜?某天你去买芒果。你挑选后,小贩会称重,你需要根据根据重量乘以标记的固定单价来付钱。毋庸置疑,你会选择那些最甜、最熟的芒果(因为是按重量计费而不是按质量)。那么你要怎么挑选呢?你依稀记得,外婆告诉你,那些有光泽的黄芒果会比没光泽的黄芒果更甜。所以你就定下了一个挑选标准:只在那些有光泽的黄芒果里挑选。然后,你仔细观察了芒果的颜色,然后从中选出了那些有光泽的黄芒果,给钱,回家!然后,幸福和快乐是结局?本课件是可编辑的正常PPT课件芒果机器学习从市场上随机选取的芒果样本(训练数据),列出每个芒果的所有特征:如颜色,大小,形状,产地,品牌以及芒果质量(输出变量):甜蜜,多汁,成熟度。设计一个学习算法来学习芒果的特征与输出变量之间的相关性模型。下次从市场上买芒果时,可以根据芒果(测试数据)的特征,使用前面计算的模型来预测芒果的质量。本课件是可编辑的正常PPT课件知识知道怎么做专家系统…不知道怎么做容易做机器学习图像识别自然语言处理语音识别不容易做强化学习围棋如何开发一个人工智能系统?规则本课件是可编辑的正常PPT课件标记、特征及样本标记(Label)是我们要预测的内容。特征(Feature)是与其他事物明显区分的显著特点,也就是机器学习模型的输入变量。样本(Sample)是特定事物数据的实例。本课件是可编辑的正常PPT课件数据集一组样本构成的集合被称为数据集(DataSet)数据集通常被分为两个部分:训练集和测试集。训练集(TrainingSet)包含用于模型训练的数据样本,也被称为训练样本(TrainingSample)。测试集(TestSet)用于评估最终模型的性能好坏,也被称为测试样本(TestSample)。本课件是可编辑的正常PPT课件模型
本课件是可编辑的正常PPT课件4.向量在数学中,向量(也称为欧几里得向量、几何向量),指具有大小(magnitude)和方向的量。。在机器学习中,向量常用于表示数据样本和特征。向量在机器学习中扮演着重要的角色,它们提供了一种有效的数据表示形式,使得机器学习算法能够对数据进行建模和分析。本课件是可编辑的正常PPT课件4.向量在数学中,向量(也称为欧几里得向量、几何向量),指具有大小(magnitude)和方向的量。。在机器学习中,向量常用于表示数据样本和特征。向量在机器学习中扮演着重要的角色,它们提供了一种有效的数据表示形式,使得机器学习算法能够对数据进行建模和分析。本课件是可编辑的正常PPT课件一个生活中的例子:颜色本课件是可编辑的正常PPT课件1.2概念本课件是可编辑的正常PPT课件机器学习机器学习是一种通过数学模型和算法从观测数据中学习规律的方法。当我们用机器学习来解决一些模式识别任务时,一般的流程包含以下几个步骤:机器学习的基本思路本课件是可编辑的正常PPT课件机器学习的流程机器学习解决问题的通用流程包括问题建模、特征处理(工程)、模型选择和模型融合。当我们用机器学习来解决一些模式识别任务时,一般的流程包含以下几个步骤:机器学习的流程图本课件是可编辑的正常PPT课件机器学习模型的分类机器学习模型分成4类:监督学习(SupervisedLearning)模型无监督学习(UnsupervisedLearning)模型半监督学习(Semi-SupervisedLearning)模型强化学习(ReinforcementLearning)模型。本课件是可编辑的正常PPT课件机器学习应用领域介绍AlphaGo是由GoogleDeepMind公司开发的人工智能围棋程序。自动驾驶智能制造业智慧医疗与健康金融服务媒体和娱乐本课件是可编辑的正常PPT课件1.3常用术语本课件是可编辑的正常PPT课件假设函数和损失函数假设函数:损失函数损失函数(LossFunction)又叫目标函数本课件是可编辑的正常PPT课件拟合、过拟合和欠拟合模型对训练数据的预测误差称为训练误差,也称为经验误差。对测试数据的预测误差称为测试误差,也称为泛化误差。过拟合和欠拟合图解本课件是可编辑的正常PPT课件1.4机器学习环境构建和常用工具本课件是可编辑的正常PPT课件机器学习环境构建和常用工具PythonAnaconda+JupyterNotebookNumPyMatplotlibPandasScikit-learnPyTorch
…本课件是可编辑的正常PPT课件推荐其他教材邱锡鹏,神经网络与深度学习,机械工业出版社,2020,ISBN9787111649687https://nndl.github.io/提供配套练习阿斯顿·张等,动手学深度学习,ISBN:9787115505835https://d2l.ai/有PyTorch版Bishop,C.M.(2006).PatternrecognitionandMachineLearning.Springer.ISBN9780387310732.网上有中文版by马春鹏本课件是可编辑的正常PPT课件推荐教材Wright,S.,&Nocedal,J.(1999).Numericaloptimization.SpringerScience,35(67-68),7.Boyd,S.,&Vandenberghe,L.(2004).Convexoptimization.Cambridgeuniversitypress.本课件是可编辑的正常PPT课件推荐课程斯坦福大学CS224n:DeepLearningforNaturalLanguageProcessing/class/archive/cs/cs224n/cs224n.1194/ChrisManning主要讲解自然语言处理领域的各种深度学习模型斯坦福大学CS231n:ConvolutionalNeuralNetworksforVisualRecognition/Fei-FeiLiAndrejKarpathy主要讲解CNN、RNN在图像领域的应用加州大学伯克利分校CS294:DeepReinforcementLearning/deeprlcourse/本课件是可编辑的正常PPT课件推荐材料林轩田“机器学习基石”“机器学习技法”.tw/~htlin/mooc/李宏毅
“1天搞懂深度学习”.tw/~tlkagk/slide/Tutorial_HYLee_Deep.pptx李宏毅“机器学习2020”/video/av94519857/本课件是可编辑的正常PPT课件人工智能顶会论文NeurIPS、ICLR、ICML、AAAI、IJCAIACL、EMNLPCVPR、ICCV…本课件是可编辑的正常PPT课件机器学习基础概述《Python机器学习与项目实践》
本课件是可编辑的正常PPT课件教学内容机器学习概念原理线性回归定义经验风险最小化最小均方误差结构风险最小化最大似然估计最大后验估计机器学习的几个关键点本课件是可编辑的正常PPT课件数据特征表示“狗”“大家好”“X-Y”“我有什么可以帮你吗”“你好”用户输入机器(落子位置)语音识别图像识别围棋对话系统特征是被观测对象的一个独立可观测的属性或特点。本课件是可编辑的正常PPT课件特征工程和特征学习特征学习(或表征学习)是一种将原始数据转换为能够被机器学习并有效开发的数据的一种技术,即如何让机器自动地学习出有效的特征。特征工程利用领域知识和现有样本数据,创造出新的特征。主要包括特征选择(FeatureSelection)、特征提取(FeatureExtraction)和特征构建(FeatureConstruction)。本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、P-R曲线(Precision-RecallCurve)、F1-Score、ROC、AUC、混淆矩阵(ConfuseMatrix)。本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:准确率(Accuracy)、准确率的定义是预测正确的结果占总样本的百分比,真正例(TruePositive,TP):被模型预测为正的正样本;假正例(FalsePositive,FP):被模型预测为正的负样本;假负例(FalseNegative,FN):被模型预测为负的正样本;真负例(TrueNegative,TN):被模型预测为负的负样本。本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:精确率(Precision)、本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:召回率(Recall)、本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:P-R曲线(Precision-RecallCurve)、P-R曲线是描述精确率/召回率变化的曲线。本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:F1-Score是精确率和召回率的加权调和平均。本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:ROC、AUC、混淆矩阵(ConfuseMatrix)。本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:ROC、ROC曲线图本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:AUC、AUC曲线图本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:混淆矩阵(ConfuseMatrix):混淆矩阵又称为错误矩阵,它可以直观地反映算法的效果。混淆矩阵可视图本课件是可编辑的正常PPT课件损失函数本课件是可编辑的正常PPT课件损失函数常见损失函数,曲线图如图0-1损失函数(0-1LossFunction)平方损失函数(QuadraticLossFunction)指数损失函数(Exp-LossFunction)交叉熵损失函数(Cross-EntropyLossFunction)Hinge损失函数(HingeLossFunction)本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:P-R曲线(Precision-RecallCurve)、F1-Score、ROC、AUC、混淆矩阵(ConfuseMatrix)。本课件是可编辑的正常PPT课件评价指标机器学习分类任务的常用评价指标:P-R曲线(Precision-RecallCurve)、F1-Score、ROC、AUC、混淆矩阵(ConfuseMatrix)。本课件是可编辑的正常PPT课件机器学习≈构建一个映射函数“猫”“你好”“5-5”“今天天气真不错”“你好”用户输入机器(落子位置)语音识别图像识别围棋对话系统本课件是可编辑的正常PPT课件现实世界的问题都比较复杂很难通过规则来手工实现为什么要“机器学习”?本课件是可编辑的正常PPT课件什么是机器学习?机器学习:通过算法使得机器能从大量数据中学习规律从而对新的样本做决策。规律:决策(预测)函数独立同分布p(x,y)本课件是可编辑的正常PPT课件机器学习的三要素
本课件是可编辑的正常PPT课件常见的机器学习问题分类聚类回归本课件是可编辑的正常PPT课件模型以线性回归(LinearRegression)为例模型:本课件是可编辑的正常PPT课件学习准则损失函数0-1损失函数平方损失函数本课件是可编辑的正常PPT课件学习准则
本课件是可编辑的正常PPT课件最优化问题机器学习问题转化成为一个最优化问题本课件是可编辑的正常PPT课件梯度下降法(GradientDescent)搜索步长α中也叫作学习率(LearningRate)本课件是可编辑的正常PPT课件学习率是十分重要的超参数!本课件是可编辑的正常PPT课件随机梯度下降法随机梯度下降法(StochasticGradientDescent,SGD)也叫增量梯度下降,每个样本都进行更新小批量(Mini-Batch)随机梯度下降法本课件是可编辑的正常PPT课件随机梯度下降法Why?本课件是可编辑的正常PPT课件机器学习=优化?机器学习=优化?过拟合:经验风险最小化原则很容易导致模型在训练集上错误率很低,但是在未知数据上错误率很高。过拟合问题往往是由于训练数据少和噪声等原因造成的。NO!本课件是可编辑的正常PPT课件泛化错误期望风险经验风险泛化错误
本课件是可编辑的正常PPT课件如何减少泛化错误?正则化优化降低模型复杂度经验风险最小本课件是可编辑的正常PPT课件正则化(regularization)L1/L2约束、数据增强权重衰减、随机梯度下降、提前停止所有损害优化的方法都是正则化。增加优化约束干扰优化过程本课件是可编辑的正常PPT课件提前停止我们使用一个验证集(ValidationDataset)来测试每一次迭代的参数在验证集上是否最优。如果在验证集上的错误率不再下降,就停止迭代。本课件是可编辑的正常PPT课件线性回归本课件是可编辑的正常PPT课件线性回归(LinearRegression)模型:增广权重向量和增广特征向量本课件是可编辑的正常PPT课件优化方法经验风险最小化(最小二乘法)结构风险最小化(岭回归)最大似然估计最大后验估计本课件是可编辑的正常PPT课件经验风险最小化本课件是可编辑的正常PPT课件矩阵微积分标量关于向量的偏导数向量关于向量的偏导数向量函数及其导数本课件是可编辑的正常PPT课件经验风险最小化模型学习准则本课件是可编辑的正常PPT课件经验风险最小化优化本课件是可编辑的正常PPT课件结构风险最小化结构风险最小化准则得到岭回归(RidgeRegression)本课件是可编辑的正常PPT课件最大似然估计本课件是可编辑的正常PPT课件关于概率的一些基本概念概率(Probability)一个随机事件发生的可能性大小,为0到1之间的实数。随机变量(RandomVariable)比如随机掷一个骰子,得到的点数就可以看成一个随机变量X,其取值为{1,2,3,4,5,6}。概率分布(ProbabilityDistribution)一个随机变量X取每种可能值的概率并满足本课件是可编辑的正常PPT课件概率的一些基本概念伯努利分布(BernoulliDistribution)在一次试验中,事件A出现的概率为µ,不出现的概率为1−µ。若用变量X表示事件A出现的次数,则X的取值为0和1,其相应的分布为二项分布(BinomialDistribution)在n次伯努利分布中,若以变量X表示事件A出现的次数,则X的取值为{0,…,n},其相应的分布二项式系数,表示从n个元素中取出k个元素而不考虑其顺序的组合的总数。本课件是可编辑的正常PPT课件概率的一些基本概念
本课件是可编辑的正常PPT课件概率的一些基本概念条件概率(ConditionalProbability)对于离散随机向量(X,Y),已知X=x的条件下,随机变量Y=y的条件概率为:贝叶斯公式两个条件概率p(y|x)和p(x|y)之间的关系本课件是可编辑的正常PPT课件例子性别\行业计算机教育男0.40.10.5女0.10.40.50.60.4p(男|计算机)=MarginalProbabilityMarginalProbability本课件是可编辑的正常PPT课件似然(Likelihood)
似然likelihood先验prior后验posterior贝叶斯公式:本课件是可编辑的正常PPT课件从概率角度来看线性回归
本课件是可编辑的正常PPT课件线性回归中的似然函数参数w在训练集D上的似然函数(Likelihood)为本课件是可编辑的正常PPT课件最大似然估计最大似然估计(MaximumLikelihoodEstimate,MLE)是指找到一组参数w使得似然函数p(y|X;w,σ)最大本课件是可编辑的正常PPT课件最大后验估计本课件是可编辑的正常PPT课件最大后验估计似然likelihood先验prior后验posterior正则化系数本课件是可编辑的正常PPT课件总结无先验引入先验平方误差经验风险最小化结构风险最小化概率最大似然估计最大后验估计本课件是可编辑的正常PPT课件多项式回归本课件是可编辑的正常PPT课件一个例子:PolynomialCurveFittingFromchapter1ofBishop’sPRML.模型损失函数本课件是可编辑的正常PPT课件WhichDegreeofPolynomial?AmodelselectionproblemM=9→E(w)=0:Thisisoverfitting本课件是可编辑的正常PPT课件ControllingOverfitting:RegularizationAsorderofpolynomialMincreases,sodocoefficientmagnitudes!对大的系数进行惩罚本课件是可编辑的正常PPT课件ControllingOverfitting:Regularization本课件是可编辑的正常PPT课件ControllingOverfitting:Datasetsize本课件是可编辑的正常PPT课件机器学习的几个关键点本课件是可编辑的正常PPT课件常见的机器学习类型本课件是可编辑的正常PPT课件如何选择一个合适的模型?模型选择拟合能力强的模型一般复杂度会比较高,容易过拟合。如果限制模型复杂度,降低拟合能力,可能会欠拟合。偏差与方差分解期望错误可以分解为本课件是可编辑的正常PPT课件模型选择:偏差与方差集成模型:有效的降低方差的方法本课件是可编辑的正常PPT课件线性模型《Python机器学习与项目实践》
本课件是可编辑的正常PPT课件教学内容线性回归模型、逻辑回归模型、朴素贝叶斯模型、决策树模型、支持向量机模型、KNN模型随机森林模型。本课件是可编辑的正常PPT课件矩阵微积分标量关于向量的偏导数向量关于向量的偏导数向量函数及其导数本课件是可编辑的正常PPT课件关于概率的一些基本概念概率(Probability)一个随机事件发生的可能性大小,为0到1之间的实数。随机变量(RandomVariable)比如随机掷一个骰子,得到的点数就可以看成一个随机变量X,其取值为{1,2,3,4,5,6}。概率分布(ProbabilityDistribution)一个随机变量X取每种可能值的概率并满足本课件是可编辑的正常PPT课件概率的一些基本概念伯努利分布(BernoulliDistribution)在一次试验中,事件A出现的概率为µ,不出现的概率为1−µ。若用变量X表示事件A出现的次数,则X的取值为0和1,其相应的分布为二项分布(BinomialDistribution)在n次伯努利分布中,若以变量X表示事件A出现的次数,则X的取值为{0,…,n},其相应的分布二项式系数,表示从n个元素中取出k个元素而不考虑其顺序的组合的总数。本课件是可编辑的正常PPT课件概率的一些基本概念
本课件是可编辑的正常PPT课件概率的一些基本概念条件概率(ConditionalProbability)对于离散随机向量(X,Y),已知X=x的条件下,随机变量Y=y的条件概率为:贝叶斯公式两个条件概率p(y|x)和p(x|y)之间的关系本课件是可编辑的正常PPT课件线性回归模型本课件是可编辑的正常PPT课件模型:增广权重向量和增广特征向量线性回归(LinearRegression)本课件是可编辑的正常PPT课件第1步,我们需要导入所需的包。增广权重向量和增广特征向量1.from
sklearn
import
datasets
#导入sklearn
中的数据集
2.from
sklearn.model_selection
import
train_test_split
#导入数据集划分模块
3.from
sklearn.linear_model
import
LinearRegression
#导入线性回归模型
4.from
sklearn.metrics
import
mean_squared_error
#导入均方差评价指标
线性回归(LinearRegression)本课件是可编辑的正常PPT课件第2步,首先加载数据集增广权重向量和增广特征向量1.#加载波士顿房价数据集
2.boston_data=datasets.load_boston()
3.#获取波士顿房价数据集的特征集
4.bonston_x=boston_data.data
5.#获取波士顿房价数据集的目标值
6.bonston_y=boston_data.target
7.#查看数据集键值对
8.print(boston_data.keys())
9.#查看数据集描述
10.print(boston_data.DESCR)
11.#查看数据集特征值形状,可以看出有506个样本,每个样本有13个特征
12.print(bonston_x.shape)
13.#查看数据集目标值形状,有506个目标值。可以发现没有缺失值
14.print(bonston_y.shape)
线性回归(LinearRegression)本课件是可编辑的正常PPT课件通过结果可以知道共有506个样本,特征向量维度为13,也就是说房价有13个影响因素。增广权重向量和增广特征向量
线性回归(LinearRegression)本课件是可编辑的正常PPT课件第3步,划分训练集和测试集,其中测试集占数据集的20%。1.#对数据集进行划分,其中测试集占数据集的20%
2.features_train,features_test,target_train,target_test
=train_test_split(bonston_x,bonston_y,test_size=0.2)
线性回归(LinearRegression)本课件是可编辑的正常PPT课件第4步,实例化模型并进行训练。1.#实例化模型
2.model
=LinearRegression()
3.#进行模型训练
4.model.fit(features_train,target_train)
线性回归(LinearRegression)本课件是可编辑的正常PPT课件第5步,对测试集进行预测,并输出预测目标值和真实目标值,从而直观地感受预测目标值与真实值目标的差距。1.#进行预测
2.target_test_predict=model.predict(features_test)
3.#查看预测目标值4.print(target_test_predict)
5.#查看真实目标值
6.print(target_test)
线性回归(LinearRegression)本课件是可编辑的正常PPT课件第6步,对模型进行评价,采用的是均方差评价函数:1.#
对模型效果进行评价
2.error=mean_squared_error(target_test,target_test_predict)
3.print('测试数据的误差:',error)
线性回归(LinearRegression)本课件是可编辑的正常PPT课件逻辑回归模型本课件是可编辑的正常PPT课件
逻辑回归(LogisticRegression)本课件是可编辑的正常PPT课件
逻辑回归(LogisticRegression)本课件是可编辑的正常PPT课件导入需要使用的包。1.#导入需要使用的包
2.#导入划分训练集、测试集需要使用的包
3.from
sklearn.model_selection
import
train_test_split
4.#导入鸢尾花数据集
5.from
sklearn.datasets
import
load_iris
6.#导入sklearn中的逻辑回归模型
7.from
sklearn.linear_model
import
LogisticRegression
逻辑回归模型的代码实现本课件是可编辑的正常PPT课件然后加载鸢尾花数据集,查看数据集键值对,查看数据集描述,查看特征集形状。1.#加载鸢尾花数据集
2.iris_data=load_iris()
3.#查看鸢尾花数据集的键值对
4.print(iris_data.keys())
5.#查看鸢尾花数据集的描述
6.print(iris_data.DESCR)
7.#查看鸢尾花特征集的形状
8.print(iris_data.data.shape)
逻辑回归模型的代码实现本课件是可编辑的正常PPT课件接下来划分数据集。1.#将数据集划分为测试集和训练集,使用默认划分比例,测试集占数据集的25%,查看划分后训练集的形状
2.features_train,features_test,target_train,target_test=train_test_split(iris_data.data,iris_data.target)
3.print(features_train.shape)
逻辑回归模型的代码实现本课件是可编辑的正常PPT课件实例化模型,训练模型,对测试集进行预测,并输出预测结果和真实结果,简单直观地观察模型性能。1.#实例化模型,默认迭代次数为1000,这里我们设置为2500,迭代次数就是寻找损失函数最小值所迭代的次数
2.logstic_model=LogisticRegression(max_iter=2500)
3.#训练模型
4.logstic_model.fit(features_train,target_train)
5.#对测试集进行预测,打印预测结果,打印真实结果,直观感受模型性能
6.target_pre=logstic_model.predict(features_test)
7.print(target_pre)
8.print(target_test)
逻辑回归模型的代码实现本课件是可编辑的正常PPT课件最后对模型进行评价,并输出其结果。1.#对模型进行评价,使用自带的性能评价器评价其准确率
2.score=logstic_model.score(features_test,target_test)
3.print(score)
逻辑回归模型的代码实现本课件是可编辑的正常PPT课件经验风险最小化本课件是可编辑的正常PPT课件朴素贝叶斯是一种有监督学习的分类算法。
朴素贝叶斯(NaiveBayesianAlgorithm)面
貌举
止声
音穿
着是否有好感好看优雅好听得体有好看粗鲁不好听得体没有不好看优雅好听得体有不好看优雅不好听不得体没有好看优雅好听不得体有不好看粗鲁不好听不得体没有好看粗鲁好听得体有不好看粗鲁好听不得体没有
本课件是可编辑的正常PPT课件首先导入需要使用的包1.#导入需要使用的包
2.#导入划分训练集、测试集需要使用的包
3.from
sklearn.model_selection
import
train_test_split
4.#导入鸢尾花数据集
5.from
sklearn.datasets
import
load_iris
6.#导入sklearn中的朴素贝叶斯模型,使用的是高斯分类器
7.from
sklearn.naive_bayes
import
GaussianNB
朴素贝叶斯模型的代码实现本课件是可编辑的正常PPT课件然后加载鸢尾花数据集。1.#加载鸢尾花数据集
2.iris_data=load_iris()
朴素贝叶斯模型的代码实现本课件是可编辑的正常PPT课件划分数据集为测试集和训练集。1.#将数据集划分为测试集和训练集,使用默认划分比例,测试集占数据集的25%
2.features_train,features_test,target_train,target_test=train_test_split(iris_data.data,iris_data.target)
朴素贝叶斯模型的代码实现本课件是可编辑的正常PPT课件接下来实例化一个朴素贝叶斯模型并进行训练。1.#实例化一个朴素贝叶斯模型
2.naive_bayes_model=GaussianNB()
3.#训练模型
4.naive_bayes_model.fit(features_train,target_train)
朴素贝叶斯模型的代码实现本课件是可编辑的正常PPT课件对测试集进行预测,并查看预测结果和真实结果。1.#对测试集进行预测,打印预测结果,打印真实结果,直观感受模型效果
2.target_pre=naive_bayes_model.predict(features_test)3.#打印预测结果
4.print(target_pre)5.#打印真实结果6.print(target_test)
朴素贝叶斯模型的代码实现本课件是可编辑的正常PPT课件最后评价模型,打印模型分数(准确率)。1.#对模型进行评估
2.score=naive_bayes_model.score(features_test,target_test)
3.#打印模型分数
4.print(score)
朴素贝叶斯模型的代码实现本课件是可编辑的正常PPT课件决策树模型本课件是可编辑的正常PPT课件决策树算法是指一类算法,它以树形结构呈现逻辑模型。决策树模型本课件是可编辑的正常PPT课件导入需要的库1.#导入需要使用的包
2.from
sklearn.datasets
import
load_wine
#导入红酒数据集需要使用的包
3.from
sklearn.model_selection
import
train_test_split
#导入数据集划分工具
4.from
sklearn.tree
import
DecisionTreeClassifier
#导入决策树模型
5.import
numpy
as
np
#导入NumPy
决策树模型的代码实现本课件是可编辑的正常PPT课件加载红酒数据集,并查看数据集形状、描述和键值对1.#加载红酒数据集
2.RedWine_data=load_wine()
3.#查看数据集形状
4.print(RedWine_data.data.shape)
5.#查看数据集键值对
6.print(RedWine_data.keys())
7.#查看数据集描述
8.print(RedWine_data.DESCR)
决策树模型的代码实现本课件是可编辑的正常PPT课件将数据集划分为训练集和测试集1.#将数据集划分为测试集和训练集
2.features_train,features_test,target_train,target_test=train_test_split(RedWine_data.data,RedWine_data.target
决策树模型的代码实现本课件是可编辑的正常PPT课件实例化决策树模型,并进行训练。1.#实例化一个ID3决策树模型
2.DecisionTree_Model=DecisionTreeClassifier(criterion='entropy')
3.#进行模型训练
4.DecisionTree_Model.fit(features_train,target_train)
决策树模型的代码实现本课件是可编辑的正常PPT课件评价指标为准确率,输出评价分数。1.#对模型进行评价
2.print(DecisionTree_Model.score(features_test,target_test))
决策树模型的代码实现本课件是可编辑的正常PPT课件支持向量机模型本课件是可编辑的正常PPT课件支持向量机是有监督学习算法中最有影响力的机器学习算法之一。支持向量机的概念本课件是可编辑的正常PPT课件导入需要使用的包。1.from
sklearn
import
svm
#导入支持向量机模型
2.from
sklearn.datasets
import
load_iris
#导入鸢尾花数据集
3.from
sklearn.model_selection
import
train_test_split
#导入数据集划分需要使用的包
4.from
sklearn.metrics
import
confusion_matrix
#导入混淆矩阵评价指标
5.from
sklearn.metrics
import
accuracy_score
#导入准确率评
支持向量机模型的代码实现本课件是可编辑的正常PPT课件加载鸢尾花数据集,并查看其形状。1.#加载鸢尾花数据集,其结果是个字典
2.iris=load_iris()
3.#查看数据集的形状,有多少个样本,每个样本有多少个特征
4.print(iris.data.shape)
输出结果如下,总共有150个样本,每个样本有4个特征。(150,4)
支持向量机模型的代码实现本课件是可编辑的正常PPT课件划分数据集。1.#划分训练集和测试集,将随机数种子设置为1,便于复现模型,训练集占数据集的70%,剩下的为测试集
2.train_data,test_data=train_test_split(iris.data,random_state=1,train_size=0.7,test_size=0.3)
3.train_label,test_label=train_test_split(iris.target,random_state=1,train_size=0.7,test_size=0.3)
支持向量机模型的代码实现本课件是可编辑的正常PPT课件实例化模型并进行训练。1.#实例化模型,C是正则化程度,C的数值越大,惩罚力度越小,默认为1,使用rbf核函数
2.model=svm.SVC(C=2.0,kernel='rbf',gamma=10,decision_function_shape='ovr')3.#训练模型,ravel将维度变为一维
4.model.fit(train_data,train_label.ravel())
支持向量机模型的代码实现本课件是可编辑的正常PPT课件进行预测,并评价,采用混淆矩阵和准确率进行评价。1.#模型预测
2.pre_test=model.predict(test_data)
3.#准确率评价
4.score=accuracy_score(test_label,pre_test)
5.print(score)
6.#混淆矩阵评价
7.cm=confusion_matrix(test_label,pre_test)
8.print(cm)
支持向量机模型的代码实现本课件是可编辑的正常PPT课件KNN模型本课件是可编辑的正常PPT课件机器学习分类算法——K最近邻算法,简称KNN(K-Nearest-Neighbor)算法。它是有监督学习分类算法的一种。在学习KNN算法的过程中,只需要把握两个原则就好了。第1个原则是“少数服从多数”;第2个原则是“资格”,就是是否有资格进行投票。
KNN(K-Nearest-Neighbor)本课件是可编辑的正常PPT课件机器学习分类算法——K最近邻算法,简称KNN(K-Nearest-Neighbor)算法。它是有监督学习分类算法的一种。在学习KNN算法的过程中,只需要把握两个原则就好了。第1个原则是“少数服从多数”;第2个原则是“资格”,就是是否有资格进行投票。
KNN(K-Nearest-Neighbor)本课件是可编辑的正常PPT课件KNN算法主要包括4个步骤,(1)准备数据,对数据进行预处理。(2)计算测试样本点(也就是待分类点)到其他每个样本点的距离(选定度量距离的方法)。(3)对每个距离进行排序,选出距离最小的K个点。(4)对K个点所属的类进行比较,按照“少数服从多数”的原则(多数表决思想),将测试样本点归入K个点中占比最高的一类中。
KNN(K-Nearest-Neighbor)本课件是可编辑的正常PPT课件导入需要使用的包,这里以红酒数据集为例。1.#导入需要使用的包
2.#导入NumPy
3.import
numpy
as
np
4.#导入红酒数据集需要使用的包
5.from
sklearn.datasets
import
load_wine
6.#导入划分数据集需要使用的包
7.from
sklearn.model_selection
import
train_test_split
8.#导入KNN算法需要使用的包
9.from
sklearn.neighbors
import
KNeighborsClassifier
KNN的代码实现本课件是可编辑的正常PPT课件加载数据集并查看数据集形状、数据集键值对、数据集描述。1.#加载数据集
2.RedWine_data=load_wine()
3.#查看数据集形状
4.print(RedWine_data.data.shape)
5.#查看数据集键值对
6.print(RedWine_data.keys())
7.#查看数据集描述
8.print(RedWine_data.DESCR)
KNN的代码实现本课件是可编辑的正常PPT课件划分数据集为测试集和训练集,使用默认的划分比例,也就是数据集的25%为测试集。1.#将数据集划分为测试集和训练集
2.features_train,features_test,target_train,target_test=train_test_split(RedWine_data.data,RedWine_data.target)
KNN的代码实现本课件是可编辑的正常PPT课件实例化KNN模型,并进行训练。这里使用的K值为5,读者可以试试其他不同的K值对模型的影响。1.#实例化一个KNN模型,n_neighbors为超参数,就是K值
2.KNN_Classifier_Model=KNeighborsClassifier(n_neighbors=5)
3.#进行训练
4.KNN_Classifier_Model.fit(features_train,target_train)
KNN的代码实现本课件是可编辑的正常PPT课件对测试集进行预测,并打印预测结果和真实结果。1.#对测试集进行预测
2.target_pre=KNN_Classifier_Model.predict(features_test)
3.#打印预测结果
4.print(target_pre)
5.#打印真实结果
6.print(target_test)
KNN的代码实现本课件是可编辑的正常PPT课件最后对模型进行评价。1.#对模型进行评价
2.KNN_Classifier_Model_score=KNN_Classifier_Model.score(features_test,target_test)
3.print(KNN_Classifier_Model_score)
输出结果如下。0.7777777777777778
KNN的代码实现本课件是可编辑的正常PPT课件随机森林模型本课件是可编辑的正常PPT课件随机森林,顾名思义,即使用随机的方式建立一个森林,这个森林由很多的决策树组成,并且每一棵决策树之间是相互独立的。如果训练集有M个样本,则对于每棵决策树而言,以随机且有放回的方式从训练集中抽取N个训练样本(N<M),作为该决策树的训练集。除采用样本随机外,随机森林还采用了特征随机。假设每个样本有K个特征,从所有特征中随机选取k个特征(k≤K),选择最佳分割特征作为节点建立CART决策树,重复该步骤,建立m棵CART决策树。这些树就组成了森林,这便是随机森林名字的由来。
随机森林算法(RandomForestAlgorithm)本课件是可编辑的正常PPT课件导入需要使用的库。1.#导入需要使用的库
2.#导入随机森林算法
3.from
sklearn.ensemble
import
RandomForestClassifier
4.#导入鸢尾花数据集需要使用的包
5.from
sklearn.datasets
import
load_iris
6.#导入划分数据集需要使用的包
7.from
sklearn.model_selection
import
train_test_split
随机森林模型的代码实现本课件是可编辑的正常PPT课件加载数据集,查看数据集的键值对、形状,数据集的描述在前面的内容中已经查看过了,为节约篇幅,此处就不再进行查看。1.#加载鸢尾花数据集
2.iris_data
=load_iris()
3.#查看数据集的键值对
4.print(iris_data.keys())
5.#查看数据集的形状,数据集的描述部分在前面的内容中已经查看过了,这里就不再查看
6.print(iris_data.data.shape)
随机森林模型的代码实现本课件是可编辑的正常PPT课件划分数据集。1.#将数据集划分为测试集和训练集
2.features_train,features_test,target_train,target_test=train_test_split(iris_data.data,iris_data.target)
随机森林模型的代码实现本课件是可编辑的正常PPT课件实例化随机森林模型,使用默认的基尼指数,并进行训练。1.#实例化随机森林模型,使用默认的基尼指数
2.random_forest_cls_model=RandomForestClassifier()
3.#对模型进行训练
4.random_forest_cls_model.fit(features_train,target_train)
随机森林模型的代码实现本课件是可编辑的正常PPT课件对测试集进行预测,打印预测结果和真实结果。1.#对测试集进行预测
2.iris_pre=random_forest_cls_model.predict(features_test)
3.#打印预测结果
4.print(iris_pre)
5.#打印真实结果
6.print(target_test)
随机森林模型的代码实现本课件是可编辑的正常PPT课件对模型进行评价,打印模型分数。1.#对模型进行评价
2.score=random_forest_cls_model.score(features_test,target_test)
3.#打印模型分数
4.print(score)
输出结果如下。0.9736842105263158
随机森林模型的代码实现本课件是可编辑的正常PPT课件机器学习的几个关键点本课件是可编辑的正常PPT课件常见的机器学习类型本课件是可编辑的正常PPT课件前馈神经网络《Python机器学习与项目实践》
本课件是可编辑的正常PPT课件教学内容概念基本特征网络模型应用分析本课件是可编辑的正常PPT课件机器学习≈构建一个映射函数“猫”“你好”“5-5”“今天天气真不错”“你好”用户输入机器(落子位置)语音识别图像识别围棋对话系统本课件是可编辑的正常PPT课件神经元与感知机一个生物的神经元的结构分为细胞体和突起两部分,具有联络和整合输入信息并输出信息的作用。突起包含树突和轴突,树突用来接收其他的神经元传递过来的信号,其一端连接轴突用来给其他的神经元传递信号,轴突的末端连接到其他神经元的树突或轴突上。神经元结构图感知机的工作原理本课件是可编辑的正常PPT课件激活函数激活函数(ActivationFunction)是在神经网络中的神经元上运行的函数,负责将神经元的输入映射到输出端。激活函数在神经元中是非常重要的。为了增强神经网络的表示能力和学习能力,激活函数需要具备以下几点性质。(1)连续可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数。(2)激活函数及其导数要尽可能的简单,这样有利于提高网络计算效率。(3)激活函数的导数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。本课件是可编辑的正常PPT课件Sigmoid函数Sigmoid函数连续且光滑,严格单调,关于(0,0.5)中心对称,可以将变量映射到(0,1)之间,是一个非常良好的阈值函数。Sigmoid函数作为激活函数有以下优缺点。优点:平滑、易于求导。缺点:①Sigmoid函数极容易导致梯度消失问题。假设神经元输入Sigmoid函数的值特别大或特别小,那么对应的梯度约等于0,即使从上一步传导来的梯度较大,该神经元权重和偏置的梯度也会趋近0,导致参数无法得到有效更新。②计算费时。在神经网络训练中,常常要计算Sigmoid函数的值,进行幂计算会导致耗时增加。③Sigmoid函数不是关于原点中心对称的(Zero-centered)。
本课件是可编辑的正常PPT课件Tanh函数Tanh函数作为激活函数有以下优缺点。优点:①平滑、易于求导。②解决了Sigmoid函数收敛变慢的问题,相对于Sigmoid函数提高了收敛速度。缺点:①梯度消失问题依然存在。②函数值的计算复杂度高,是指数级的。本课件是可编辑的正常PPT课件ReLU函数优点:①相比于Sigmoid函数的两端饱和,ReLU函数为左饱和函数,且在x>0时导数为1,这在一定程度上缓解了神经网络的梯度消失问题。②没有复杂的指数运算,计算简单、效率提高。③收敛速度较快,比Sigmoid函数和Tanh函数快很多。④单侧抑制、宽兴奋边界使得ReLU函数比Sigmoid函数更符合生物学神经激活机制。缺点:①输出是非零中心化的,给后一层的神经网络引入偏置偏移,会影响梯度下降的效率。②ReLU神经元在训练时比较容易“死亡”。本课件是可编辑的正常PPT课件Swish函数Swish函数的主要优点如下。(1)Swish函数的无界性有助于防止在慢速训练期间梯度逐渐接近0并导致饱和。(2)Swish函数的平滑度在优化和泛化中起了重要作用。本课件是可编辑的正常PPT课件Softmax函数Softmax函数常在神经网络输出层中充当激活函数,将输出层的值通过激活函数映射到(0,1)区间,当前输出可以看作属于各个分类的概率,从而用来进行多分类。Softmax函数的映射值越大,则真实类别的可能性越大。本课件是可编辑的正常PPT课件4.3前馈神经网络结构前馈神经网络也经常称为多层感知机(Multi-LayerPerceptron,MLP),但多层感知机的叫法并不十分合理。因为前馈神经网络其实是由多层的逻辑回归模型(连续的非线性函数)组成的,而不是由多层的感知机(不连续的非线性函数)组成的。前馈神经网络的结构本课件是可编辑的正常PPT课件4.3.1通用近似定理神经网络最有价值的地方可能在于,它可以在理论上证明:一个包含足够多隐藏层神经元的多层前馈神经网络,能以任意精度逼近任意预定的连续函数。这个定理即通用近似定理(UniversalApproximationTheorem)。这里的Universal也有人将其翻译成“万能的”。本课件是可编辑的正常PPT课件4.3.2应用到机器学习根据通用近似定理,神经网络在某种程度上可以作为一个“万能”函数来使用,可以用来进行复杂的特征转换,或者近似一个复杂的条件分布。在机器学习中,输入样本的特征对分类器的影响很大。以监督学习为例,好的特征可以极大提高分类器的性能。本课件是可编辑的正常PPT课件4.3.3参数学习在神经网络的学习中,需要寻找最优参数(权重和偏置),即寻找使损失函数的值尽可能小的参数。为了找到使损失函数的值尽可能小的参数,首先需要计算参数的梯度(导数),然后以这个导数为指引,逐步更新参数的值。本课件是可编辑的正常PPT课件4.4反向传播算法反向传播(BackPropagation,BP)算法是目前用来训练神经网络的常用且有效的算法。反向传播算法的主要思想是:将训练集数据输入神经网络的输入层,经过隐藏层,最后到达输出层并输出结果,这是神经网络的前向传播过程。本课件是可编辑的正常PPT课件4.5梯度计算前面已经介绍了神经网络的最终目标,即使所定义的损失函数的值达到最小。为了使损失函数的值最小,常使用的核心方法是“梯度法”。复合函数的计算图
本课件是可编辑的正常PPT课件4.5梯度计算本课件是可编辑的正常PPT课件4.6网络优化神经网络的参数学习比线性模型更加困难,当前神经网络模型的难点主要如下。(1)优化问题。神经网络模型是一个非凸函数,再加上在深度神经网络中的梯度消失问题,很难进行优化。另外,深层神经网络一般参数比较多,训练数据也比较多,这会导致训练的效率比较低。(2)泛化问题。因为神经网络的拟合能力强,反而容易在训练集上产生过拟合。因此在训练深层神经网络时,需要通过一定的正则化方法来改善网络的泛化能力。本课件是可编辑的正常PPT课件优化算法1.批量梯度下降(BatchGradientDescent,BGD)2.随机梯度下降(SGD)3.小批量梯度下降本课件是可编辑的正常PPT课件4.7应用实例向读者介绍前馈神经网络模型在PyTorch中的简单构建。关于数据集的准备,本节的示例中使用手写数字的MINIST数据集。该数据集包含60000个用于训练的示例和10000个用于测试的示例。这些数字已经过尺寸标准化并位于图像中心,图像是固定大小的(28像素×28像素),其值为0~10。为简单起见,每个图像都被展平并转换为784(28×28)个特征的一维NumPy数组本课件是可编辑的正常PPT课件4.7应用实例代码实现如下。1.import
torch
2.import
torch.nn
as
nn
3.import
torchvision
4.import
torchvision.transforms
as
transforms
5.#
配置
6.device=torch.device('cuda'
if
torch.cuda.is_available()
else
'cpu')
7.#
超参数
8.input_size=784
9.hidden_size=500
10.num_classes=10
11.num_epochs=5
12.batch_size=100
13.learning_rate=0.001
14.
15.#
数据集
16.train_dataset=torchvision.datasets.MNIST(root='../../data',
17.
train=True,
18.
transform=transforms.ToTensor(),
19.
download=True)
20.
21.test_dataset=torchvision.datasets.MNIST(root='../../data',
本课件是可编辑的正常PPT课件4.7应用实例22.
train=False,
23.
transform=transforms.ToTensor())
24.
25.#
引入数据集26.train_loader=torch.utils.data.DataLoader(dataset=train_dataset,
27.
batch_size=batch_size,
28.
shuffle=True)
29.
30.test_loader=torch.utils.data.DataLoader(dataset=test_dataset,
31.
batch_size=batch_size,
32.
shuffle=False)
33.
34.#
全连接层35.class
NeuralNet(nn.Module):
36.
def
__init__(self,input_size,hidden_size,num_classes):
37.
super(NeuralNet,self).__init__()
38.
self.fc1=nn.Linear(input_size,hidden_size)
39.
self.relu=nn.ReLU()
40.
self.fc2=nn.Linear(hidden_size,num_classes)
本课件是可编辑的正常PPT课件4.7应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级语文上册 第四单元 写作 语言要连贯教学实录 新人教版
- 2025年江苏货运从业资格证科目一模拟考试题库
- 流动式吊车知识培训课件
- 四年级语文上册 第四单元 13 精卫填海教学实录 新人教版五四制
- 撒哈拉以南非洲(第2课时)课件-2024~2025学年人教版初中地理七年级下册
- 第3课+中古时期的欧洲+高一下学期统编版(2019)必修中外历史纲要下
- 陕西省咸阳市2023-2024学年高一(上)期末物理试卷【含解析】
- 部编版二年级语文下册第3课《开满鲜花的小路》精美课件
- 第2课《首届诺贝尔奖颁发》教学设计 2024-2025学年统编版语文八年级上册
- 北京市通州区2024-2025学年高一上学期1月期末物理试题(解析版)
- 新建铁路专用线工程可行性研究报告
- 【地理】自然环境课件-2024-2025学年七年级地理下学期(人教版2024)
- 北京大兴区公开招考社区服务站专职工作者高频重点提升(共500题)附带答案详解
- 2024年中国作家协会所属单位招聘考试真题
- 2025年房地产年度工作计划
- 高血压性视网膜病变
- 2025山东能源集团中级人才库选拔管理单位笔试遴选500模拟题附带答案详解
- 医院后勤管理与服务提升方案
- GB/T 18281.1-2024医疗保健产品灭菌生物指示物第1部分:通则
- 项目一 CA6140车床的操作
- DB21T 2760-2023 装配式住宅建筑设计规程
评论
0/150
提交评论