模式识别与机器学习复习题解析(2023春)

文章目录

一、判断题


1 单层感知机的局限性,它仅对线性问题具有分类能力( )。T

2.多层感知机的问题是隐藏层的权值无法训练( )。T

3.ReLU和Batch Normalization都是为了解决深度神经网络优化时的梯度消失或者爆炸问题( )。T

4.感知机属于二分类线性分类模型 ( )。T

5.IMDb是谷歌、YouTube共同举办的视频标签比赛数据库,包含大量的视频画面信息、音频信息、标签信息。

6.张量指维度>2的数组,每个维度都有具体的物理意义( )。

正确答案:T

7.使用tf.Variable表示待优化张量( )。T

8.TF中,使用tf.cast可以将numpy的数据类型转换到tf的数据类型( )。F

9.tf.argmax(x):返回最大值( )。F

10.传统神经网络的缺点,BP求解中的可能出现的梯度爆炸和梯度消失的现象( )。T

11.现有imgs = tf.random.normal([3,3,3,3]),表示3张3×3的RGB通道的图像数据,则imgs[2,...]表示为读取最后一张图像。( )。T
解析:

12.模型容量过大,导致学习模型在训练集上表现较好,但在测试集上表现不佳,也就是模型的泛化能力偏弱,这种现象称之为欠拟合( )。F


13.在卷积神经网络中,感受野(Receptive Field)的原理是局部相关性假设,即基于距离的重要性分布假设,只关注与自己距离较近的那部分节点,忽略远处的节点( )。T

14.模型容量过小,模型不能够很好地学习训练数据,导致训练集上表现不佳,同时在测试集上也表现不佳,这种现象称之为过拟合( )。F

15.多元线性回归是使用多个独立变量,通过拟合最佳线性关系来预测因变量。( ):T

16.回归方程拟合程度的用R2来衡量,R2的值越接近0,拟合程度越好。()F

回归方程拟合程度的用R²来衡量,R²的值越接近1,拟合程度越好;越接近0,拟合程度越差。

17.主成分分析是一种非线性降维方法。( )F
解析:主成分分析(PCA)是一种线性降维方法,它通过将数据投影到低维空间来保留最大的方差。

18.简单线性回归使用一个自变量,通过拟合最佳线性关系来预测因变量。( )T

19.K-均值聚类是一种有监督的学习方法。( )F
解析:K-均值聚类是一种无监督的学习方法,因为它不需要标签信息。

20.线性判别分析是一种有监督的降维方法。( )T
解析:线性判别分析(LDA)是一种有监督的降维方法,它试图找到数据的低维表示,同时保留类别之间的可分离性。

21.a = tf.range(9),print(tf.minimum(a, 2))的结果是[2 2 2 3 4 5 6 7 8]( )F
解析:tf.minimum(a, 2)将返回数组a和2之间的最小值,所以tf.range(9)与2比较的结果将是[0 1 2 2 2 2 2 2 2],而不是[2 2 2 3 4 5 6 7 8]。

22.一个PFLOPS (petaFLOPS) 等于每秒1千万亿 (=10^15) 次的浮点运算()T
解析:PFLOPS(petaFLOPS)确实等于每秒1千万亿(=10^15)次的浮点运算

23.激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。( ) 正确答案:T
解析:激活函数通常用于引入非线性,使得神经网络能够学习并逼近复杂的非线性函数,而不仅仅是线性映射。

24.由于全连接层FC参数冗余,可以用全局平均池化GAP取代FC来融合学到的深度特征。( )正确答案:T

解析:全局平均池化(GAP)在某些情况下可以作为一个有效的全连接层(FC)的替代,特别是在卷积神经网络(CNN)中,以减少参数数量并防止过拟合。

25.损失函数用来解释模型在每个样本实例上的误差,损失函数的值越小,说明预测值与实际值越接近,即模型的拟合效果越好。( )正确答案:T


26.回归过程用函数拟合样本集,使样本集与拟合函数间的误差最小。( )正确答案:T
解析:

27.主成分分析是从低维空间映射到高维空间,从而实现线性可分的方法。( )正确答案:F
解析:

主成分分析(PCA)实际上是从高维空间映射到低维空间,以保留数据中的主要变化方向(即主成分),而不是从低维空间映射到高维空间。

