人工智能:从基础到实践(微课视频版)课件 第4章 机器学习基础_第1页
人工智能:从基础到实践(微课视频版)课件 第4章 机器学习基础_第2页
人工智能:从基础到实践(微课视频版)课件 第4章 机器学习基础_第3页
人工智能:从基础到实践(微课视频版)课件 第4章 机器学习基础_第4页
人工智能:从基础到实践(微课视频版)课件 第4章 机器学习基础_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章机器学习基础任课教师:1:基础概念21.1:什么是人工智能、机器学习、深度学习?

3AI,ML,DL:关系与应用三者之间的关系图示:4机器学习的应用领域举例:图像识别自然语言处理(NLP)推荐系统金融风控与量化交易医疗诊断与药物研发51.2:机器学习的分类根据数据是否有标签:有监督学习(SupervisedLearning):数据有标签(e.g.,(图片,“猫”))无监督学习(UnsupervisedLearning):数据无标签(e.g.,用户购买记录)半监督学习(Semi-SupervisedLearning):部分数据有标签根据与环境的交互:强化学习(ReinforcementLearning):通过与环境交互学习,获取奖励/惩罚其他分类角度:批量学习(BatchLearning)vs在线学习(OnlineLearning)参数化模型(Parametric)vs非参数化模型(Non-parametric)61.3:机器学习工作流程概述问题定义与目标设定:明确业务需求,定义问题类型(分类、回归等)数据收集与理解:获取原始数据,理解数据含义、来源、质量数据预处理与特征工程(至关重要!):清洗数据、处理缺失/异常值、特征提取/转换/选择模型选择与训练:选择合适的算法,用训练数据训练模型模型评估与调优:使用评估指标衡量模型性能,调整超参数模型部署与监控:将模型集成到实际应用,持续监控性能71.4:数据基础数据类型:结构化数据:表格数据(e.g.,数据库、CSV)非结构化数据:文本、图像、音频、视频半结构化数据:JSON,XML特征(Features)和标签(Labels):特征(X):输入变量,用于预测的属性。标签(y):输出变量,需要预测的目标(有监督学习)。8数据集的划分:训练集(TrainingSet):用于训练模型。验证集(ValidationSet):用于调整模型超参数和初步评估。测试集(TestSet):用于最终评估模型泛化能力。数据质量问题:缺失值、异常值、噪声。特征工程的重要性:从原始数据中提取有用的信息,决定了模型性能的上限。92:有监督学习(SupervisedLearning)102.1:有监督学习深入

11

122.2:线性回归(LinearRegression)-单变量

13

14单变量线性回归:可视化与梯度下降

152.3:线性回归-多变量

16

17多变量线性回归:梯度下降梯度下降(GradientDescent)变种:批量梯度下降(BatchGD):每次迭代使用所有训练样本计算梯度。优点:梯度准确,易收敛到全局最优(对于凸函数)。缺点:数据量大时,每次迭代慢。随机梯度下降(StochasticGD,SGD):每次迭代随机选一个样本计算梯度。优点:迭代快,可能跳出局部最优。缺点:梯度有噪声,收敛慢,可能在最优解附近震荡。小批量梯度下降(Mini-batchGD):每次迭代使用一小批样本计算梯度。优点:结合BGD和SGD的优点,常用。18

192.4:线性模型扩展

20

212.5:逻辑回归(LogisticRegression)-二分类

22逻辑回归:损失函数与多分类

23

242.6:决策树(DecisionTrees)概念:基于特征对数据进行递归划分的树状结构模型。每个内部节点代表一个特征上的判断。每个分支代表一个判断结果的输出。每个叶节点代表一个类别标签(分类树)或一个数值(回归树)。25构建过程(ID3,C4.5,CART):选择最佳划分特征和划分点:使划分后的子集“纯度”最高。递归地构建子树:对划分后的子集重复步骤1。停止条件:节点样本全部属于同一类别。达到最大深度。节点样本数小于预设阈值。节点纯度提升小于预设阈值。26决策树:划分标准与剪枝

