当前位置:   article > 正文

2023年高级机器学习期末预习

高级机器学习

一、填空题

1.概率图模型

考察点:概率图模型的概念

a.概率图模型是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。

 b.每个节点都对应一个随机变量,可以说观察变量隐变量或是未知参数等。

 c.分为3个组成部分:模型表示有向图、无向图),学习(参数学习、结构学习),推断(精确推断、近似推断)

d.每个连接表示两个随机变量之间具有的依赖关系

2.机器学习的概述

考察点:机器学习的定义,机器学习的要素,欠拟合和过拟合

a.机器学习定义:通过算法使得机器能从大量数据中学习规律从而对新的样本做出决策

b.机器学习的三要素:模型(线性方法、广义线性方法),学习准则(期望风险),优化(梯度下降)。

c.欠拟合与过拟合

过拟合:根据大数定理,当训练集大小|D|趋向于无穷大时,经验风险就趋向于期望风险。然而通常情况下:我们无法获取无限的训练样本,并且训练样本往往是真实数据的一个很小的子集或者包含一定的噪声的数据,不能很好地反映全部数据的真实分布。经验风险误差最小化原则很容易导致模型在训练集上错误率很低,但是在未知数据上的错误率很高。这就是过拟合。

欠拟合:模型不能很好地拟合训练数据,在训练集的错误误差率比较高。

3.卷积神经网络

考察点:卷积神经网络的组成

a.卷积神经网络的组成:卷积层、汇聚层、全连接层交叉堆叠而成。

 4.前馈神经网络

考察点:自动微分的概念、人工神经网络的定义、组成

a.人工神经网络的定义:人工神经网络主要由大量的神经元以及它们之间的有向连接构成。

b.人工神经网络的组成:人工神经网络由神经元模型构成,这种由许多神经元组成的信息处理网络具有并行分布结构

c.自动微分:自动微分是利用链式法制来计算一个复合函数的梯度。

d.神经元的激活规则、网络的拓扑结构、学习算法

5.深度强化学习

考察点:深度强化学习的定义、基本要素

a.强化学习就是智能体不断与环境交互,并根据经验调整其策略来最大化其长远的所有奖励的累计值。

b.强化学习基本要素:环境的状态集合、智能体的动作集合、状态转移概率、即时奖励

c.深度强化学习是将强化学习和深度学习结合在一起,用强化学习来定义问题和优化目标,用深度学习来解决状态表示、策略表示等问题。

6.深度生成模型

考察点:生成模型的几个步骤,哪两个?

a.生成模型包含的两个步骤:密度估计采样

7.线性模型

考察点:熵的概念

a.在信息论中,熵用来衡量一个随机事件的不确定性

b.交叉熵是按照概率分布q的最优编码对真实分布为p的信息进行编码的长度。

8.无监督学习

考察点:概率密度估计、直方图方法定义、PCA的概念和在聚类中的作用

a.概率密度估计:根据先验知识假设随机变量服从某种分布,然后通过训练样本来估计分布的参数。估计方法:最大似然估计

b.非参数估计:不假设数据服从某种分布,通过将样本空间划分为不同区域并估计每个区域的概率来近似数据的概率密度函数

b.直方图方法是一种非常直观的估计连续变量密度函数的方法,可以表示为一种柱状图

c.PCA在聚类中的作用:降维 

9.序列生成模型

考察点:n元模型

a.n元模型的一个主要问题是数据稀疏问题,数据稀疏问题的一种解决方法是:平滑技术

二、简答题

1.过拟合欠拟合

考察点:1.欠拟合和过拟合发生的原因和如何解决。

答:1.过拟合发生的原因:训练数据少和噪声以及模型的能力强等原因造成的。解决方法:一般在经验风险最小化的基础上再引入参数的正则化来限制模型的能力,使其不要过度地最小化经验风险。2.欠拟合发生的原因:无法捕捉到数据中的关键特征,模型的表达能力不足,数据中包含大量的噪声或异常值,干扰了模型的学习过程。解决方法:降低正则化项的权重或减小正则化参数,使模型在训练过程中更加自由地拟合数据,收集更多的数据。

2.线性回归逻辑回归

考察点:线性回归与逻辑回归之间的区别

答:1.线性回归是预测连续数值输出的监督学习方法,逻辑回归是预测离散类别输出的监督学习方法。2.线性回归的目的是找到一条最佳直线(超平面),使得预测值与实际值之间的平方误差最小,逻辑回归使用逻辑函数(sigmoid函数)将线性模型的输出转化为概率。3.线性回归主要用于预测连续值,逻辑回归适用于分类任务。

3.神经网络的泛化能力

考察点:泛化能力的定义、PPT里的一张

答:神经网络的泛化能力指它对新数据的适应能力,也就是说,它在训练数据之外的数据上的表现能力。泛化能力是衡量神经网络性能的重要指标之一,因为一个好的模型不仅要在训练数据上表现良好,还要能够对未知数据进行准确的预测。

4.激活函数

考察点:激活函数的性质、常见的激活函数、激活函数的作用

答:1.激活函数的性质:a.连续并可导(允许某些点不可导)的非线性函数,b.激活函数及其导数尽可能简单,c.激活函数的导数的值域要在一个适合的区间。d.单调递增。

2.常见的激活函数:a.Logistic函数:f(x) = \frac{1}{1+exp(-x))}   导数为:f\acute{}(x) = f(x)f(1-f(x))

b.Tanh函数:f(x) = \frac{exp(x)-exp(-x)}{exp(x)+exp(-x)}   导数为:f\acute{}(x) = 1 - f(x)_{}^{2}

c.ReLU函数:f(x) = max(0,x)   导数为:f\acute{}(x)=I(x>0)

d.ELU函数:f(x) = max(0,x)+min(0,y(exp(x)-1)) 