PCA 的主要目的是降维,通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的可视化。

28.一个TFLOPS (teraFLOPS) 等于每秒1万亿 (=10^12) 次的浮点运算。( )正确答案:T

29.对["中国","美国,"法国"]采用one-hot 编码,那么"中国"的编码是0100( )正确答案:F
解析: 对于 ["中国","美国","法国"] 采用 one-hot 编码,如果假设 "中国" 是第一个元素,那么 "中国" 的编码应该是 [1, 0, 0],而不是 0100(这通常表示为一个三位二进制数,但在 one-hot 编码中,我们使用向量)。

30.tf.transpose(x, perm)即改变了存储顺序,也改变了视图。( )正确答案:T
解析: 函数在 TensorFlow 中用于改变张量的维度顺序(即改变其"视图"),但它并不改变张量在内存中的实际存储顺序(除非进行了显式的内存复制操作)。然而,从用户的角度来看,它确实改变了张量的"视图",即我们如何解释或访问其数据。

31.ReLU的输出不是zero-centered,在训练的时候很"脆弱",一不小心有可能导致神经元"坏死"。() 正确答案:T
解析: ReLU(Rectified Linear Unit)函数的输出不是 zero-centered,这可能导致在训练时梯度消失的问题,从而使神经元"坏死"。这是 ReLU 激活函数的一个潜在缺点。

32.感受野的原理是局部相关性假设,即基于距离的重要性分布假设,只关注与自己距离较近的那部分节点,忽略更远处的节点。() 正确答案:T
解析: 感受野(Receptive Field)的原理确实基于局部相关性假设,即神经元只关注与其距离较近的那部分输入,而忽略更远处的输入。这是卷积神经网络(CNN)中的一个重要概念,有助于减少计算量和参数数量

33.散列值表示表示同一类样本在直线上投影点的离散程度。()正确答案:T
解析:散列值(Hash Value)通常用于快速查找和比较数据,而不是表示同一类样本在直线上投影点的离散程度。在机器学习和数据科学中,我们通常使用诸如方差、标准差等指标来衡量样本的离散程度。

34.使用张量进行统计计算时,使用tf.argmin(x, axis)返回最小值。()正确答案:F
解析:返回沿指定轴的最小值的索引,而不是最小值本身。

  1. 受限玻尔兹曼机允许层内神经元间有连接。()正确答案:F
    解析:内神经元之间没有连接,只有不同层之间的神经元有连接。这是 RBM 的一个重要特性,有助于简化计算和提高效率。

  2. 张量操作tf.concat和tf.stack只影响维度长度,不影响维度数量。( )正确答案:F
    解析:


二、填空题

  1. Pipenv按安装库命令是:     。正确答案:pipenv install
  2. 写出ReLU激活函数表达式:     。
    正确答案:
  3. 将多个张量在某个维度上合并为一个张量有2种方式,一种是拼接tf.concat,另一种是:     。正确答案:tf.stack
  4. 使用pipenv安装GPU版本tensorflow的语句是:     。正确答案:pipenv install tensorflow-gpu
  5. 下面一段代码将数据a的类型由32位浮点数转为16位浮点数并付给b,则空缺处应填:     。
    import numpy as np
    a = tf.constant(np.pi)
    b = tf.cast(a,      ) 正确答案:tf.float16
  6. 协方差用来度量两个随机变量的关系,如果协方差为正,则表明两个变量     , 如果协方差为0,表明两个变量统计     。
    正确答案:相关,独立
  7. 已知样本集合,则样本的均值= 。(写出样本均值的表达式)。
    正确答案:
  8. 在主成分分析中,经过 变换,将高维数据映射到低维数据中,并期望在投影维度上数据的 最大。
    正确答案:正交,方差。
  9. 对于下列代码:
    x=tf.random.normal([2,5,5,3])
    w=tf.random.normal([3,3,3,4])
    out= tf.nn.conv2d(x,w,strides=1, padding='SAME')
    print(out.shape)
    输出结果为:
    正确答案:(2, 5, 5, 4) 。
  10. 张量imgs = tf.random.normal([4,32,32,3])表示4张32×32的RGB通道的图像数据,获取第1张图片第2行第3列R通道的数据的表达式为:
    正确答案:imgs[0][1][2][0]
  11. 已知样本集合,则样本的均值,则样本的方差为= 。(写出样本方差的表达式)。
    正确答案:
    12.聚类的目标是 。
    正确答案:使得簇间的距离尽可能大,簇内样本与簇中心的距离尽可能小。
  12. 样本数较少时,采用K折交叉验证可以扩大可用训练集的数量,K折交叉验证的做法是 。
    正确答案:将数据集分成K个互不相交的大小相同的数据集,利用K-1个子集训练,用剩下的一个子集测试,重复K次,选出平均测试误差最小的模型 。
  13. 使用tf.pad将张量a = tf.random.normal([2,28,28,3])扩展为[2,32,32,3]的语句是:
    正确答案:a = tf.pad(a,[[0,0],[2,2],[2,2],[0,0]])
             把相似的样本聚在同一个类簇中。

正确答案:聚类分析

聚类的目的是得到 簇内相似度和 簇间相似度。

正确答案:(1)较高的;(2)较低的

  1. Batch Normalization和Dropout都是缓解 的方法。

正确答案:过拟合

  1. 生成3张3×3的RGB通道的图像数据imgs = tf.random.normal([3,3,3,3]),打印最后一张图像的B通道数据,使用"..."写法是 。

正确答案:print(imgs[2,...,2::])

  1. 生成3张3×3的RGB通道的图像数据imgs = tf.random.normal([3,3,3,3]),打印最后一张图像的B通道数据,使用":"写法是 。

正确答案:print(imgs[2,:,:,2::])

1.mat = [[148,41,72,78],[139,34,71,76],[160,49,77,86],[149,36,67,79],[159,45,80,86],[142,31,66,76],[153,43,76,83],[150,43,77,79]]

Mat = np.array(mat, dtype='float64')

Mat -= np.mean(Mat, axis=0)

Mat /= np.std(mat, axis=0)

以上代码对数据mat进行了 处理。 答:规范化

18.已知N个样本,采用一元线性回归模型对未知样本进行预测,该一元线性回归模型为y=ax+b,简述确定参数a和b的原则是_____________________ 答:a,b的选择应该使样本的回归直线与实际值的拟合状态最好,即误差最小。

  1. 根据下面的图,写出激活函数表达式 。

答案:

三、单选题

  1. GPU的算力单位TFLOPS表示( )

    C、每秒1万亿 (=10^12) 次的浮点运算

    正确答案:C

  2. 以下哪一项是pipenv查看虚拟环境所在目录的命令( )

    C、pipenv --venv

    正确答案:C

  3. 以下对池化层(Poling Layer)描述错误的是()

    B、池化层一般放在网络的最后输出前使用

    正确答案:B

  4. 设imgs = tf.random.normal([1,5,5,3])表示[图像数量,行,列,通道],现在要读取所有图片,隔行采用,隔列采样,所有通道数据,负向读取,以下正确的是()

    B、imgs[0:,::-2,::-2,:]

    正确答案:B

  5. tf_b = tf.range(2,10,delta=1)

    print(tf_b)

    D、tf.Tensor([2 3 4 5 6 7 8 9], shape=(8,), dtype=int32)

    正确答案:D

  6. 关于Hopfield神经网络,以下描述不正确的是( )

    A、Hopefield由于全互联,容易获得全局最优解

    正确答案:A

  7. 样本数较少时,最小化经验风险会带来( )问题。

    A、过拟合

    正确答案:A

  8. 以下代码输出结果是( )

    x=tf.random.normal([2,5,5,3])

    w=tf.random.normal([3,3,3,4])

    out= tf.nn.conv2d(x,w,strides=1, padding=[[0,0],[0,0],[0,0],[0,0]])

    print(out.shape)

    B、(2, 3, 3, 4)

    正确答案:B

  9. 定义2个张量a和b,下面不能做broadcasting的是( )

    D、a=[b,h,w,c], b=[w,2]

    正确答案:D

  10. 在线性判别分析中,将样本投影到合适的投影轴上,使得( )

    C、同类样本的投影点尽可能接近,异类样本的投影点尽可能远离

    正确答案:C

  11. 下面两个图像,线性可分与线性不可分的情况是( )

A、左图线性可分,右图线性不可分

正确答案:A

  1. 以下是哪一个激活函数的图像( )

D、Softmax

正确答案:D


四、简答题

1.什么是损失函数?

参考答案:损失函数是模型的计算结果与样本实际目标结果的非负实值函数,用来表示模型在每个样本上的实例的误差。

2.为什么要使用激活函数?

参考答案:激活函数可以引入非线性因素。增强从数据中学习复杂函数映射的能力。激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。

  1. 简述神经元的工作原理。

    参考答案:来自其他多个神经元的信号之和成为神经元的输入;如果这个信号之和超过神经元固有的阈值,则点火;神经元的输出信号可以用数字0和1来表示。

  2. 防止过拟合的方法一般有哪些?

    参考答案:获取和使用更多的数据(数据集增强)、采用合适的模型(控制模型的复杂度)、降低特征的数量、正则化方法。

  3. 什么是标准差、方差和协方差?它们反映了数据的什么内容?

    参考答案:

    标准差描述是样本集合的各个样本点到均值的距离分布,描述的是样本集的分散程度

    在机器学习中的方差就是估计值与其期望值的统计方差。如果进行多次重复验证的过程,就会发现模型在训练集上的表现并不固定,会出现波动,这些波动越大,它的方差就越大

    协方差主要用来度量两个随机变量关系,如果结果为正值,则说明两者是正相关的;结果为负值,说明两者是负相关的;如果为0,就是统计上的"相互独立"

  4. 如何利用平均值和标准差判断数据的异常值

    参考答案:

    与平均值的偏差超过三倍标准差的测定值(均值±3*标准差),称为高度异常的异常值。在处理数据时,应剔除高度异常的异常值或用均值替代。异常值是否剔除,视具体情况而定。

    标准差可用于识别符合高斯或类高斯分布的数据中的异常值。

  5. 何为正则化?其功能是什么?

    参考答案:

    正则化是为了避免过拟合的手段。正则化为了结构风险最小化,在经验风险上加一个正则化项或惩罚项,正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。

    例如,在线性回归方程中,如果参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响,即参数小表示抗扰动能力强。加入正则化惩罚项之后,随着不断迭代,损失函数中的参数矩阵会不断减小。

  6. 训练误差如何度量和减少?

    参考答案:

    训练误差是模型Y关于训练数据集的平均损失。损失函数可以有多种,包括0-1损失函数、平方损失函数、绝对损失函数、对数损失函数。

    训练误差较高时可以调整超参数重新训练,相当于函数最优化问题。

    在特征一定的情况下,通过最小化训练误差,以此来拟合出一个模型,再用测试集去测试该模型,得到n个测试数值,求出测试误差,用该测试误差来评价该模型的好坏。

    最小训练误差,用来对特定模型拟合出该模型的参数,通过对比不同的模型的测试误差,选出最小的测试误差对应的模型就是我们需要的模型。

9.如何理解L0、 L1 和L2正则化?

参考答案:

L0正则化是通过限制向量中非0的元素的个数实现模型优化,用L0来正则化一个参数矩阵 W,目标是使其更稀疏,即W中的大部分元素都是0。很明显,如果通过最小化L0范数作为罚项,就是寻找最优的稀疏特征项。

L1正则化是通过对向量中各个元素绝对值之和进行限制,任何的规则化算子,如果在wi = 0的地方不可微,并且可以分解为多项式的形式,那么这个规则化算子就可以实现稀疏。

L2正则化是指向量各元素求平方和然后求平方根,用模最小化来确保w的每个元素都很小,都接近于0但不会等于0。

  1. 如何评价一个算法的性能?

    参考答案:

    不同算法有不同的评价指标。评定一个算法主要有以下几个指标:

    (1)正确性:一个算法必须正确才有存在的意义,这是最重要的指标,要求编程人员应用正确的计算机语言实现算法的功能。

    (2)友好性:算法实现的功能是给用户使用的,自然要具有良好的使用性,即用户友好性。

    (3)可读性:算法的实现可能需要多次的修改,也可能被移植到其他的功能中,因此算法应当是可读的、可以理解的,方便程序人员对其分析、修改移植到自己的程序中,实现某些功能。

    (4)健壮性:在一个算法中,经常会出现不合理的数据或非法的操作,所以一个算法必须具有健壮性,能够对这些问题进行检查、纠正。算法具有健壮性是一个升华,当用户刚开始学习写算法时可以忽略它的存在,在逐渐的学习中要努力让算法更加完美。

    (5)效率:算法的效率主要是指执行算法时计算机资源的消耗,包括计算机内存的消耗和计算机运行时间的消耗。这两个消耗可以统称为时空效率。一个算法只有正确性而无效率是没有意义的,通常,效率也可以评定一个算法是否正确。如果一个算法需要执行几年甚至几百年,那么无疑这个算法会被评为是错误的。

  2. 数据降维有哪些常用的方法?

    参考答案:

    主成分分析、线性判别分析、奇异值分解、局部线性嵌入、拉普拉斯特征映射

  3. 为什么要考虑特征提取?

    参考答案:

    特征提取目是将原始数据转换为具有统计意义和机器可识别的特征。例如机器学习无法直接处理自然语言中的文本,这时就需要将文字转换为数值特征(如向量化)。在图像处理领域,将像素特征提取为轮廓信息也属于特征提取。

13.阐述以下的几个概念:EPOCH、Batch、Batch_Size、Iteration

参考答案:EPOCH(一个回合的训练)、Batch(一批训练)、Batch_Size(每批训练样本数量)、Iteration(一次迭代)。

  1. 完成以下张量操作代码:
    1)生成张量a,为shape=[2,10,4]的成绩单数据,表示2个班级,每班10个学生,每个学生4门成绩。
  1. 使用tf.gather提取第一个班的成绩册并打印。
  2. 使用tf.gather提取1,3,5,7,9号同学的成绩并打印。
    参考答案:
    1)a = tf.random.normal([2,10,4])
    2)print(tf.gather(a, [0,], axis=0))
    3)print(tf.gather(a, [0,2,4,6,8], axis=1))
  1. 完成以下张量操作代码:
    1)生成张量a,为shape=[2,10,4]的成绩单数据,表示2个班级,每班10个学生,每个学生4门成绩。
  1. 使用tf.gather组合提取第2个班级第1,3,8同学的第1,4门成绩并打印。
    参考答案:
    a = tf.random.normal([2,10,4])
    获取班级
    a1 = tf.gather(a, [1], axis=0)
    获取同学
    a2 = tf.gather(a1, [0,2,7], axis=1)
    获取成绩
    print(tf.gather(a2, [0,3], axis=2))
  1. (5分)简述K折交叉验证的方法。

    将数据集分为K个互不相交的大小相同数据集,用k-1个子集训练,用剩下的1 个子集测试,重复K次,选出平均测试误差最小的模型。

  2. (5分) 简述K均值聚类的步骤。

    1)首先选取k个类簇(k需要用户进行指定)的质心,通常是随机选取。

    2)对剩余的每个样本点,计算它们到各个质心的欧式距离,并将其归入到相互间距离最小的质心所在的簇。计算各个新簇的质心。

    3)在所有样本点都划分完毕后,根据划分情况重新计算各个簇的质心所在位置,然后迭代计算各个样本点到各簇质心的距离,对所有样本点重新进行划分。

    4)重复第2)步和第3)步, 直到迭代计算后,所有样本点的划分情况保持不变,此时说明k-均值算法已经得到了最优解,将运行结果返回。

  3. (5分)如何选择sigmoid、ReLu、tanh、softmax激活函数?

    sigmoid激活函数适用于二分类问题;tanh激活函数几乎适合所有场合,但要注意计算负载;如果在隐藏层上不确定使用哪个激活函数,那么通常会使用Relu;softmax适用于多分类问题

  4. (6分)简述LDA(线性判别分析)的降维过程。

    1)计算数据集中每个类别下所有样本的均值向量

    2)通过均值向量,计算类间离散矩阵𝑺_𝑏和类内离散矩阵𝑺_𝑤

    3)计算𝑆_𝑤^(−1) 𝑆_𝑏的特征值和特征向量

    4)按照特征值排序,选择前K个特征向量构成投影矩阵U

    5)通过𝒀=𝑿×𝑼的特征值矩阵将样本转换到新的子空间中完成映射

  5. (7分)设shape[4,4,4]为[班级,学生,成绩], 使用tf.scatter_nd在新建班级数据时初始化初始化第2和第4个班级的所有学生成绩,根据实现步骤补充代码:

    import tensorflow as tf

    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