27剪枝(Pruning):避免过拟合。预剪枝(Pre-pruning):在构建过程中提前停止(e.g.,限制深度、叶节点样本数)。后剪枝(Post-pruning):构建完整树后,自底向上移除一些子树,用验证集评估。优缺点:优点:易于理解和可视化,可处理分类和回归,对缺失值不敏感,无需特征缩放。缺点:容易过拟合,对样本扰动敏感(不稳定),忽略特征间关联性,倾向于选择取值多的特征(信息增益)。282.7:集成学习(EnsembleLearning)概念:结合多个(弱)学习器的预测结果以获得比单个学习器更好的性能和泛化能力。“三个臭皮匠,顶个诸葛亮”为什么有效?统计层面:减少因随机性导致的错误。计算层面:帮助跳出局部最优。表示层面:扩大假设空间。通常能减少方差(Bagging),减少偏差(Boosting),提高稳定性。29常见方法:Bagging(BootstrapAggregating):并行训练多个独立模型。代表:随机森林(RandomForest)Boosting:串行训练多个模型,每个模型关注前一个模型预测错误的样本。代表:AdaBoost,GradientBoosting(GBDT),XGBoost,LightGBMStacking(StackedGeneralization):训练一个元模型(meta-model)来结合多个基础模型的预测。302.8:随机森林(RandomForests)

31

322.9:支持向量机(SupportVectorMachines-SVM)概念:寻找一个最优的超平面(Hyperplane),使得不同类别之间的间隔(Margin)最大化。目标是找到“最胖”的那条分割线。支持向量(SupportVectors):距离超平面最近的那些点,它们决定了超平面的位置和间隔大小。主要思想:线性可分:找到最大间隔分离超平面。线性不可分:软间隔:允许少量样本被错误分类或在间隔内。核技巧:将数据映射到更高维空间,使其线性可分。33SVM:硬间隔与软间隔

34

35SVM:核技巧与优缺点

36

372.10:有监督学习评估指标(分类)混淆矩阵(ConfusionMatrix):TP(TruePositive):实际为正,预测为正TN(TrueNegative):实际为负,预测为负FP(FalsePositive/TypeIError):实际为负,预测为正(误报)FN(FalseNegative/TypeIIError):实际为正,预测为负(漏报)38

39ROC曲线(ReceiverOperatingCharacteristicCurve):以假正例率(FPR=FP/(FP+TN))为横轴,真正例率(TPR=Recall)为纵轴。展示分类器在不同分类阈值下的性能。曲线越靠近左上角,性能越好。AUC(AreaUnderCurve):ROC曲线下的面积。AUC值在0.5到1之间。AUC=1表示完美分类器,AUC=0.5表示随机猜测。一个综合评估分类器性能的指标,对类别不平衡不敏感。40有监督学习评估指标(回归)

41

42交叉验证(Cross-Validation)目的:更可靠地评估模型性能,避免因单次划分数据集的随机性带来的偏差,辅助超参数调优。K折交叉验证(K-FoldCross-Validation):将原始训练数据随机分成K个互不相交的子集(折,fold)。进行K次迭代:每次选择1个子集作为验证集。其余K-1个子集作为训练集。训练模型并在验证集上评估。最终评估指标是K次评估结果的平均值。[Diagram:Illustrationof5-FoldCross-Validation]其他方法:留一法(LOOCV,K=N),分层K折(StratifiedK-Fold,保持类别比例)。433:无监督学习(UnsupervisedLearning)443.1:无监督学习深入回顾:定义:从未标记的数据中学习隐藏的模式或结构。目标:发现数据本身的内在规律。常见任务:聚类(Clustering):将相似的数据点分到同一组。降维(DimensionalityReduction):减少数据特征数量,同时保留重要信息。关联规则挖掘(AssociationRuleMining):发现数据项之间的有趣关系(e.g.,“啤酒与尿布”)。异常检测(AnomalyDetection):识别与大多数数据显著不同的数据点。45与有监督学习的区别:无监督:输入数据X,无标签y。有监督:输入数据(X,y)。应用场景举例:客户分群、图像分割、文本主题建模、基因表达分析。463.2:聚类分析(ClusteringAnalysis)

47聚类算法类型:基于划分(Partition-based):K-Means,K-Medoids基于层次(Hierarchical):凝聚型(Agglomerative),分裂型(Divisive)基于密度(Density-based):DBSCAN,OPTICS基于模型(Model-based):高斯混合模型(GMM)基于网格(Grid-based):STING,CLIQUE483.3:K-Means聚类

