版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章机器学习与人工智能基础1.1机器学习与人工智能的基本概念1.2机器学习的分类1.3机器学习的常见算法1.4机器学习的基本流程1.5项目实践——实现线性回归模型引例思考从“外卖平台推荐”理解机器学习与人工智能小明每天中午打开外卖APP时,总会发现首页推荐的餐厅几乎都是他爱吃的川菜和家常菜,而且还会根据当天天气调整——下雨天推荐汤面类外卖,炎热天推荐冰品和轻食。你有没有想过,APP是如何“精准猜透”小明喜好的?这背后正是机器学习与人工智能的应用。从人工智能的角度来看,外卖APP的推荐功能属于“专用人工智能”范畴,它专注于“用户偏好预测”这一特定任务,而非像人类一样具备通用思考能力。而实现这一功能的核心技术,就是机器学习。机器学习与人工智能的基本概念1.1机器学习与人工智能的基本概念学习的定义:学习是人类通过观察、实践、思考,不断积累知识、提升技能、改善行为的过程。学习的分类直接学习、间接学习核心要素:信息输入→信息加工→知识存储→知识应用1.1.1机器学习概述机器学习与人工智能的基本概念机器学习的定义:机器学习(MachineLearning,ML)是研究计算机模拟人类的学习活动,获取知识和技能的理论和方法,改善系统性能的学科。机器学习是一种让计算机“自学”的方式。机器学习的结构模型是指在机器学习过程中,计算机系统通过特定的算法、数据和模型进行学习、预测或决策的框架。根据计算机系统的层次和功能的不同,我们可以将机器学习的结构模型划分为:计算机系统内部:数据处理、存储和学习计算机系统外部:与外部世界进行交互机器学习与人工智能的基本概念机器学习从环境中获取数据(外部部分),经过感知、存储、学习处理(内部部分),再进行模式学习和决策输出的全过程。通过这种方式,机器学习系统能够不断学习环境的变化,从而在未来更好地应对类似情境。机器学习与人工智能的基本概念经典定义:计算机科学家TomM.Mitchell给出了机器学习的经典定义:“对于特定任务T和性能指标P,若计算机程序在任务T上的表现(通过P衡量)能随经验E的积累而提升,则认为该程序具备了从经验E中学习的能力。”在这个定义中,包含了三个关键元素:任务(T):模型需要完成的任务,经验(E):用于训练模型的数据,性能(P):衡量模型效果的指标。机器学习与人工智能的基本概念
机器学习与人工智能的基本概念423101数据驱动02自动学习与优化03无须显式编程04自适应性机器学习的特点:机器学习与人工智能的基本概念医疗健康机器学习在疾病预测、医学影像分析和个性化治疗等领域得到广泛应用,借助患者数据分析可辅助预测疾病风险,并提高诊断的准确性。自动驾驶与交通管理基于机器学习的自动驾驶汽车,利用传感器数据进行环境认知与安全决策,并应用于智能交通管理,以提升通行效率并缓解交通拥堵。金融与风险管理机器学习技术在电商领域应用广泛,通过分析用户行为数据,可达成精准的个性化推荐,进而提升用户满意度并促进销售增长。电子商务与推荐系统在金融领域中,机器学习技术可以应用于信用评级、风险预估及反欺诈监测,主要进行剖析交易模式,辨识异常行为,进而强化金融系统的防护能力。机器学习的应用:机器学习与人工智能的基本概念1.1.2人工智能的演进机器学习与人工智能的基本概念1.1.3机器学习与人工智能的关系人工智能的定义:它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的重要分支,旨在开发具备类似人类思维能力的系统,涵盖感知、推理、学习、决策和执行等能力。其核心目标是赋予机器智能行为,让机器能够模拟人类处理复杂任务,解决实际问题。例如,智能客服系统能够理解用户的问题,并给出准确回答;智能机器人可以在复杂环境中自主完成任务。时至今日,人工智能的内涵已经大大扩展,是一门交叉学科。机器学习与人工智能的基本概念机器学习在人工智能中的角色:传统人工智能方法的局限性:早期的人工智能主要依赖规则和专家系统,这些系统基于人工编写的规则来推理和决策。然而,这种方法在面对复杂问题和大量数据时存在局限性。例如,在自然语言处理中,语言的灵活性和复杂性使得基于规则的方法难以准确处理各种语言表达。机器学习带来的变革:机器学习的出现使人工智能系统更加灵活和智能,它允许系统在没有人工干预的情况下,从数据中学习到新的知识和模式。例如,在图像识别领域,机器学习模型可以通过学习大量图像数据,自动识别出不同的物体和场景,而无需人工编写繁琐的识别规则。机器学习与人工智能的基本概念1.1.3机器学习与人工智能的关系机器学习与人工智能的基本概念1.1.3机器学习与人工智能的关系人工智能:是研究、开发用于模拟、延伸和扩展人的智能的理论、方法及应用系统的一门新的技术科学。机器学习:专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。是人工智能的核心研究领域之一。深度学习:源于人工神经网络的研究,多层感知器就是一种深度学习结构。深度学习是机器学习研究中的一个新的领域,它模仿人脑的机制来解释数据,例如图像,声音和文本。机器学习与人工智能的基本概念机器学习与人工智能实现路径的对比:VS传统人工智能机器学习驱动的人工智能数据驱动通过不断迭代和优化,增强自适应能力应用于图像识别、语音识别、自然语言处理、自动驾驶等领域123规则驱动适用于结构化、规则明确的任务缺乏自适应能力,难以处理海量数据123机器学习与人工智能的基本概念人工智能技术的应用方向与应用场景:现在AI的应用技术方向主要分为:图像处理: 用计算机对图像进行分析,以达到所需结果的技术,又称计算机视觉,是研究如何让计算机“看”的科学。语音处理: 研究语音发声过程、语音信号的统计特性、语音识别、机器合成以及语音感知等各种处理技术的统称。自然语言处理: 利用计算机技术来理解并运用自然语言的学科。机器学习与人工智能的基本概念人工智能技术的应用方向与应用场景:图像处理语音处理自然语言处理身份验证语音导航舆情分析主题挖掘热点事件趋势分析情绪分析信息分布语音识别、语音合成、语音唤醒、声纹识别、音频事件检测等……。图像分类、目标检测、图像分割、目标跟踪、文字识别和人脸识别等……。机器翻译、文本挖掘和情感分析等……。机器学习与人工智能的基本概念人工智能技术的应用方向与应用场景:机器学习的分类1.2机器学习的分类图1-4机器学习分类机器学习的分类1.2.1监督学习定义:监督学习是一种通过已标注的训练数据集进行学习的方法,其目标是通过输入数据(特征)和已知的输出标签(目标值)之间的关系来训练模型。学习过程:机器学习的分类监督学习的特点:输入输出对:监督学习的数据集由输入特征和对应的目标输出(标签)构成。监督信号:监督学习中的“监督信号”,即目标标签,通过这种标签来引导模型的学习过程。优化过程:模型训练的核心是通过最小化预测值和实际标签之间的误差来优化模型。机器学习的分类监督学习的任务类型:回归任务分类任务回归任务目标是预测连续数值输出。常见算法包括线性回归、支持向量回归(SVR)、决策树回归等。例如:在预测房屋价格时,通过分析房屋面积、房龄、周边配套设施等输入特征,利用线性回归模型预测出一个具体的房屋价格数值。分类任务目标是将输入数据分配到预定义类别中。常见算法有支持向量机、决策树、随机森林、K-近邻、神经网络等。例如:水果分类,输入水果的颜色、形状、大小、口感等特征,利用支持向量机模型判断该水果是苹果、香蕉还是橙子等。机器学习的分类监督学习中的损失函数:在监督学习中,损失函数是用来衡量模型预测与真实标签之间差距的函数,优化目标是通过最小化损失函数来提高模型的准确性。常见的损失函数包括:均方误差(meansquarederror,MSE)交叉熵(cross-entropy)
机器学习的分类应用领域:应用前景语音识别1243金融预测图像分类医学诊断机器学习的分类0304050201用于分类和回归问题。通过一系列的规则(基于输入特征的条件)来划分数据,决策树易于理解和可视化。一种集成学习方法,通过构建多棵决策树并结合其结果来提高模型的准确性和鲁棒性。模仿生物神经元的工作原理,能够建模复杂的非线性关系。广泛应用于图像识别、语音识别等领域。用于分类和回归问题。通过寻找一个最优超平面来最大化类别间的间隔,适用于复杂且高维的分类问题。用于回归问题,假设输入与输出之间存在一个线性关系。适用于预测任务,如价格预测。决策树随机森林神经网络支持向量机线性回归典型算法典型算法:机器学习的分类1.2.2无监督学习定义:无监督学习不依赖于标注数据集,而是试图在没有明确标签的情况下,发现数据的结构和内在规律。它的目标是探索数据的分布、结构或隐藏的模式。学习过程:数据收集:无监督学习依赖的数据集通常不包含目标标签,只包含输入特征。模式发现:在数据没有标签的情况下,算法通过聚类、降维、关联分析等方法来寻找数据中的潜在模式或结构。结果解释:无监督学习的结果通常需要人为的解释和分析。由于没有标签,模型的输出通常是数据的分组或降维后的表示。机器学习的分类应用领域:应用前景数据聚类1243推荐系统图像压缩新闻分类机器学习的分类典型算法:423101k均值聚类一种基于距离度量的聚类方法,通过不断迭代优化簇内数据点的平均值,直到簇划分收敛。常用于文本挖掘和市场分析。02主成分分析用于降维的线性方法,旨在保留数据中最大的方差,并通过线性组合得到新的主成分。03层次聚类通过计算数据点之间的相似性,逐步将数据点合并成树状结构,常用于生物学中物种的分类。04自组织映射一种基于神经网络的聚类算法,主要用于数据的可视化和降维。机器学习的分类半监督学习定义:半监督学习的本质是利用“少量有标签样本(LabeledData,记为L)”和“大量无标签样本(UnlabeledData,记为U)”共同训练模型,目标是让模型性能超越仅用“少量有标签样本”训练的监督学习模型。机器学习的分类1.2.3强化学习定义:强化学习是一种基于试错和反馈的机器学习方法,智能体在与环境的交互中不断调整自身行为策略,以最大化长期回报。机器学习的分类学习过程:环境建模:定义智能体所在的环境,包括状态空间、动作空间和奖励函数。状态表示智能体当前所处的情形,动作是智能体可以选择的行为,奖励是环境对智能体行为的反馈。探索与利用:智能体在环境中采取行动,通过探索未知的动作和策略,学习哪些行为能够带来更多的奖励。策略学习:智能体通过奖励信号不断优化其策略,使得长期回报最大化。强化学习强调通过试错找到最优策略。机器学习的分类020301机器人通过强化学习来学习如何进行自主导航、物品抓取等任务。例如,自动驾驶汽车通过与道路环境的互动不断优化驾驶策略。强化学习应用于需要动态决策的领域,如股票交易、智能电网优化等。强化学习广泛应用于各类博弈环境中,如AlphaGo、Dota2等游戏中,智能体通过与环境的互动不断提高其决策能力。机器人控制:自动化决策游戏和博弈论应用领域应用领域:机器学习的分类典型算法:423101Q学习通过学习一个状态-动作值函数(Q函数)来选择最佳行动。智能体通过不断更新Q值,来找到最佳的决策策略。02深度Q网络将Q学习与深度神经网络结合,利用神经网络来逼近Q值函数,能够处理更复杂的高维状态空间。03策略梯度方法直接优化策略函数,而不是像Q学习那样优化状态-动作值函数。适用于具有连续动作空间的问题。04蒙特卡洛树搜索用于决策过程中,通过模拟不同的行动路径来评估和选择最优的行动。广泛应用于棋类游戏。常见算法简介1.3常见算法简介1.3.1线性回归与逻辑回归
常见算法简介
常见算法简介三、线性回归与逻辑回归的区别
线性回归逻辑回归任务类型回归问题(预测连续变量)分类问题(预测类别标签)输出预测值(连续的实数值)概率值(0到1之间的概率)适用场景适用于目标变量是连续型数据的情况适用于目标变量是离散的类别标签的情况(通常为二分类)模型假设目标变量与特征之间存在线性关系目标变量是类别的概率,通过Sigmoid函数转换线性回归输出损失函数最小二乘法对数似然函数优点简单易懂,计算效率高,能够解释各特征对结果的贡献适合分类问题,输出为概率,易于理解和解释缺点只适用于线性关系,无法处理复杂的非线性关系主要适用于二分类问题,处理多分类时需要扩展或改变模型常见算法简介1.3.2k近邻、决策树与随机森林
常见算法简介决策树原理:决策树通过递归地选择最优特征来划分数据集,形成一棵树状结构,每个节点代表一个特征的决策,叶子节点代表最终的预测结果。构建过程为,首先选择划分特征,在每个节点,算法会选择一个特征来分割数据,常用的选择准则有:信息增益(informationgain),常用于ID3算法,选择信息增益最大的特征进行划分;基尼指数(giniindex),常用于CART算法,选择基尼指数最小的特征进行划分;卡方检验(chi-squaredtest),用于判断特征的显著性;均方误差(mean-squareerror,MSE),用于回归树,选择能最小化均方误差的特征。然后根据选择的特征划分数据,递归地进行划分,直到满足停止条件,如树深度达到设定值、节点样本数小于阈值等。当数据在节点中已经纯净,即属于同一类别,或满足设定的停止条件时,递归停止,生成叶节点。应用分类问题、回归问题……常见算法简介随机森林原理:(1)构建过程:数据子集选择:从原始训练集随机采样,生成多个训练子集。决策树训练:在每个训练子集上训练一棵决策树。特征子集选择:在每个节点划分时,随机选择特征子集进行分裂,而不是使用全部特征,这有助于降低不同决策树间的相关性。集成:每棵树都做出预测,然后通过投票或平均的方式得到最终的结果。应用分类问题、回归问题、特征重要性分析……机器学习的基本流程1.4机器学习的基本流程机器学习是人工智能的核心领域之一,让计算机从数据中自动学习模式和规律,以实现预测、分类、聚类等智能任务,而无需被明确编程每一步该怎么做。为什么了解机器学习基本流程机器学习基本流程是开展机器学习项目的关键指导,从问题定义到模型部署,每个环节都紧密相连。遵循这一流程,能提高项目成功率,降低错误和风险,确保模型准确有效,满足实际需求,如精准的医疗诊断模型、高效的推荐系统。下面将对整个流程进行详细阐述。机器学习的基本流程问题定义问题定义是整个机器学习项目的基础,明确了要解决的具体任务,并决定了采用的算法、评估标准和数据收集方法。问题定义的目标是确保模型最终能够解决业务需求或实际问题。1明确任务类型:分类问题、回归问题、聚类问题、推荐问题、异常检测问题
3业务需求对接:了解问题的实际背景和需求。定义问题的可行性,确保机器学习模型能够有效解决实际问题。2确定评估指标:根据任务类型,选择合适的评估指标。机器学习的基本流程数据收集机器学习模型的质量高度依赖于数据,数据收集是关键的一步。数据的种类、质量和来源都会对模型的性能产生深远影响。1确定数据来源:公开数据集、公司内部数据、第三方数据提供商、爬虫与API。
3数据收集的合规性:确保数据收集过程中遵循隐私保护和数据安全法律法规。2数据质量评估:评估数据的完整性、准确性、一致性。机器学习的基本流程数据预处理数据预处理是对收集到的数据进行清洗、转换和准备的过程。原始数据通常不适合直接用于机器学习模型,因此需要进行处理和转换。
1.数据清洗4.特征工程2.数据格式化3.数据标准化/归一化5.数据分割机器学习的基本流程划分数据集数据集的划分对于评估模型的泛化能力至关重要,避免出现过拟合或欠拟合。常见的划分方法是:
随机将数据集分为训练集、验证集和测试集。简单划分每次使用一个样本作为验证集,其余作为训练集,适用于数据量较少的情况。留一交叉验证将数据集分为K个子集,轮流选择一个子集作为验证集,其他子集作为训练集,常见的有K-fold交叉验证。交叉验证机器学习的基本流程模型选择与训练数据集的划分对于评估模型的泛化能力至关重要,避免出现过拟合或欠拟合。常见的划分方法是:
1选择合适的算法:监督学习、无监督学习、深度学习……33.超参数调优:网格搜索、随机搜索、贝叶斯优化……2训练模型:初始化参数、训练过程、过拟合和正则化……机器学习的基本流程模型评估模型评估是对训练后的模型进行性能测试的过程,目的是了解模型的泛化能力,即其在未见过的新数据上的表现。使用测试集评估模型:使用测试集来测试模型的准确性,避免模型过拟合训练集。分类问题:通过计算准确率、精确率、召回率、F1分数等评估指标来评价模型。回归问题:通过均方误差(MSE)、均方根误差(RMSE)、决定系数(R²)等来评估模型的拟合度。混淆矩阵:对分类问题,可以使用混淆矩阵(confusionmatrix)来分析模型的具体错误,帮助理解模型偏向的类别。交叉验证:通过交叉验证对模型进行更稳定的评估,避免偶然的高低误差。
机器学习的基本流程模型优化模型优化的目标是提升模型的预测性能,确保其能够在真实数据中发挥最大作用。调整超参数:通过调节模型的超参数,如学习率、树的深度、正则化系数等,进一步提高模型性能。特征工程优化:通过增加更多有意义的特征、删除无关特征、调整特征的表达方式来提升模型的学习能力。集成学习方法:例如随机森林、XGBoost等,通过组合多个基学习器的输出,提高整体预测精度。模型融合:如投票法(voting)、加权平均法(weightedaveraging)、堆叠(stacking)等方法来组合多个模型的输出。
机器学习的基本流程模型部署一旦模型训练并优化完成,需要将其部署到生产环境中,供实际业务使用。导出模型:将训练好的模型保存为可用格式,如Pickle、Joblib、PMML、ONNX等。部署平台:将模型部署到适当的服务器、云平台或本地环境,确保其能够实时或批量进行预测。构建API:使用Flask、FastAPI等工具,将模型暴露为API服务,供前端或其他系统调用。监控模型:实时监控模型的性能,确保其准确性和稳定性。
机器学习的基本流程模型维护与更新模型一旦部署到生产环境中,仍然需要定期维护和更新,以保证其在长期使用中的表现。性能监控:监控模型在生产环境中的表现,包括准确性、召回率等。概念漂移:当数据的分布发生变化时,需要重新训练模型。监控数据分布和预测的变化,以及时识别概念漂移。增量学习:如果数据量非常大,可以使用增量学习技术,让模型在新增数据的基础上进行更新,而不是从头开始训练。
实战:实现线性回归模型1.5实战:实现线性回归模型目标本节将使用Python中的Scikit-learn库来实现线性回归模型,并对数据进行训练和预测。实验步骤具体步骤如下:1.导入必要的库2.数据加载与探索3.数据划分4.创建线性回归模型并训练5.模型预测6.模型评估7.可视化结果实战:实现线性回归模型实验步骤使用一个简单的示例数据集,假设有一个数据集,包含房屋的面积(X)和房价(Y)。这个数据集可以模拟现实中房屋面积与价格之间的关系。房屋面积(m²)房价(万元)501506018080240100300120350150400180450200500250600300700房屋面积与价格的数据关系实战:实现线性回归模型实验步骤1.导入必要的库importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimportmean_squared_error,r2_score实战:实现线性回归模型实验步骤2.数据加载与探索#构造数据集data={'Area':[50,60,80,100,120,150,180,200,250,300],'Price':[150,180,240,300,350,400,450,500,600,700]}#将数据转换为DataFramedf=pd.DataFrame(data)#查看数据print(df)实战:实现线性回归模型实验步骤3.数据划分#特征和目标变量X=df[['Area']]#房屋面积y=df['Price']#房价#划分数据集,80%的数据用于训练,20%用于测试X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)print(f"训练集X:{X_train.shape},测试集X:{X_test.shape}")实战:实现线性回归模型实验步骤4.创建线性回归模型并训练#创建线性回归模型model=LinearRegression()#训练模型model.fit(X_train,y_train)#输出训练的线性回归模型参数(斜率和截距)print("模型系数(斜率):",model.coef_)print("模型截距:",ercept_)实战:实现线性回归模型实验步骤5.模型预测#用测试集预测房价y_pred=model.predict(X_test)#输出预测结果print("实际房价:",y_test.values)print("预测房价:",y_pred)实战:实现线性回归模型实验步骤6.模型评估#计算均方误差(MSE)mse=mean_squared_error(y_test,y_pred)print("均方误差(MSE):",mse)#计算决定系数(R²)r2=r2_score(y_test,y_pred)print("决定系数(R²):",r2)实战:实现线性回归模型实验步骤7.可视化结果#可视化实际房价与预测房价plt.scatter(X_test,y_test,color='blue',label='实际房价')plt.plot(X_test,y_pred,color='red',label='预测房价')plt.xlabel('房屋面积(m²)')plt.ylabel('房价(万元)')plt.title('线性回归:房屋面积与房价的关系')plt.legend()plt.show()思考与练习一、问答题1.机器学习与人工智能的关系是什么?请简要说明机器学习如何作为人工智能的核心技术之一,推动人工智能的发展。2.请简述监督学习与无监督学习的主要区别,并分别举例说明它们在实际应用中的不同应用场景。3.在机器学习中,为什么数据预处理非常重要?请列举几种常见的数据预处理方法,并简要说明它们的作用。思考与练习房屋面积(m²)卧室数量房价(万元)5011506011808012401002300120235015034001803450200350025046003004700
人工神经网络与深度学习基础——从理论原理到实战应用1.神经网络的基本概念2.前向传播与反向传播3.激活函数及其选择4.深度学习与传统机器学习的对比5.深度学习的应用场景6.实战:
多层感知机实现MNIST分类7.本章小结与思考练习8.答疑环节1神经网络的基本概念神经网络起源与定义Input
layerHidden
layers
Output
layer灵感来源受哺乳动物中央神经系统启发的机器学习模型核心构成人工神经元与可学习连接权重深度学习关系复杂神经网络的学习即深度学习生物神经元
提出背景
Frank
Rosenblatt
(1957年)
核心组件
输入信号(X₁
、X₂)
神经元、权重、阈值(θ)感知机结构示意图感知机的结构与原理异或问题(XOR)示例单层感知机无法找到一条直线将不同类别点分开能力边界仅处理线性可分问题(如
“与”、“或”、“非”运算)典型瓶颈无法解决“异或”
问题(非线性可分)问题本质线性模型无法拟合
非线性决策边界感知机的局限性
多层感知机结构示意图引入隐藏层
添加1个及以上隐藏层,增强模型表达能力多层感知机(MLP)的结构
核心改进
三
层
架
构
输入层接收原始数据隐藏层
信息深度加工输出层
输出结果案例:“异或”问题的解决通过隐藏层构建非线性决策边界,解决单层感知机无法处
理的非线性问题关键突破非线性激活函数+多层结构,实现复杂特征提取核心流程多层感知机的工作原理加权求和
激活函数处理
逐层传递实现“异或”的多层感知机对比维度感知机多层感知机结构单层网络多层网络(含隐藏层)学习能力线性可分问题非线性问题训练算法感知机学习规则反向传播应用场景简单分类复杂模式识别局限性无法解决XOR问题训练复杂度高核心差异隐藏层增强表
达能力∑非线性激活解
决复杂问题反向传播优化
网络参数感知机与多层感知机对比2前向传播与反向传播
定义
数据从输入层到输出层的单向计算与存储过程
依赖结构前馈神经网络(无环、层间全连接)核心步骤
输入层接收数据
隐藏层逐层计算传递前向传播的定义与流程前馈神经网络结构示意图输出层产生结果前向传播的数学表达符号定义
关键公式
L
网络层数
输入层→
隐藏层
隐藏层间
隐藏层→输出层输入数
权重
偏进行线性变激活处和据通过
矩阵
置换
,再通过函数理上一层输当前层
,重复线性变换和
出作为输入
激活函数处理最后隐藏层输最终变
得到网络预测出经
换
结果
∑
数学基础链式法则(梯度反向传递)三
反向传播定义通过损失函数梯度反向调整权重,最小化误差梯度下降类比从山顶沿最陡坡度下山
关键参数:学习率(η)反向传播的核心思想与梯度下降梯度下降过程示意图
过大:震荡不收敛
过小:收敛慢效率
低
←
反向计算误差输出层误差→
隐藏层误差(逐层传递)
反向传播的步骤反向传播示意图3213激活函数的选择关键结论无激活函数的神经网络等价于线性回归模型控制输出范围稳定训练概率区间[0,1]引入非线性突破线性模型限制
拟合复杂关系激活函数的核心作用促进梯度传播缓解梯度消失缓解梯度爆炸
Activation
FunctionsReLU函数图像
特性输出范围:[0,+∞]数学表达式ReLU(x)=max(0,X)常见激活函数——
ReLU∑
优点
计算简单
缓解梯度消失
稀疏激活
缺点
死亡Re
LU问题
非零中心化Sigmoid输出范围(0,1)优点概率表示直观常见激活函数——Sigmoid与Tanh缺点×
梯度消失
×计算复杂缺点
仍有梯度消失问题Tanh
输出范围:(-1,1)Sigmoid函数输出范围(0,1)常用于二分类输出层Tanh函数输出范围(-1,1),
以0为中心,适合隐藏层优点
零中心化利于优化
按任务类型选择
分类任务稀疏数据避免梯度消失概率输出输出层
Sigmoid(二分类)
Softmax(
多分类)激活函数选择策略隐藏层ReLU(首选)隐藏层ReLU/Tanh
特殊场景适配输出层无激活
回归任务
推荐:ReLU
推荐:Rigmoid
推荐:ReLU变体4深度学习与传统机器学习的对比对比维度传统机器学习深度学习特征提取方式人工设计(依赖专家)自动提取(
多层网络)关键步骤数据预处理→特征工程→模型训练数据预处理→模型训练(
自动特征提取)优势可解释性强、计算资源需求低特征提取能力强、泛化性能好劣势特征工程复杂、依赖领域知识计算资源需求高、可解释性差
图像:HOG特征
图像:CNN特征
传统机器学习示例
深度学习示例特征工程对比
文本:TF-IDF特征
表格:统计特征
文本:Transformer嵌入
表格:TabNet特征对比维度传统机器学习深度学习模型复杂度低复杂度高复杂度数据需求少数据(数百-数千)多数据(数万-数百万)计算资源CPU即可需GPU/TPU训练时间训练快(分钟-小时)训练久(小时-天)代表模型随机森林、SVM、决策树CNN、Transformer、
RNN
低复杂度:参数少
,模型简单
高复杂度:
多层结构
,参数多模型复杂度与训练需求对比
传统机器学习
深度学习
少数据:适合小数据集场景
CPU即可:计算资源需求低
训练快:快速迭代和实验
多数据:需要大量数据训练
需GPU/TPU:并行计算加速
训练久:复杂模型需长时间训练
传统方法手工特征+SVM
传统方法词袋+朴素贝叶斯
传统方法ARIMA+手工特征
传统方法处理不同类型数据的能力对比
深度学习RNN/Transformer
结构化数据
深度学习CNN
自动特征
图像数据
深度学习LSTM/GRU
深度学习文本数据时间序列5深度学习的应用场景
工
作
原
理卷积层提取特征核心技术卷积神经网络CNN
典型应用图像识别与分类CNN
在人脸识别中的应用,可提取关键特征点全连接层分类池化层
降维
医疗影像分析安全监控自动驾驶检测工业质量检测
核心技术
Transformer模型在多语言翻译中的应用,实现高质量跨语言转换自然语言处理与文本生成Test
PrdietboanSeathrtAnalbydSpeechReoutinm
情感分析
机器翻译
典型应用机器翻译情感分析智能客服文本生成RNNLSTMGRUTransformerTrainedMadelnoDEEPLEARNING自动驾驶决策机器人控制游戏Al资源管理TRAININGm
daTrainedModel智能体与环境交互优化决策策略
核心原理■■■
典
型
应
用口r奖励反馈强化学习与自动决策强化学习在自动驾驶中的应用,通过环境交互不断优化决策策略6实战:
多层感知机实现MNIST分类☆
特点数据集概述手写数字灰度图像数据集田
数据组成60,000训练集28×28像素MNIST数据集介绍10,000测试集28×28像素
简单易用
广泛用于入门实验
简单易用
标准化MNIST数据集包含0-9的手写数字图像,是深度学习入门的经典数据集import
torchimporttorch
.nn
as
nnimporttorch
.optim
as
optimimporttorchvisionimport
torchvision
.transforms
as
transformstransform=transforms.Compose([transforms
.ToTensor,transforms.Normalize((0.5,),
(0.5,))
代码实现步骤(一)
:环境准备与数据加载
torch
-核心张量计算库
torch.nn
-神经网络模块
ToTensor-转换为张量
Normalize
-归一化处理
数据预处理train_dataset=torchvision.datasets.MNIST(root='./data',train=True,download=True,transform=transform)test_dataset=torchvision.datasets.MNIST(root='./data',train=False,download=True,transform=transform)
train_loader=torch.utils.data.DataLoader(dataset=train_dataset,batch_size=64,shuffle=True)test_loader=torch.utils.data.DataLoader(dataset=test_dataset,batch_size=1000,shuffle=False)
数据集构建
数据加载器封装
加载数据model=MLP()criterion=nn.CrossEntropyLoss()optimizer=optim.SGD(model.parameters()lr=0.01,momentum=0.9)
forepochinrange(10):#10轮训练runningloss=0.0
fori,(inputs,labels)intrain_loader:optimizer.zero_grad()outputs=model(inputs)loss=criterion(outputs,labels)loss.backward()optimizer.step()runningloss+=loss.item()print(f'Epoch{epoch+1},Loss:{runningloss/len(trainloader)
class
MLP(nn.Module):
def_init_(self):super(MLP,self)._init()
self.fc1=nn.Linear(28*28,512)
self.fc2=nn.Linear(512,256)self.fc3=nn.Linear(256,10)
defforward(self,x):
x=x.view(-1,28*28)x=F.relu(self.fc1(x))x=F.relu(self.fc2(x))x=self.fc3(x)
returnx输入层28×28→512→隐藏层
512→256→输出层256→
10代码实现步骤(二)
:模型构建与训练
MLP模型定义
训练配置
学习率0.01
SGD优化器
交叉熵损失
动量0.9训练损失曲线
model.eval()#设为评估模式correct=0total=0
withtorch.no_grad():#无梯度计算
forimages,labelsintestloader:outputs=model(images)_,predicted=torch.max(outputs.data,1)total+=labels.size(0)correct+=(predicted==labels).sum().item()accuracy=100*correct/totalprint(f'测试集准确率:{accuracy:.2f}%'模型测试与结果分析预期结果测试集准确率约97%-98%2
无梯度计算(提高效率)1模型设为eval模式
增加神经元数量
测试流程
优化方向
增加网络层数
调整学习率
更换优化器3
统计准确率
测试准确率柱状图随着训练轮数增加,损失逐渐降低
各数字类别的识别准确率分布7本章小结与思考练习
实践收获PyTorch构建MLP的完整流程2
核心算法前向传播(计算预测)
反向传播(优化权重)4
核心优势自动特征提取、强非线性拟合1
神经网络基础感知机到多层感知机的演进3
关键组件激活函数(
引入非线性)
核心知识点回顾
数据加载与预处理
模型定义与初始化
训练循环与优化
评估与结果分析本章小结1
调整学习率(0.001/0.01/0.1)
优化MNIST分类
1简述
MLP
处理复杂数据的
优势及工作原理2
2解释前向传播与反向传
播的作用及区别思考与练习
问答题
实践题3对比深度学习与传统机器
学习的数据处理效率与适
用性2
评估不同学习率的训练速度与准确率
,打印各类别准确率8答疑环节后续学习建议探索卷积神经网络(CNN)
、循环神经网络(
RNN)
和Transformer等高级模型联系方式课程资源:github.com/neural-networks邮箱咨询:开放提问交流欢迎提出关于神经网络原理、
实现细节或应用场景的任何问题
答疑环节
感谢聆听第3章深度学习环境配置
3.1深度学习环境概述3.2安装CUDA与驱动程序3.3安装Anaconda与PyTorch3.4配置PyTorch的GPU加速3.5测试与排错3.6项目实践———搭建GPU加速的PyTorch环境并测试运行深度学习环境概述3.1环境基本要求深度学习环境需高性能CPU、CUDA兼容GPU、充足内存与高速存储,确保计算与存储资源充沛。硬件基础操作系统(Linux/Windows)、Python编程语言、深度学习框架(如PyTorch)及加速库(CUDA、cuDNN)构成软件基础,支撑模型开发与训练。软件配置利用Anaconda、Virtualenv等工具创建隔离的虚拟环境,避免项目间依赖冲突,确保环境一致性与可复现性。环境管理01高性能CPU配置建议配置i78核以上,负责数据预处理和模型评估等非计算密集型任务。02GPU核心硬件推荐NvidiaGPU,显存6G以上,通过CUDA计算加速深度学习模型训练。03充足内存需求需要16G以上的内存,以支持大数据集的加载和处理。04高速存储设备使用SSD确保数据能够快速读取,提高训练效率。05高速网络设备保证数据传输速度,优化整体训练流程。06优化训练流程综合以上配置,确保数据处理和模型训练的高效性。硬件基础软件配置Windows10因其易用性和广泛的兼容性而被应用于深度学习环境。深度学习环境通常选择Linux或Windows10,Linux以其稳定性和对开源软件的支持而受欢迎。Python是深度学习领域最流行的编程语言,其简洁的语法、丰富的库和社区支持使其成为开发者的首选。PyTorch、TensorFlow、Keras和MXNet是最流行的深度学习框架,提供了丰富的API和工具。这些框架用于构建神经网络、定义损失函数、优化算法和进行模型评估。编程语言流行框架Windows优势操作系统选择框架功能环境管理Anaconda是Python发行版,含Conda环境管理器,便于创建和管理虚拟环境,避免项目间依赖冲突。Virtualenv为Python虚拟环境管理器,手动安装包和依赖,有效隔离项目依赖,保持环境纯净。AnacondaVirtualenvMiniconda为轻量级版本,仅含Conda管理器和Python解释器,适合仅需环境管理的用户。Miniconda开发工具数据集管理工具010203集成开发环境JupyterNotebook支持代码、文本和图像,便于数据分析、可视化和模型实验。PyCharm、VSCode和Spyder等IDE,提供代码补全、调试、版本控制等功能,适合深度学习模型开发。Pandas和Scikit-learn提供数据预处理、特征工程和经典数据集,助力深度学习模型开发。交互式笔记本环境安装CUDA与驱动程序3.2CUDA安装指南准备工作确保系统支持CUDA,下载匹配的CUDA安装包,准备安装NVIDIA显卡驱动程序。下载CUDA访问NVIDIA官网,根据系统和显卡选择CUDA版本进行下载。安装显卡驱动先安装NVIDIA显卡驱动,确保显卡正常工作,再安装CUDAToolkit。安装CUDAToolkit运行CUDA安装包,选择自定义安装,设置环境变量,完成CUDA安装。NVIDIA驱动与CUDA兼容性版本兼容性不同CUDA版本需匹配特定NVIDIA驱动,否则影响运行。驱动更新更新CUDA时同步更新驱动,避免兼容性问题。驱动安装确保系统软件包更新,解决依赖包缺失、权限不足等问题。内核模块加载内核版本不兼容时,检查日志、重建模块或更换内核版本。CUDNN安装指南访问NVIDIA开发者网站,注册账号以下载cuDNN。注册NVIDIA账号将cuDNN的bin、lib、include文件复制到CUDA安装目录。复制cuDNN文件将cuDNN的include和lib目录添加到系统环境变量中。配置环境变量根据CUDA版本和操作系统,选择合适的cuDNN版本进行下载。下载cuDNN安装Anaconda与PyTorch3.3Anaconda下载与安装前往Anaconda官网(/download),根据操作系统选择合适的Anaconda版本。访问Anaconda官网运行安装程序,遵循向导完成安装。安装后,通过命令行输入"conda--version"检查Anaconda版本,确保安装成功。安装与验证点击下载链接,获取适用于Windows的Anaconda安装包。若官网下载缓慢,可选择国内镜像源加速下载。下载安装包创建Python虚拟环境Python虚拟环境确保每个项目在独立环境中运行。隔离项目依赖Anaconda提供包和环境的统一管理,简化了虚拟环境的管理。简化环境管理使用`condacreate-nmyenvpython=3.11`命令创建虚拟环境。创建虚拟环境使用`condaactivatemyenv`命令激活环境以进行项目开发。激活虚拟环境每个项目拥有独立的环境,避免依赖冲突。确保环境独立Anaconda作为强大的工具,支持环境和包的高效管理。统一管理工具PyTorch与依赖包安装在激活的虚拟环境中,使用conda命令安装指定版本的PyTorch,确保与CUDA版本匹配。PyTorch安装安装torchaud
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江西新能源科技职业学院高职单招笔试数学历年参考题库含答案解析
- 2027年备考临床医师详细试题及答案一
- 药剂员高级考试模拟题题库带答案
- 药学概述题库及参考答案
- 葛洲坝国际2026年届全球校园招聘考试备考题库及答案
- 行政办事员测试题库带答案
- 行测计算题库及参考答案
- 认证院事业单位紧缺岗位第二次招聘通告笔试备考题库及答案
- 辽宁铁道职业技术学院单招职业技能测试题库带答案
- 通信工程师高级考试题库及参考答案
- 安全生产考核巡查办法
- 盘式制动器拆装课件
- 2022建筑电气防火检测技术规程
- 塑胶-塑胶件控制计划
- DBJT15-189-2020 广东省公共厕所设计标准
- 蛋糕店食品安全管理制度
- 大数据与财务管理专业教学标准(高等职业教育本科)2025修订
- DZ/T 0153-2014物化探工程测量规范
- T/CECS 10201-2022丁基橡胶自粘防水卷材
- 易货师专业知识培训课件
- 《欧盟介绍演讲》课件
评论
0/150
提交评论