建立tf.scatter_nd的索引indices
填空1 __

使用正态分布随机函数生成tf.scatter_nd的更新数据updates
填空2 __

设置tf.scatter_nd的shape
填空3 __

使用tf.scatter_nd新建并初始化数据
填空4 __

打印输出
填空5__

(1)indices = tf.constant([[1], [3]])

(2)updates = tf.random.normal([2,4,4])

(3)shape = tf.constant([4, 4, 4])

(4)scatter = tf.scatter_nd(indices, updates, shape)

(5)print(scatter)

26.(7分)根据以下加载 MNIST 数据集的步骤写出相应代码。

  1. 加载minist数据集,保存到(x, y),(x_test, y_test)

  2. 图像预处理1:张量x转换为浮点张量并缩放到-1~1

  3. 图像预处理2:张量y转换为整形张量并转为one-hot 编码

  4. 图像预处理3:张量y转为one-hot 编码

  5. 张量x改变视图: [b, w, h] => [b, w*h]

  6. 特征切片,生成<特征,标签>对,存入张量train_dataset

  7. train_dataset设置批量训练参数,每批次200个样本

  8. (x, y), (x_test, y_test) = datasets.mnist.load_data()

  9. x = tf.convert_to_tensor(x, dtype=tf.float32) / 255.

  10. y = tf.convert_to_tensor(y, dtype=tf.int32)

  11. y = tf.one_hot(y, depth=10)

  12. x = tf.reshape(x, (-1, 28 * 28))

  13. train_dataset = tf.data.Dataset.from_tensor_slices((x, y))

  14. train_dataset = train_dataset.batch(200)