49选择K值:肘部法则(ElbowMethod):绘制不同K值对应的WCSS曲线,选择曲线斜率变化最明显的“肘点”。轮廓系数(SilhouetteScore):衡量簇的紧密性和分离度。优缺点:优点:简单易实现,计算效率高(对大数据集)。缺点:需预先指定K值。对初始质心敏感,可能陷入局部最优(可多次运行取最优)。对非球形簇、不同大小/密度的簇、噪声和异常值敏感。假设簇是凸形的。503.4:层次聚类(HierarchicalClustering)概念:构建一个树状的聚类结构(树状图Dendrogram)。不需要预先指定簇的数量K。类型:凝聚型(Agglomerative/Bottom-up):开始时,每个数据点自成一簇。重复合并最相似(距离最近)的两个簇。直到所有数据点合并成一个簇,或达到指定簇数。分裂型(Divisive/Top-down):开始时,所有数据点在一个簇。重复分裂簇(通常较复杂)。直到每个数据点自成一簇,或达到指定簇数。51簇之间的距离计算方法(Linkage):单链接(SingleLinkage/MIN):两个簇中最近样本间的距离。全链接(CompleteLinkage/MAX):两个簇中最远样本间的距离。平均链接(AverageLinkage/UPGMA):两个簇中所有样本对之间距离的平均值。Ward’sLinkage:合并后使得簇内平方和增量最小的两个簇。52树状图(Dendrogram):可视化聚类过程。横轴是样本,纵轴是距离。通过在某个距离阈值水平切割树状图,可以得到不同数量的簇。[Diagram:ExampleDendrogram]优缺点:优点:不需要预先指定簇的数量,可以得到层次结构,易于理解。缺点:计算复杂度高(通常O(N³)或O(N²logN)),对大数据集不适用,对异常值敏感,一旦合并/分裂不可撤销。533.5:DBSCAN(Density-BasedSpatialClusteringofApplicationswithNoise)

54

553.6:聚类评估指标

56

573.7:主成分分析(PrincipalComponentAnalysis-PCA)概念:一种常用的线性降维(DimensionalityReduction)技术。目标:找到数据中方差最大的几个正交方向(主成分,PrincipalComponents)。将高维数据投影到这些主成分构成的低维子空间上,实现降维。尽可能保留原始数据的大部分信息(方差)。为什么降维?去除冗余特征和噪声。减少计算复杂度,加速后续模型训练。数据可视化(降到2D或3D)。缓解维度灾难。58PCA:数学原理

59

60PCA:选择K值与优缺点

61优缺点:优点:简单易实现,计算效率较高。有效去除数据冗余,降低噪声。主成分之间无相关性(正交)。缺点:只捕捉线性关系,对非线性结构效果不佳。对数据缩放敏感(需要预先标准化)。主成分的解释性可能不强(是原始特征的线性组合)。可能丢失少量方差,但有用的信息。选择K值依赖经验或启发式方法。623.8:其他降维方法线性判别分析(LinearDiscriminantAnalysis,LDA):有监督的降维方法(与PCA不同)。目标:投影后使得类内方差最小,类间方差最大。更侧重于分类任务的降维。63流形学习(ManifoldLearning):非线性降维方法,假设高维数据实际分布在一个低维流形上。目标:找到这个低维流形结构。t-SNE(t-DistributedStochasticNeighborEmbedding):常用于高维数据的可视化(2D或3D)。保留局部结构,但全局结构可能失真。计算成本高。Isomap(IsometricMapping):基于测地线距离保持点之间的全局几何结构。LLE(LocallyLinearEmbedding):假设每个数据点可以由其邻近点的线性组合来重构。保留局部邻域结构。644:强化学习(ReinforcementLearning)654.1:强化学习基础

66马尔可夫决策过程(MarkovDecisionProcess,MDP)

67

68贝尔曼方程(BellmanEquation)

69

704.2:强化学习学习类型

71

72Actor-Critic:结合基于价值和基于策略的方法。Actor(行动者):学习策略。Critic(评论者):学习价值函数,用于评估Actor的行为。代表:A2C,A3C,DDPG.734.3:动态规划(DynamicProgramming)

