版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章
机器学习基础与应用CONTENTS目录5.1
机器学习概述5.2
机器学习流程与评估5.3
机器学习算法5.4
强化学习5.1机器学习概述5.1.1
机器学习的概念1.什么叫机器学习首先将训练数据输入给学习算法,学习算法根据输入的数据生成计算模型,然后再用另一组测试数据输入给计算模型,由该计算模型输出测试结果。2.机器学习的关键进展经典的机器学习主要基于统计学和优化理论,如决策树、k-近邻算法、支持向量机、线性回归、逻辑回归、k均值聚类算法等。进入21世纪,神经网络开始复兴,这些模型能够自动学习特征,减少了对人工干预的需求。。2006年,辛顿等科学家提出了深度学习的概念,通过构建深层神经网络,模拟人脑的多层次处理,大大提高了模型的表示能力和学习效率。2.机器学习的关键进展计算机视觉技术已经能够识别、定位和理解图像内容。随着ResNet、VGG和YOLO等模型的出现,计算机视觉的精度和实时性得到了显著提升。近年来,预训练模型如BERT和GPT系列的出现,使得机器理解和生成人类语言的能力达到了前所未有的水平。机器学习的另一条重要分支是强化学习,它模拟了通过试错来学习的行为。3.机器学习与人工智能的关系机器学习是人工智能的一条分支,强化学习和深度学习都是机器学习的子领域,二者通过技术融合形成了深度强化学习,成为当前研究的热点。5.1.2
机器学习的分类1.监督学习根据有标签的数据找到数据特征(输入)和标签(输出)之间的关系,这种学习方式就叫监督学习。监督学习是先把有分类标签的训练数据连同分类标签输入给学习算法,通过训练学习得到一个计算模型,然后使用这个计算模型对无标签的测试数据进行预测,得到测试结果。在本质上,监督学习的目标在于构建一个由输入到输出的映射,该映射用计算模型来表示。5.1.2
机器学习的分类1.监督学习监督学习的主要任务包括分类(Classification)和回归(Regressive)。分类主要是将输入的数据根据其特征分为不同的类别,这些类别是预先设定且不连续的。回归则是用数学模型来对训练数据进行拟合,以便对未知点进行预测。5.1.2
机器学习的分类2.无监督学习无监督学习不需要人工标注的训练数据,它是基于统计的学习方法,通过对未知结果的数据进行分析来发现数据隐藏特征。无监督学习中最常见的任务是聚类,它根据数据之间的相似性将样本划分为不同的簇(Cluster),通常我们并不预先知道簇的数量和含义。5.1.2
机器学习的分类3.半监督学习半监督学习是监督学习和无监督学习相结合的一种学习方法,它自动地利用好大量无分类标签的训练数据以辅助少量有标签的训练数据进行学习。通过结合少量的有标签数据(这些数据提供了局部的、具体的类别信息)和大量的无标签数据(这些数据提供了整体的、丰富的分布信息),半监督学习算法能够更有效地学习和推断数据的内在结构和关系。5.1.3
机器学习的应用领域1.图像识别和处理通过训练大量的图像数据,机器学习算法可以学习并识别出图像中的特征,从而实现对图像的智能处理。2.自然语言处理自然语言处理是机器学习的另一个重要应用领域,包括文本分类、情感分析、机器翻译等。机器学习算法可以帮助计算机理解和生成人类语言,实现人机交互的智能化。5.1.3
机器学习的应用领域3.推荐系统通过机器学习技术,平台可以根据用户的历史行为和偏好,为用户推荐感兴趣的商品、内容或好友。4.金融风控通过分析大量的金融数据,机器学习算法可以帮助金融机构更好地评估风险和制定策略。5.1.3
机器学习的应用领域5.自动驾驶通过感知、决策和执行三个阶段的协同工作,自动驾驶汽车可以在没有人类干预的情况下完成行驶任务。6.医疗诊断通过对大量的医疗图像、病历数据等进行分析,机器学习模型可以发现疾病的特征,提高诊断的准确性和效率。除此之外,机器学习还可以应用于生物、农业、物流、教育、政府等领域,为各个行业带来更高的效率和更好的服务。5.2
机器学习流程与评估5.2.1
机器学习的基本流程利用机器学习进行智能应用程序开发时,需要遵循的基本流程如图所示。1.收集数据收集数据是机器学习应用的第一步,完成数据的初步选取。通常可以使用网上一些具有代表性的、大众经常使用的公开数据集。如果无法在网上找到现成的数据,那只能收集原始数据,再去一步步进行加工、整理。2.输入数据收集好数据之后,还必须确保数据格式符合要求。这时需要输入数据,将来自多个数据源中的数据合并到一个统一的数据集,并保存成符合要求的数据格式,方便操作。3.数据预处理数据预处理的主要步骤为数据清洗(DataCleaning)、数据变换(DataTransformation)和数据归约(DataReduction)。4.模型训练和测试在进行模型训练之前,要对处理好的数据进行分析,选择合适的算法。首先要判断训练数据是否有标签,其次分析问题的类型是属于分类问题还是回归问题,当确定好问题的类型之后再去选择具体的算法。5.模型评估训练完成之后,通过拆分出来的训练数据来对模型进行评估,通过真实数据和预测数据进行对比来判定模型的好坏。在模型训练完成后,将其投入实际应用环境。5.2.2
机器学习的性能评估指标1.泛化能力在有监督学习中,模型是通过训练数据集进行构建的,并用于预测未知的新数据,这一过程通常称为泛化。其主要目标是提高模型在处理新数据时的预测准确性,从而增强其泛化能力。如果模型在训练数据集上表现优秀,但在测试数据集上表现较差,就说明模型存在过拟合(Overfitting)问题。反之,如果模型在训练集和测试集上的表现都将不尽如人意,这种情形被称作欠拟合(Underfitting)。2.回归的性能评估回归较常见的是均方误差(MeanSquaredError,MSE),即预测值与真实值之间平方误差的平均值。对于模型f(x),有在一些应用中,也可以采用平均绝对误差(MeanAbsoluteError,MAE),即模型预测值与真实值误差绝对值的平均值。对于模型f(x),有3.分类的性能评估下面以二分类问题为例,介绍几种主要的评估指标。(1)混淆矩阵在二分类任务中,常用正类(PositiveClass)或负类(NegativeClass)表示两种类型。混淆矩阵是一个2×2的表格,其中包含样本集中各类的数目。表5-1
二分类任务的混淆矩阵标注的样本类型模型预测类型正类负类正类NTPNFN负类NFPNTN(2)基础指标训练样本总数N=NTP+NFN+NFP+NTN,有以下基础指标。准确率(accuracy):表示所有样本中能正确分类的比例。错误率(errorrate):error
rate=1−ACC,直接反映模型在所有样本中预测错误的比例。。精确率(precision):也称为查准率,表示被模型预测为正类的样本中,实际为正类的比例。召回率(recall):也称为查全率,表示实际为正类的样本中,被模型预测为正类的比例。。F1分数作为精确率和召回率的调和平均数,可以综合这两个指标的表现。F1分数(F1-score):。。5.3
机器学习算法5.3.1
监督学习算法:分类问题1.决策树算法决策树(DecisionTree)的基本思想是通过训练有标签数据构建决策树进行分类。1.决策树算法(1)决策树分类案例编号拥有房产(是/否)婚姻状况(单身/已婚/离婚)年收入(单位:千元)无法偿还债务(是/否)1是单身125否2否已婚100否3否单身70是4是已婚120否5否离婚75是6否已婚60否7是离婚220否8否单身85否9否已婚75否10否单身90否表5-2
决策树构建示例源数据(2)决策树分类的实现在Scikit-learn库中,sklearn.tree.DecisionTreeClassifier类用于实现决策树分类算法,它依据输入数据的特征,借助树状结构来判定数据所属的类别。这个类涵盖了多个关键参数,这些参数可用于控制决策树的构建流程以及性能表现。下面是6个关键参数:criterion(划分标准)、max_depth(最大深度)、min_samples_split(最小样本分割数)、min_samples_leaf(叶子节点最小样本数)、max_features(最大特征数)、random_state(随机种子)。例5-1
使用Scikit-learn建立决策树对表5-2数据集进行分类,并评估分类器的性能。分析:将表5-2数据存放在bankdebt.csv文件中,其内容如图所示。然后使用Pandas库(先用pipinstallpandas命令进行安装)中用于读取CSV文件的函数pd.read_csv(),从文件中读取数据存放到DataFrame变量data中,读文件时指定第一列作为行索引(参数index_col=0),文件中无列名(参数header=None)。例5-2
假设真实标签为y_true=[0,1,0,1,1,0,1,0,0,1],预测标签为y_pred=[0,1,0,0,1,1,1,0,1,1],使用Scikit-learn生成混淆矩阵,并计算评价指标。分析:先自行分析混淆矩阵的构成并计算评价指标,然后编写一个程序,看程序的输出结果和分析结果有何区别。2.k-近邻算法k-近邻算法(k-NearestNeighbors,kNN)是一种以聚类的思想做分类的分类算法。(1)k-近邻分类算法原理有两种类型的带标签的训练样本数据,其中方块代表标签为1的数据,三角形代表标签为0的数据。现输入一个测试样本(标签未知,用圆来表示),那么如何判定这个测试样本的标签到底是1还是0呢?假设X_test为待标记的数据样本,X_train为已标记的数据集,k-近邻算法原理的伪代码描述如下。①
计算距离:遍历X_train中的所有样本,计算每个样本与X_test的距离,并把距离保存在Distance数组中。②
选择邻居:对Distance数组进行排序,取距离最近的k个点,记为X_knn。③
决策分类:在X_knn中统计每个类别的样本个数,即第一类在X_knn中有几个样本,第二类在X_knn中有几个样本等,待标记样本的类别,就是在X_knn中样本个数最多的那个类别。(2)k-近邻分类算法的实现在Scikit-learn库neighbors模块中,提供了KNeighborsClassifier类,用于实现k-近邻分类算法。主要参数包括以下内容。①
n_neighbors:指定k值,默认值为5。②
weights:定义邻居样本的权重方式。③
algorithm:指定计算最近邻的算法。④
metric:定义距离度量方式。⑤
p:Minkowski距离的指数参数。默认值为2(对应欧式距离),p=1表示曼哈顿距离,p=2表示欧式距离。(3)鸢尾花数据集序号萼片长度(cm)萼片宽度(cm)花瓣长度(cm)花瓣宽度(cm)类别15.13.51.40.2山鸢尾24.93.01.40.2山鸢尾34.73.21.30.2山鸢尾………………517.03.24.71.4变色鸢尾526.43.24.51.5变色鸢尾…………...…1016.33.36.02.5维吉尼亚鸢尾1025.82.75.11.9维吉尼亚鸢尾………………表5-4
鸢尾花数据集的内容例5-3
寻找k-近邻分类算法对鸢尾花数据集做分类时最优的k值。分析:首先从Scikit-learn库导入鸢尾花数据集,并拆分为训练集和测试集,然后训练k-近邻分类模型,并利用测试集测试模型。为了找到最优的k值,需要测试不同k下k-近邻分类算法的错误率,再使用Scikit-learn中的交叉验证方法验证。3.支持向量机支持向量机(SupportVectorMachine,SVM)起源于弗拉基米尔·万普尼克(VladimirVapnik)对分类边界最大化的探索,经过数十年的理论积累与算法创新,最终在1995年形成完整的算法框架。其核心思想通过支持向量和核技巧解决了线性与非线性分类问题,至今仍是机器学习领域的重要工具。3.支持向量机(1)支持向量机基本原理有两种类型的带标签的训练数据,其中空心点代表标签为1的数据,实心点代表标签为0的数据。其基本思想是找到一条线或一个面,把分别代表两个类别的实心点和空心点准确分开。依据的原则是空间中距离分类线或面最近的点(也称支持向量)到这条线或面的几何间隔(也称距离)最大。找到的这条线或这个面也称为超平面或支持向量机。3.支持向量机(1)支持向量机基本原理测试样本时,将测试样本(标签未知)映射到和训练样本相同的空间中,并基于它落在超平面的哪一侧来判定该测试样本所属类别,如果测试样本落在超平面的靠空心点那侧,判定测试样本的标签为1,反之,判定测试样本的标签为0。假如样本数据是线性不可分的,如图(a)所示,则无法找到一个线性分类面将图中的实心样本和空心样本分开。这时可以通过选择合适的映射函数(核函数)将数据映射到高维空间,以解决在原始样本空间中线性不可分的问题。如图(b)所示,通过将原来在二维平面上的点映射到三维空间上,即可以利用一个线性平面将图中的实心样本和空心样本分开。(2)支持向量机的实现使用Scikit-learn实现支持向量机的核心类是SVC,用于构建标准的支持向量机分类器,SVC类的主要参数有:①
kernel:核函数的类型,默认是RBF(高斯径向基),其他值包括linear(线性)、poly(多项式)、sigmoid等。②
C:惩罚系数(正则化强度的倒数)。③
gamma:核函数的系数(影响高斯核的半径)。④
degree:多项式核的次数(仅当kernel='poly'时有效),默认是3。例5-4
使用支持向量机对鸢尾花数据集进行分类。分析:先进行数据加载,并使用StandardScaler对象标准化数据,以消除特征尺度差异对支持向量机的影响。再进行数据预处理、创建支持向量机分类器后进行模型训练。最后通过散点图展示萼片长度与花瓣长度的分布,并进行模型测试与评估。5.3.2
监督学习算法:回归问题1.线性回归(1)一元线性回归给定n个数据样本(xi,yi)(i=1,2,…,n),要构造一元线性函数f(x)=wx+b,使得f(x)在各数据点处的偏差f(xi)-yi的平方和L(w,b)=达到最小。1.线性回归(1)一元线性回归要使函数L(w,b)具有最小值,可对L(w,b)的参数w和b分别求导数,令其导数值为零,再求取参数w和b的值。可以看出,只要给定n个数据样本(xi,yi)(i=1,2,3,…,n),就可以求出w和b,从而建立一个线性回归方程,进而预测新的数据。(2)多元线性回归设x=[x1,x2,x3,…,xm]表示m个特征,共有n个样本数据(xi,yi)(i=1,2,…,n),多元线性回归就是要找到一组参数w=[w1,w2,w3,…,wm],使得线性函数f(x)=w1x1+w2x2+…+wmxm+b=wxT+b最小化损失函数L(w,b)=如果把x看作多元线性回归模型的输入(注意,x是一个向量,包含m个元素),w看作各个输入元素的权重(w也是一个向量,包含m个元素),b看作回归模型的偏置值,那么多元线性回归模型可以表示成如图所示的结构,图中的⊕表示多个元素的加法运算。例5-5
广告收益预测。某公司为了推销产品,在电视、网站和微信3种渠道内进行广告宣传,不同渠道的广告费以及对应的产品销量如表5-5所示。试建立多元线性回归模型并分析误差。表5-5
广告收益表电视/万元网站/万元微信/万元销售量/万个230.137.869.222.144.539.345.110.417.245.969.39.3151.541.358.518.5180.810.858.412.98.748.9757.257.532.823.511.8120.219.611.613.28.62.114.8199.82.621.210.6分析:将表5-5中的数据存放在advertising.csv文件中,其内容如图所示。然后使用Pandas库(先用pipinstallpandas命令进行安装)中用于读取CSV文件的函数pd.read_csv(),从文件中读取数据存放到DataFrame变量data中。将销售量y表示为电视广告费用x1、网站广告费用x2、微信广告费用x3的线性函数,即y=f(x1,
x2,
x3)=w1x1+w2x3+w3x3+b,使用Scikit-learn的LinearRegression类构建线性回归分析模型。然后划分训练集和测试集(70%训练,30%测试),选择均方误差进行分析。2.逻辑回归逻辑回归(LogisticRegression)又称为逻辑斯蒂回归,它主要用于解决二分类问题。其核心思想是通过一个单调可微的函数(如Sigmoid函数)将线性回归模型的预测结果映射到一个概率值上,从而实现对类别的划分。(1)Sigmoid函数Sigmoid函数的定义为2.逻辑回归该函数的图形如图5-13所示,它处处光滑、处处可导,这便于数学处理。Sigmoid函数满足以下概率性质:①
s
(0)=0.5。②
当z→-∞时,s
(z)→0。③
当z→+∞时,s
(z)→1。(2)逻辑回归模型由于多元线性回归函数f(x)=wxT+b的输出范围在(-∞,+∞)之间,所以使用Sigmoid函数可以将其映射到(0,1)之间,表示样本属于某一类别的概率。把f(x)=wxT+b代入Sigmoid函数的表达式,得到该式就是逻辑回归模型的函数形式。根据Sigmoid函数的概率性质,逻辑回归可以用来预测结果属于0或1的二分类问题,所以,逻辑回归模型的输出概率表示为(3)逻辑回归模型的实现在scikit-learn的linear_model模块中,提供了LogisticRegression类,用于实现逻辑回归模型。LogisticRegression类具有许多参数,主要用于控制模型的行为和性能。①
penalty:用来指定正则化类型。②
C:正则化强度的倒数,默认为1.0。较小的值表示更强的正则化。③
solver:优化算法,常用的有liblinear、newton-cg、lbfgs、sag,
saga。默认为'lbfgs'。④
max_iter:控制优化算法的最大迭代次数,默认为100。例5-6
利用逻辑回归模型对鸢尾花(Iris)数据集进行二分类,并可视化模型的决策边界。分析:仅选择萼片长度、萼片宽度两个特征进行分类并可视化,将多分类问题转换为0类和非0类的二分类问题;逻辑回归对特征尺度敏感,利用StandardScaler函数进行标准化处理;在绘制决策边界时,先生成网格坐标矩阵,再用训练好的模型预测每个网格点的类别,最后通过等高线填充图(Contourf)展示分类区域。5.3.3
无监督学习算法:聚类问题1.聚类的概念聚类(Clustering)就是将相似的事物放在一起。对大量未标注的数据集,按照某种特定的规则(如距离远近)将数据集划分成不同的簇(Cluster),使得类别内的数据相似性尽可能大,而同类之间数据相似性尽可能小。5.3.3
无监督学习算法:聚类问题2.相似性度量(1)欧式距离欧式距离(EuclideanDistance)是直角坐标系中最常用的距离计算方法。假设样本x=(x1,x2,…,
xn),y=(y1,y2,…,
yn),欧式距离计算公式为2.相似性度量(2)曼哈顿距离曼哈顿距离(ManhattanDistance)又称为城市街区距离,其公式为用于计算两点在网格状路径(如城市街道)上的移动距离。例如,二维空间中点(3,4)和点(0,0)的距离为7。3.k均值聚类算法k均值聚类算法流程如下。(1)随机选取k个样本作为初始聚类中心。(2)计算数据集中一个样本与选定中心的距离。(3)比较这个样本与各聚类中心距离,将其归于距离最小的聚类中心所属聚类。(4)依次计算并分配数据集中每一个样本,每个聚类中心和分配给它的样本就构成了一个簇(类)。(5)重新计算每个类别的聚类中心(簇中各样本分量的平均值)。(6)重复(2)~(5),直到没有聚类中心再发生变化为止。3.k均值聚类算法例5-7
假设有6个点:p1(1,3),p2(2,2),p3(2,1),p4(6,6),p5(7,8),p6(8,7),要聚成2类(k=2),写出聚类的结果。4.k均值聚类算法的实现在Scikit-learn的聚类模块sklearn.cluster中,KMeans类是用于实现k均值聚类算法的核心类,以下是其主要参数。①
n_clusters:指定要生成的簇数(k值),默认是8。n_clusters是必须指定的参数。②
init:初始化簇中心的方法。③
n_init:不同簇中心初始化的次数,最终选择最优结果,默认为10。④max_iter:单次运行的最大迭代次数,默认为300。⑤algorithm:选择k-Means算法的底层实现方式,优化计算效率。例5-8
用程序来实现例5-7。分析:先导入sklearn库,再使用KMeans()函数创建KMeans对象,然后使用KMeans对象的fit()方法来拟合模型,使用KMeans对象的predict()方法来预测每个数据点的聚类标签。KMeans对象的cluster_centers_属性表示每个聚类的中心点。对于k均值聚类,每个聚类的中心点被定义为该聚类中所有数据点的平均值。因此,cluster_centers_是一个数组,其中每个元素都是一个聚类的中心点,形状为(n_clusters,n_features),其中n_clusters是聚类的数量,n_features是数据的特征数量。5.3.4
应用案例—二维数据集的聚类随机生成二维数据集,其中包含100个样本,代表二维平面上的100个点。每个样本都有两个特征,第一个数据表示这个点的横坐标,第二个数据表示这个点的纵坐标,采用k均值算法进行聚类(k值取3)。5.4
强化学习5.4.1
强化学习原理强化学习由智能体(Agent)和环境(Environment)两部分组成。智能体是强化学习的主体,负责接收来自环境的输入并采取行动;环境是智能体所处的外部世界,它接收智能体的行动并返回一个新的状态和奖励给智能体。5.4.1
强化学习原理在强化学习过程中,智能体与环境一直在进行交互。智能体在环境中获取某个状态后,它会利用该状态输出一个动作,这个动作也称为决策。然后这个动作会在环境中被执行,环境会根据智能体所采取的动作,输出下一个状态以及当前这个动作带来的奖励。智能体的目的就是尽可能多地从环境中获取奖励。与监督学习、无监督学习相比,强化学习有以下5个特点。①
试错学习。强化学习会试错探索,它通过探索环境来获取对环境的理解。②
延迟反馈。与监督学习和无监督学习不同,强化学习得到的反馈是延迟的。③
稀疏奖励。在许多强化学习问题中,有效的奖励信号是稀疏的,这意味着智能体需要在学习过程中探索大量的状态空间才能获得奖励。与监督学习、无监督学习相比,强化学习有以下5个特点。④增量学习。强化学习是一种增量学习的方式,它允许智能体在不断与环境交互的过程中逐步改善其策略。⑤适应性。强化学习的目标是让智能体能够适应不同的环境和任务,通过自我学习和调整来提高自身的性能。5.4.2
Q学习算法Q学习算法的步骤如下。①
初始化Q值函数:对于每个状态-动作对(s,a),初始化其对应的Q值为一个较小的随机数,或者直接初始化为0。②
选择动作:从当前状态s开始,利用Q矩阵选择一个动作a,使a对应的Q值最大。5.4.2
Q学习算法③
执行动作和更新Q值:执行选择的动作a,观察环境反馈的下一个状态s'和奖励r。然后,根据Q值的更新规则更新Q值函数为④转移到下一个状态:将状态更新为s',并进入下一次迭代。⑤重复第②~④步直到达到终止条件:如达到最大迭代次数或者Q值函数已经收敛。⑥输出最优策略:根据学习到的Q值函数,可以得到一个最优策
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道德与法治 依法行政建设法治政府课件-2025-2026学年统编版道德与法治八年级下册
- 细胞信号转导在肌纤维类型转变中的作用
- 硅冶炼行业消费者行为预测模型构建
- 知识管理在团队建设中的作用
- 2025-2030智慧农业行业技术集成趋势探讨及产量提升路径与绿色投资方向研究
- 2025-2030智慧农业物联网监控系统建设与数字农业发展趋势研究
- 2025-2030智慧农业无人驾驶设备市场扩张与国际标准适配问题
- 2025-2030智慧农业新技术产业链市场发展研究及行业应用与投资运作规划
- 2025-2030智慧农业产业链供应链智能设备需求数据分析投资机会研究
- 电路仿真布局验证
- 2026广东东莞市塘厦镇招聘专职网格员7人考试参考试题及答案解析
- 幼儿园年检自查报告
- 国家层面“十五五”产业规划与布局:产业研究专题系列报告之一规划篇
- 血液透析中心静脉导管临床实践指南
- 水利监理教育培训制度
- 机场鸟击防范生态调研报告
- 沥青混凝土销售培训课件
- 2026年《必背60题》京东TET管培生综合方向高频面试题包含详细解答
- 2026年二级建造师之二建建筑工程实务考试题库500道附完整答案(必刷)
- 儿童节气诗歌朗诵方案设计
- 2025年10月自考15040习概论试题及答案
评论
0/150
提交评论