21.(5分)已知N个样本,采用一元线性回归模型对未知样本进行预测,该一元线性回归模型为y=ax+b,简述确定参数a和b的原则是什么,并据此原则写出优化目标函数。

a,b的选择应该使样本的回归直线与实际值的拟合状态最好,即误差最小,

优化目标函数为。

22.(5分)设图像有100个像素,100个隐藏节点,CNN网络的感受野为3×3,请分别计算以下几种情形下的权重参数数量:(1)FC网络,灰度图像;(2)CNN网络,灰度图像;(3)CNN网络,RGB图像,不共享权重;(4)CNN网络,RGB图像,共享权重。

(1)100×100=10000

(2)9×100=900

(3)9×100×3=2700

(4)9×100=900

24.(6分)简述PCA降维的一般步骤。

1)将原始数据按列组成n行m列矩阵X

2)计算矩阵X中每个特征属性(n维)的平均向量M(平均值)

3)将X的每行(代表一个属性字段)进行零均值化,即减去M

4)按照公式𝐶=1/m 𝑋𝑋^𝑇求出协方差矩阵

5)求出协方差矩阵的特征值及对应的特征向量

6)将特征向量按对应特征值从大到小按行排列成矩阵,取前k(k < n)行组成基向量P

7)通过𝑌=𝑃𝑋计算降维到k维后的样本特征