74

754.4:MonteCarlo(MC)方法

76

77优点:无需MDP模型。可以从真实或模拟经验中学习。对马尔可夫性要求不高(可用于非MDP问题)。缺点:只适用于回合式任务(必须有终止状态)。学习效率较低,方差可能较高(回报依赖于整个回合)。需要等到回合结束后才能更新价值。784.5:时序差分学习(Temporal-DifferenceLearning)

79

80Sarsa与Q-Learning(TD控制算法)

81

824.6:强化学习案例分析经典案例(常用于研究和教学):走迷宫(GridWorld):智能体在网格中移动,目标是到达终点。小车爬山(MountainCar):小车动力不足,需来回晃动积累动能爬上山顶。倒立摆(CartPole):控制小车移动,使杆子保持平衡。棋类游戏:国际象棋(DeepBlue)围棋(AlphaGo,AlphaZero)-里程碑式突破Atari游戏(DeepQ-Network,DQN)83实际应用案例:机器人控制:机械臂操作、机器人导航、无人机飞行。自动驾驶:决策制定(路径规划、速度控制)。推荐系统:动态调整推荐策略以最大化用户长期参与度。资源调度与优化:数据中心能源管理、网络流量控制、供应链优化。金融交易:自动交易策略制定。自然语言处理:对话系统、机器翻译。845:半监督学习(Semi-SupervisedLearning)855.1:半监督学习(Semi-SupervisedLearning)定义:一种介于有监督学习和无监督学习之间的学习范式。训练数据同时包含少量有标签数据(labeleddata)和大量无标签数据(unlabeleddata)。动机(WhySSL?):获取有标签数据通常成本高昂、耗时费力(e.g.,需要人工标注)。无标签数据则相对容易获取且数量庞大。SSL旨在利用无标签数据来辅助学习,提高模型性能,减少对有标签数据的依赖。86

87半监督学习方法类型基于生成模型(GenerativeModelbased):假设数据是由某个潜在的参数化生成过程产生的(e.g.,高斯混合模型GMM)。利用有标签数据估计模型参数,然后用模型对无标签数据进行预测或参数修正。例如:使用EM算法。基于图的方法(Graph-basedMethods):构建一个图,节点是数据点(有标签和无标签),边表示点之间的相似度。通过在图上传播标签信息(LabelPropagation)来预测无标签数据的标签。例如:标签传播算法、调和函数法。88基于半监督支持向量机(S3VM/TransductiveSVM):目标:找到一个超平面,在正确划分有标签数据的同时,也穿过无标签数据密度较低的区域,最大化间隔。通常是非凸优化问题,求解困难。协同训练(Co-training):前提:数据具有两个或多个条件独立的视图(特征子集),每个视图都足以进行分类。训练两个或多个分类器,分别在不同的视图上。每个分类器将其在无标签数据上置信度最高的预测结果作为“伪标签(pseudo-labels)”提供给其他分类器进行训练。89自训练(Self-training/Self-labeling):使用少量有标签数据训练一个初始模型。用该模型对无标签数据进行预测。将预测置信度最高的若干无标签样本及其“伪标签”加入训练集。重新训练模型。重复2-3。简单有效,但错误可能被放大。906:基于Python编程的机器学习应用实践916.1:Python机器学习生态系统重要的Python库:NumPy(NumericalPython):核心库,提供N维数组对象(ndarray)、线性代数、傅里叶变换等数值计算功能。Pandas:强大的数据处理和分析库,提供DataFrame(二维表格)和Series(一维数组)数据结构。数据清洗、转换、重塑、合并、分组等。Matplotlib/Seaborn:Matplotlib:基础绘图库,可绘制各种静态、动态、交互式图表。Seaborn:基于Matplotlib的高级可视化库,提供更美观、更具统计意义的图形。92重要的Python库:Scikit-learn(sklearn):经典的、全面的机器学习库,包含大量算法(分类、回归、聚类、降维、模型选择、预处理)。提供统一、简洁的API。TensorFlow/PyTorch:主流的深度学习框架,也常用于构建复杂的ML模型(尤其是神经网络)。支持GPU加速,自动微分。开发环境:JupyterNotebook/JupyterLab:交互式计算环境,适合数据探索和原型开发。VSCode,PyCharm:功能强大的集成开发环境(IDE)。936.2:环境搭建与工具使用Python安装与版本管理:推荐Anaconda(包含Python、常用科学计算库、conda包管理器)或Miniconda。多Python版本管理:pyenv(Linux/macOS),Anacondaenvironments.包管理工具:pip:Python官方包安装器(pipinstall<package>)。Conda:Anaconda的包和环境管理器(condainstall<package>,condacreate-nmyenvpython=3.12)。94虚拟环境(VirtualEnvironments):为每个项目创建独立的环境,避免包版本冲突。venv(Python内置):