导数为:f(x) = I(x>0) + I(x\leqslant 0)*yexp(x)

e.SoftPlus函数:f(x) = log(1+exp(x))  导数为:f\dot{}(x)=\frac{1}{1+exp(-x)}

3.激活函数的作用:激活函数在神经网络中的作用是引入非线性,使得网络可以学习和表示非线性模式和关系。它对每个神经元的输入进行处理,产生输出结果。

5.PCA

考察点:PCA的定义、PCA的作用

答:1.PCA是一种常用的机器学习降维技术,用于将高维数据转化为低维表示,同时保留主要的变化信息。其目的是通过线性变换将原始数据投影到新的特征空间,使得投影后的数据具有最大的方差。2.PCA的作用:数据降维、特征提取、去除冗余和噪声。

6.机器学习算法

考察点:按某种定义分,如按数据集的话分几类。

答:机器学习算法按数据集可以划分为:1.监督学习(机器学习的目标是通过建模样本的特征X与标签y之间的关系,训练集的每一个样本都有标签),监督学习又可分为回归、分类、结构化学习。2.无监督学习(指不包含目标标签的训练样本中自动学习到一些有价值的信息),常见的有:聚类、密度估计、特征学习、降维。3.强化学习(是一类通过交互来学习的机器学习算法)

三、计算题

1.最近邻法和K近邻法

考察点:算法是怎么样的、如何解题

最近邻算法:最近邻算法是一种基于实例的学习算法,它将新样本与训练集中所有样本进行相似度比较,然后将新样本归为其最相似的训练样本所属的类别,最近零算法只考虑了一个最近邻,因此容易受到噪声和异常值的干扰。

K近邻算法:是在最近邻算法的基础之上发展而来的,他考虑了k个最近邻的投票结果,从而降低了噪声和异常值的影响。

解题:最近邻即求解与给定点距离(欧氏距离)最近的点,将待求解点归为所求最近点那一类去。K近邻即求出K(奇数)个距离最小的点,判断哪一类的点数最多,把待求解点归为这一类。

2.贝叶斯原理

考察点:学会解题、计算最大后验概率

贝叶斯公式:    P(B_{i}|A) = \frac{P(AB_{i})}{P(A)} = \frac{P(B_{i})P(A|B_{i})}{\Sigma p(B_{j})P(A|B_{j})} 

解题:就是用贝叶斯公式+条件独立假设定理

快速理解:贝叶斯原理(后验概率)

题目讲解:机器学习贝叶斯原理解题     题目2

3.网络优化与正则化

考察点:正则化L1、L2范数的计算知道是什么

L1和L2范数都是向量的标量值,用于衡量向量的大小。

在机器学习中,常常会使用L1范数和L2范数作为正则化项

来控制模型的复杂度

解题:L1 = 各向量各个元素绝对值之和   = \sum |x_{i}|

           L2 = 向量元素的平方和开根号 =  \sqrt{\sum x{_{i}}^{2}}

4.SSE(残差平方和)

考察点:会求(公式)

残差平方和(Sum of Squared Residuals,SSR)是在回归分析中用于衡量回归模型的拟合程度和预测误差的指标。它表示了观测值与回归模型预测值之间的差异的总和。

SSR = \Sigma (y-f(x;\theta ))^{2}

B站讲解:B站讲解(残差平方和)

5.线性模型

考察点:拉格朗日乘子法

应该是在线性模型的支持向量机那个地方。用拉格朗日乘数和对偶解决SVM优化问题

拉格朗日乘子法题目:拉格朗日乘子法

四、算法填空题

实验三:飞桨AI Studio - 人工智能学习与实训社区

补充代码1

#二分类问题这里我们设置n_samples_outn_samples的一半,剩下的数量则赋给n_samples_in

    #------这里补充代码--------#

n_samples_out = n_samples//2

n_samples_in = n_samples-n_samples_out

补充代码2

 #-----补充代码------

X = paddle.stack([paddle.concat([outer_circ_x,inner_circ_x]),paddle.concat([outer_circ_y,inner_circ_y])]

,axis=1

补充代码3

#采样1000个样本,并调用make_moons函数生成数据将返回值传给Xyshuffle=Truenoise=0.5

#--------补充代码---------

n_samples = 1000

X, y = make_moons(n_samples=n_samples,shuffle=True,noise=0.5)

补充代码4

#将数据集Xy按照索引切片,取出前num_train个样本作为训练集,赋值给X_trainy_train

#取出前num_train个样本作为训练集之后将后面num_dev个样本作为验证集赋值给X_dev, y_dev

#最后将剩下的num_test个样本作为测试机赋值给X_test, y_test

#--------补充代码--------

X_train, y_train = X[:num_train],y[:num_train]

X_dev, y_dev =X[num_train:num_train+num_dev],y[num_train:num_train+num_dev]

X_test, y_test = X[num_train+num_dev:],y[num_train+num_dev:]

#------------------------

补充代码5

 #我们传入的是多维的张量,并不需要对公式中的累乘号进行复现,标签self.labels的转置为self.labels.t()

        #------补充代码-----------

loss = -1./self.num*(paddle.matmul(self.labels.t(),paddle.log(self.predicts))+paddle.matmul(1-self.labels.t(),paddle.log(1-self.predicts)))

        #-------------------------

补充代码6

#使用在runner类定义好的evaluate函数在测试集上面对模型进行评价

#-------补充代码----------

score, loss = runner.evaluate([X_test,y_test])

#-------------------------

补充代码7

 #使用xk-max(x)代替xk,使用paddle.exp(x)ex次方

    #---------补充代码--------

x_exp =paddle.exp(X-x_max)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/668178
推荐阅读
相关标签
  

闽ICP备14008679号