26.(7分)

以下是minis_tensor训练代码,请将缺失的部分补充完整。

for step, (x,y) in enumerate(train_db):

输入参数:[b, 28, 28] => [b, 784]

x = tf.reshape(x, (-1, 784))

tf.GradientTape:声明梯度求解器

with tf.GradientTape() as tape:

layer1

h1 = x×w1+b1
填空1__

relu激活h1

填空2__

layer2

h2 = h1×w2+b2

填空3__

relu激活h2

填空4__

output

out = h2×w3 + b3

填空5 __

......

......

填空1:h1 = x @ w1 + b1

填空2:h1 = tf.nn.relu(h1)

填空3:h2 = h1 @ w2 + b2

填空4:h2 = tf.nn.relu(h2)

填空5:out = h2 @ w3 + b3

2.现有1000组足长、步幅对应的身高数据,如下表所示,现有一组足长、步幅数据(25.5,70.3),请你利用所学知识,根据已知数据,设计算法,预测该组足长步幅数据对应的身高,描述算法预测过程即可。

足长 步幅 身高

21 60 157.2662841

21.2 60 155.9618101

21.3 73 160.5453338

21.4 82 164.6982769

... ... ...

28.4 95 190.726344

答案(合理即可):

1)建立二元线性回归模型:y=ax1+bx2+c,其中x1为足长数据,x2为步幅数据,y为身高值。

