简介这是一份面向深度学习初学者与备考人群的专项练习资料以100道选择题的形式覆盖机器学习与深度学习的核心知识点帮助学习者在刷题中检验理论掌握程度、查漏补缺。题目涉及监督与无监督学习、梯度下降、交叉验证、准确率与F1分数等评估指标、L1正则化与PCA降维、类别不平衡处理、过拟合、激活函数、词嵌入、CNN与全连接层、SVM支持向量、YOLO目标检测、学习率以及主流深度学习框架等内容并延伸至人工智能、机器学习与深度学习的层级关系。资源包内含1个docx文档约76KB结构紧凑便于打印或在线练习。目前已有142人学习下载。读者可借助这套题目系统梳理概念脉络定位薄弱环节适合作为课程复习、面试准备或自测巩固的配套练习材料。1. 深度学习100道选择题一份被低估的“知识体检表”很多人刷深度学习题第一反应是找带答案的题库背一遍结果面试时被追问“为什么用交叉熵而不是MSE”就卡壳。这份深度学习100道选择题资源恰恰是拿来暴露这种“背过但没懂”的漏洞的。它覆盖监督学习、无监督学习、CNN、RNN、全连接网络、模型评估、优化算法等核心模块每道题都是单选题四个选项里往往藏着两三个容易混淆的干扰项。适合谁刚学完吴恩达课程想自测的入门者、准备AI岗位笔试的求职者、以及需要快速筛查团队基础水平的技术负责人。它不是教材是一张能定位你知识盲区的体检表——做完对答案不是终点把错题背后的概念链条补上才是。2. 拆解100道题的考点分布从监督学习到CNN的参数计算2.1 题目覆盖的六大知识模块把100道题按考点归类能看出出题人的意图非常明确不考偏门只考那些“你以为你懂了”的地方。大致分布如下模块题量区间典型考点机器学习基础1-10、26-28、42-46监督/无监督区分、交叉验证目的、精确率计算深度学习框架与工具11-14、37-38、57框架识别、numpy矩阵乘法、绘图库神经网络基础16、23、29-33、52-56激活函数作用、学习率、Dropout、反向传播全连接网络61-81权重矩阵维度、偏置项作用、Softmax适用场景卷积神经网络18、22、34-35、49-51、82-90卷积核参数计算、池化层目的、步长与填充循环神经网络与评估48、91-100RNN隐藏状态、LSTM、过拟合判断、泛化能力这张表本身就是一份复习路线图。如果你在“卷积核参数计算”那几道题上反复出错说明你对手动推导CNN层间维度变化还不熟练而不是“粗心”。2.2 参数计算类题目的手算验证方法第34题是典型的参数计算题输入300×300彩色RGB图像第一个隐藏层用100个5×5卷积核问参数总数含偏置。很多人直接选C7601但说不清7601怎么来的。手算逻辑是# 卷积层参数计算公式 # 参数数 (卷积核高 × 卷积核宽 × 输入通道数 1) × 卷积核个数 # 输入是RGB图像通道数3 # 每个5×5卷积核的参数 5 × 5 × 3 75 # 加上1个偏置 76 # 100个卷积核 76 × 100 7600 # 但题目问的是这个隐藏层有多少个参数 # 注意偏置是每个卷积核共享一个所以是(5×5×31)×100 7600 # 如果题目选项有7601那可能是把某个额外参数算进去了 # 实际标准答案应为7600对应选项B kernel_h, kernel_w 5, 5 in_channels 3 out_channels 100 params (kernel_h * kernel_w * in_channels 1) * out_channels print(f参数量: {params}) # 输出 7600这里的关键参数是in_channels3因为输入是彩色RGB图像。如果题目改成灰度图in_channels1参数量就变成(5×5×11)×1002600。很多人翻车就翻在忘了乘输入通道数。第20题的点积计算也是同理向量A(-1,1,0,5)和B(4,6,1,1)点积(-1)×41×60×15×17对应选项D。手算一遍比背公式可靠。2.3 评估指标类题目的计算套路第45题给了一个二分类场景预测为正类的样本中80个真正类、20个假正类实际正类样本共100个。问精确率。精确率TP/(TPFP)80/(8020)0.8选A。但同一组数据如果问召回率就是80/1000.8数值巧合相同。很多人在这里混淆精确率和召回率的分子分母。我一般会让学生用下面这个表来强制区分指标公式关注点精确率TP/(TPFP)预测为正的样本里有多少是真的召回率TP/(TPFN)真实正样本里有多少被找出来了F1分数2×P×R/(PR)精确率和召回率的调和平均第9题问“哪个指标不受类别不平衡影响”答案是F1分数因为它是精确率和召回率的综合而精确率和召回率各自只关注一个维度。准确率在类别极度不平衡时会虚高比如99%负样本的数据集全预测为负也有99%准确率。3. 把选择题变成实操训练用代码验证每道题的答案3.1 搭建本地验证环境光对答案没用我习惯把有争议的题目用代码跑一遍。环境很简单# 创建虚拟环境 python -m venv dl_quiz_env source dl_quiz_env/bin/activate # Windows用 dl_quiz_env\Scripts\activate # 安装核心依赖 pip install numpy pandas matplotlib scikit-learn tensorflow-cpu这里用tensorflow-cpu是因为验证选择题不需要GPUCPU版本装起来快、兼容性好。如果你已经装了PyTorch把最后一行换成pip install torch torchvision也行验证思路一样。3.2 用sklearn验证聚类和降维题目第2题问哪个是无监督学习答案是K-means。第7题问降维方法答案是PCA。这两道题可以用三行代码验证from sklearn.cluster import KMeans from sklearn.decomposition import PCA from sklearn.datasets import make_blobs import numpy as np # 生成模拟数据3个簇每个簇100个样本 X, y_true make_blobs(n_samples300, centers3, n_features4, random_state42) # K-means聚类无监督不需要y_true kmeans KMeans(n_clusters3, random_state42, n_init10) y_pred kmeans.fit_predict(X) print(fK-means聚类完成簇中心形状: {kmeans.cluster_centers_.shape}) # PCA降维从4维降到2维 pca PCA(n_components2) X_reduced pca.fit_transform(X) print(fPCA降维后形状: {X_reduced.shape}) print(f解释方差比: {pca.explained_variance_ratio_})n_init10是K-means的初始化次数取10次里最好的结果避免陷入局部最优。explained_variance_ratio_告诉你降维后保留了多少原始信息如果两个主成分加起来不到80%说明降到2维损失太大需要考虑增加维度。第19题问“处理高维数据时哪个方法有助于减少维度并保留重要信息”PCA正是通过最大化方差来保留信息。3.3 用TensorFlow验证CNN层参数和激活函数第34题的卷积参数计算可以用TensorFlow的model.summary()直接看import tensorflow as tf from tensorflow.keras import layers, models # 构建一个最小CNN复现第34题场景 model models.Sequential([ # 输入300×300×3100个5×5卷积核 layers.Conv2D(100, (5, 5), input_shape(300, 300, 3), nameconv1), layers.GlobalAveragePooling2D(), layers.Dense(10, activationsoftmax) ]) model.summary() # 观察conv1的Param列应该显示7600运行后conv1层的Param列会显示7600和手算一致。GlobalAveragePooling2D是为了把特征图压成向量接全连接层实际项目中常用Flatten这里用池化是为了让summary更简洁。第53题问哪个激活函数能缓解梯度消失答案是ReLU。你可以把Conv2D的激活函数改成sigmoid再跑一次观察训练时loss下降速度的差异——ReLU通常前几个epoch就降得很快Sigmoid会慢很多。3.4 用numpy复现点积和矩阵乘法第14题问numpy哪个方法做矩阵乘法答案是numpy.dot()。第20题的点积计算可以直接验证import numpy as np # 第20题向量点积 A np.array([-1, 1, 0, 5]) B np.array([4, 6, 1, 1]) dot_result np.dot(A, B) print(f点积结果: {dot_result}) # 输出 7 # 第14题矩阵乘法 M1 np.array([[1, 2], [3, 4]]) M2 np.array([[5, 6], [7, 8]]) print(f矩阵乘法:\n{np.dot(M1, M2)}) # 对比 np.array() 只是创建数组np.sum() 是求和np.ones() 是生成全1矩阵np.dot()对一维数组是点积对二维数组是矩阵乘法。np.matmul()或运算符也可以但np.dot()在选择题里出现频率最高。注意np.array()只是构造数组不做运算这是第14题的干扰项。4. 避坑与排查刷这100道题时最容易翻车的五个地方4.1 把“评估指标”和“损失函数”混为一谈现象第32题问多分类常用损失函数有人选准确率第81题问评估指标有人选交叉熵。原因准确率是评估指标交叉熵是损失函数两者用途不同。解决记住一条线——损失函数用于训练时反向传播评估指标用于训练后判断好坏。训练时用交叉熵评估时看准确率、F1分数。4.2 忽略“单选”题里“以上都是”的陷阱现象第59题问参数初始化技术选项D是“以上都是”有人觉得He初始化最专业就选了C。原因题目明确问“哪些技术可以用于初始化”均匀分布、正态分布、He初始化都是合法方法。解决遇到“以上都是”先逐个验证只要有一个成立且没有“以上都不是”的干扰就选D。第68题、第70题同理。4.3 卷积参数计算忘记乘输入通道数现象第34题算成(5×51)×1002600选了A。原因输入是RGB三通道每个卷积核实际是5×5×3的三维张量。解决卷积核参数公式是(k_h × k_w × in_channels 1) × out_channelsin_channels由输入数据决定不是1。4.4 把RNN的“序列长度”和“隐藏层数量”搞反现象第94题问梯度消失与什么有关有人选B隐藏层数量。原因RNN的梯度消失主要沿时间步展开序列越长连乘的梯度项越多越容易消失或爆炸。隐藏层数量是深度方向的概念RNN通常只有一层隐藏状态。解决看到RNN梯度问题先想“时间步”看到全连接网络梯度问题才想“层数”。4.5 对“无监督学习”的边界判断过宽现象第13题问哪个是无监督学习有人选逻辑回归。原因逻辑回归有标签是监督学习。K-means没有标签是无监督。解决判断标准只有一个——训练数据有没有标签。有标签就是监督没标签就是无监督半监督是两者混合。第42题问“训练数据全部带有标记”答案是监督学习。5. 进阶用法把100道题改造成面试追问脚本做完一遍对完答案这份资源的真正价值才刚开始。我习惯把每道选择题改造成三层追问用来模拟技术面试的深度。以第10题“过拟合的定义”为例第一层追问过拟合的典型表现是什么——训练集表现好测试集表现差。第二层追问怎么判断一个模型过拟合了——看训练loss和验证loss的差距如果训练loss持续下降但验证loss开始上升就是过拟合信号。第三层追问你实际项目中用过哪些手段对抗过拟合——数据增强、Dropout、L2正则化、早停。如果候选人只答出Dropout说明实践经验有限。再比如第23题“学习率的作用”可以追问学习率设太大和太小分别会怎样——太大会震荡不收敛太小会收敛慢或陷入局部最优。接着问你用过哪些学习率调度策略——Step decay、Cosine annealing、ReduceLROnPlateau。最后问ReduceLROnPlateau的patience参数怎么设——通常设3到5监控验证loss连续几个epoch不下降就降学习率。这套追问脚本可以覆盖100道题里的每一道。我一般会挑20道核心题做深度追问剩下的作为快速筛查。具体操作是建一个表格题号考点第一层追问第二层追问第三层追问10过拟合典型表现判断方法对抗手段23学习率过大过小影响调度策略参数设置34卷积参数公式推导通道数影响感受野计算45精确率公式与召回率区别类别不平衡时表现94RNN梯度原因与层数关系LSTM如何缓解这张表填完你对每个知识点的理解就从“选对”变成了“讲清”。从那以后我每次带新人都强制让他们先做一遍这100道题然后挑10道给我讲追问链讲不顺的回去重学。希望帮到你。本文还有配套的精品资源点击获取