python-mvenvmyenv_namecondaenv:

condacreate-nmyenv_namepython=3.xpackage1package2激活:condaactivatemyenv_name停用:condadeactivate95JupyterNotebook/Lab基本使用:启动:jupyternotebook或jupyterlab单元格类型:Code,Markdown。IDE(以VSCode为例):*安装Python扩展。*配置解释器(选择虚拟环境)。*集成JupyterNotebook支持。*调试、代码提示、版本控制(Git)等。966.3:数据加载、探索与预处理(Pandas)使用Pandas加载数据:pd.read_csv('file.csv')pd.read_excel('file.xlsx')pd.read_json('file.json')pd.read_sql(query,connection_object)97数据概览:df.head(n):查看前n行数据。df.tail(n):查看后n行数据。():数据类型、非空值数量、内存占用。df.describe():数值特征的描述性统计(均值、标准差、分位数等)。df.shape:数据框的维度(行数,列数)。df.dtypes:每列的数据类型。df['column_name'].value_counts():分类特征的取值频数。df.isnull().sum():每列缺失值的数量。98处理缺失值:删除:

df.dropna(axis=0)(删除行),df.dropna(axis=1)(删除列)填充:

df.fillna(value)(用特定值填充),df['col'].fillna(df['col'].mean(),inplace=True)(用均值填充)处理异常值(Outliers):识别:箱线图、3σ法则、IQR法则。处理:删除、替换(e.g.,用均值/中位数)、分箱。99数据加载、探索与预处理(Matplotlib/Seaborn&FeatureEngineering)数据可视化(Matplotlib/Seaborn):散点图(ScatterPlot):

plt.scatter(x,y)/sns.scatterplot(x='col1',y='col2',data=df)(特征间关系)直方图(Histogram):

plt.hist(x)/sns.histplot(df['col'])(特征分布)箱线图(BoxPlot):

plt.boxplot(x)/sns.boxplot(x='cat_col',y='num_col',data=df)(分布、异常值)条形图(BarPlot):

sns.barplot(...)(分类特征频数或聚合值)相关性矩阵热力图:

sns.heatmap(df.corr(),annot=True)(特征间线性相关性)100特征工程(FeatureEngineering):分类特征编码(CategoricalFeatureEncoding):独热编码(One-HotEncoding):

pd.get_dummies(df['col'])(适用于名义特征)标签编码(LabelEncoding):

sklearn.preprocessing.LabelEncoder(适用于有序特征,或树模型)数值特征缩放(NumericalFeatureScaling):标准化(Standardization):

sklearn.preprocessing.StandardScaler(均值为0,标准差为1)归一化(Normalization/Min-MaxScaling):

sklearn.preprocessing.MinMaxScaler(缩放到[0,1]或[-1,1])数据集划分(Splitting):

X_train,X_test,y_train,y_test=train_test_split(X,y,

test_size=0.2,random_state=42,stratify=y)(stratify用于保持类别比例)1016.4:使用Scikit-learn实现经典算法Scikit-learn统一API结构:选择模型类:

fromsklearn.moduleimportModelClass实例化模型:

model=ModelClass(hyperparameters)训练模型:

model.fit(X_train,y_train)预测:

y_pred=model.predict(X_test)评估:

model.score(X_test,y_test)orspecificmetricsfromsklearn.metrics1026.5:使用Scikit-learn实现决策树决策树实践(DecisionTreeClassifier/DecisionTreeRegressor):重要参数:criterion:‘gini’or‘entropy’(classification),‘mse’,‘mae’(regression)max_depth:树的最大深度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论