2)已知数据作为训练样本,采用线性回归方法,计算使得模型拟合样本数据误差最小的参数a,b,c。

3)得到参数后,即可将足长25.5、步幅70.3,带入二元线性回归模型,得到身高预测值。

  1. (5分) mnist 数据集60000有张图片作为训练数据。假设现在选择 Batch_Size = 100对模型进行训练,迭代30000次,请根据上述信息填写下表:
    问题 答案
    每个Epoch要训练的图片数量 (1)
    训练集具有的 Batch 个数 (2)
    每个Epoch需要完成的Batch个数 (3)
    每个Epoch具有的Iteration个数 (4)

答案:(1)60000;(2)600;(3)600;(4)600。

21.(5分)根据要求补充代码:

已知训练数据为x_data,目标值为y_data,使用训练数据通过线性判别分析训练线性回归模型,并计算训练数据的预测值。

from sklearn.linear_model import LinearRegression

lr = LinearRegression()

#使用训练数据训练线性回归模型

填空1

#使用训练好的模型,计算训练数据的预测值

填空2

答案:(1)lr.fit(x_data, y_data);(2)y_pre = lr.predict(x_data)

23.(5分)以下是VGG16网络的一部分,算下其特征尺寸,填入下表格:

问题 答案

输入224x224x3,经64个通道为3的3x3的卷积核,步长为1,padding=same填充,卷积两次,再经ReLU激活,输出的尺寸大小为 (1)

上面结果作为输入,经max pooling(最大化池化),滤波器为2x2,步长为2,图像尺寸减半,池化后的尺寸变为 (2)

上面结果作为输入,经128个3x3的卷积核,两次卷积,ReLU激活,尺寸变为 (3)

上面结果作为输入,max pooling池化,尺寸变为 (4)

答案:(1)224x224x64;(2)112x112x64;(3)112x112x128;(4)56x56x128。

(7分)使用限幅操作将程序补充完整:

a = tf.range(9)

若输出结果为:tf.Tensor([2 2 2 3 4 5 6 7 8], shape=(9,), dtype=int32)

则代码为 填空1

若输出结果为:tf.Tensor([0 1 2 2 2 2 2 2 2], shape=(9,), dtype=int32)

则代码为 填空2

若输出结果为:tf.Tensor([2 2 2 3 4 5 6 7 7], shape=(9,), dtype=int32)

则代码为 填空3

答案:

1)print(tf.maximum(a, 2))

2)print(tf.minimum(a, 2))

3)print(tf.clip_by_value(a, 2, 7))

(6分)根据提示,写出程序代码:

1)使用随机数生成图像数据x,2张5×5大小3通道图像。

2)生成4个3×3大小的3通道卷积w。

3)x,w卷积,结果为out,卷积参数:padding=0,stride=1,输出输入同大小。

答案:

(1)x=tf.random.normal([2,5,5,3])

(2)w=tf.random.normal([3,3,3,4])

(3)out= tf.nn.conv2d(x,w,strides=1, padding='SAME')

相关推荐
小技与小术几秒前
数据结构之树与二叉树
开发语言·数据结构·python
hummhumm27 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
杜小满31 分钟前
周志华深度森林deep forest(deep-forest)最新可安装教程,仅需在pycharm中完成,超简单安装教程
python·随机森林·pycharm·集成学习
databook1 小时前
『玩转Streamlit』--布局与容器组件
python·机器学习·数据分析
nuclear20112 小时前
使用Python 在Excel中创建和取消数据分组 - 详解
python·excel数据分组·创建excel分组·excel分类汇总·excel嵌套分组·excel大纲级别·取消excel分组
Lucky小小吴2 小时前
有关django、python版本、sqlite3版本冲突问题
python·django·sqlite
GIS 数据栈3 小时前
每日一书 《基于ArcGIS的Python编程秘笈》
开发语言·python·arcgis
爱分享的码瑞哥3 小时前
Python爬虫中的IP封禁问题及其解决方案
爬虫·python·tcp/ip
傻啦嘿哟4 小时前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
B站计算机毕业设计超人4 小时前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化