本文档记录刷题过程中做错的一些题目,并将其分类,以便于以后复习。
机器学习基础知识
- 增加以下哪些超参数可能导致随机森林模型过拟合数据?
1. 决策树的数量;
2. 决策树的深度;
3. 学习率。
答案: 2
- 在线性回归中使用正则项,你发现解的不少coefficient都是0,则这个正则项可能是:
1. L0-norm
2. L1-norm
3. L2-norm
答案:1、2 L0-norm为向量中非零元素的个数
- 当训练样本数量趋向于无穷大时,在该数据集上训练的模型变化趋势,对于其描述正确的是 :
1. 偏差(bias)变小
2. 偏差变大
3. 偏差不变
4. 不确定
答案: 3,模型收敛后偏差趋向不变
- 随机变量
$X \sim N(1,2),Y \sim N(3,5)$
,则$X+Y \sim$
1. N(4,7)
2. N(4,\sqrt 2 + \sqrt 5)
3. N(1 + \sqrt 3 ,7)
4. 不确定
答案 : 4 ,通过边缘概率分布不能确定联合概率分布
- 若将KNN看成是kernel method的一种实现, 则kernel函数为
答案 :B
- 下列不是SVM的常用核函数的是?
1. 多项式核函数
2. sigmoid核函数
3. 径向基核函数
4. logistic核函数
答案:4.
- SVM常见核函数:
- q次多项式核
- 径向基函数
- S型函数(Sigmoid)
- 下列描述中错误的是?
1. 函数在某点的梯度方向与取得最大方向导数的方向一致。
2. 在等式约束条件下,约束的梯度向量与目标函数的梯度向量在最优解处一定平行。
3. KKT条件是强对偶成立的充要条件。
4. 函数在某点的梯度的模为方向导数的最大值。
答案:3.
KKT条件是强对偶性成立的必要条件,特别的,当原问题是凸优化问题时,KKT条件就是充要条件。
- 关于线性规划的算法复杂度 以下哪些是正确的?
1. simplex在多项式复杂度的时间内可以解决线性规划问题
2. simplex不是多项式复杂度,而且线性规划的问题不可以在多项式时间内求解
3. 线性规划的问题可以在多项式时间内求解,但是simplex不是多项式复杂度
4. 因为线性规划的可行域总是凸集,所以simplex算法才能在多项式时间复杂度内解决线性规划问题
答案:3.
- 在相同样本量下,重复抽样与不重复抽样的抽样平均误差大小关系是?
1. 二者相同
2. 重复抽样误差大
3. 不重复抽样误差大
4. 不确定
答案: 2.
- 以下关于K近邻(KNN)算法的说法中正确的是?
1. KNN算法可以用来解决回归问题
2 .随着K值的增大,决策边界(decision boundary)会越来越光滑
3. KNN算法适合解决高维稀疏数据上的问题
4. 相对3近邻模型而言,1近邻模型的bias更大,variance更小
答案:1. 2. K为1时方差更大,偏差不一定,容易过拟合,K太大时偏差大
- 下列关于特征选择方法中,描述正确的是
1. 传统交叉熵只考虑了特征与类别之间的相关性,而忽略了特征项在类内和类间分布的均匀程度。
2. 互信息筛选特征的方法受稀有特征的影响比较大
3. 信息增益筛选特征倾向于特征值比较多的特征
4. 皮尔逊相关系数计算时,方差均为0时,相关性最大
答案: 4. 当方差为0的时候,相关系数为0.
- 关于准确率、召回率和f1-score,以下错误的是:
1. 准确率为TP/(TP+FP)
2. 召回率为TP/(TP+FN)
3. f1-score为2TP/(2TP+FP+FN)
4. f1-score为准确率*召回率/(准确率+召回率)
- 以下哪些算法可以通过无监督学习方式进行训练?
1. SVM
2. K-Medoids
3. 决策树
4. RBM
5. GAN
答案 : 2. 4. 5. RBM(受限玻尔兹曼机)也可以通过无监督学习训练
- 以下哪个不属于过拟合解决方式
1. bagging/boosting
2. batch normalization
3. L2范式
4. cross validation
答案: 2. 交叉验证的作用是建立模型和验证模型,对样本数进行切割,组成不同的训练集和测试集。
- 以下哪些分类器是线性分类器
1. 朴素贝叶斯
2. SVM
3. 逻辑回归
4. 感知机
5. XGBoost
- 线性分类器:模型是参数的线性函数,分类平面是(超)平面;
- 非线性分类器:模型分界面可以是曲面或者超平面的组合。
- 典型的线性分类器有感知机,LDA,逻辑斯特回归,SVM(线性核);
- 典型的非线性分类器有朴素贝叶斯(有文章说这个本质是线性的,http://dataunion.org/12344.html),kNN,决策树,SVM(非线性核)
- 关于随机森林描述正确的是:
1. 随机森林可以降低预测方差
2. 随机森林可以降低预测偏差
3. 随机森林可以降低噪音
4. 以上全部
错选:4.
答案:1.
随机森林采用bagging的集成思想,可以降低方差,对于boosting模型可以降低偏差
- 在机器学习的特征选择过程中,可以用到的方法有
1. 卡方
2. 信息增益
3. 交叉熵
4. 互信息
错选:2. 4.
正确:1. 2. 3. 4.
在文本分类中,首先要对数据进行特征提取,特征提取中又分为特征选择和特征抽取两大类,在特征选择算法中有互信息,文档频率,信息增益,卡方检验以及期望交叉熵。
- 期望交叉熵,以文本分类为例子,期望交叉熵用来度量一个词对于整体的重要程度。
- 在ID3决策树中,也使用信息增益作为特征选择的方法,在C4.5决策树中,使用信息增益比作为特征选择的方法,在CART中,使用基尼指数作为特征选择的方法
- 链接:https://www.nowcoder.com/questionTerminal/bacc960e371c496e9e1ff9b7233a5b0a?orderByHotValue=2&mutiTagIds=631&page=1&onlyReference=false
- 关于下列机器学习理论上的各种描述,请选择下列正确的选项
1. 逻辑斯提回归的常用损失函数其实本质是一种相对熵度量
2. 核方法可以简化再机器学习中高维映射的运算
3. 随机梯度下降方法可以得到理论上的最优解
4. 剪枝是防止决策树模型过拟合的一种常见方法
错选:2. 3. 4.
答案:2. 4.
- 深度学习中的不同最优化方式,如SGD,ADAM下列说法中正确的是
1. 在实际场景下,应尽量使用ADAM,避免使用SGD
2. 同样的初始学习率情况下,ADAM的收敛速度总是快于SGD方法
3. 相同超参数数量情况下,比起自适应的学习率调整方式,SGD加手动调节通常会取得更好效果
4. 同样的初始学习率情况下,ADAM比SGD容易过拟合
错选: 2.
答案: 3.
- 以下哪个方法不能用来降维:
1. PCA
2. IsoMap
3. LLE
4. LVW
错选: 2.
答案: 4.
- PCA:主成分分析
- LLE:局部线性嵌入
- IsoMap:等度量映射
- LVW:拉斯维加斯特征选择算法
- 以下关于kNN的说法中,错误的是:
1. 一般使用投票法进行分类任务
2. kNN属于懒惰学习
3. kNN训练时间普遍偏长
4. 距离计算方法不同,效果也可能有显著差别
错选: 1.
答案: 3.
- KNN有训练集做标签但无需训练过程
- 影响聚类算法效果的主要因素有()
1. 已知类别的样本质量
2. 分类准则
3. 特征选取
4. 模式相似性测度
答案:2. 3. 4.
深度学习基础知识
- 输入图片大小为200×200,依次经过一层卷积(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一层卷积(kernel size 3×3,padding 1,stride 1)之后,输出特征图大小为
1. 95
2. 96
3. 97
4. 98
答案 : 97.
-
图像卷积后尺寸计算公式
- 输入图片大小W*W
- Filter大小F*F
- 步长S
- Padding的像素数P
-
N = (W-F+2P)/ S+1 ,输出图片大小为 N*N。
- 假设我们有一个5层的神经网络,这个神经网络在使用一个4GB显存显卡时需要花费3个小时来完成训练。而在测试过程中,单个数据需要花费2秒的时间。 如果我们现在把架构变换一下,当评分是0.2和0.3时,分别在第2层和第4层添加Dropout,那么新架构的测试所用时间会变为多少?
1. 少于2s
2. 大于2s
3. 仍是2s
4. 说不准
答案: 3. dropout会增加训练时间,但是不会增加测试时间。
编程算法基础(时间复杂度计算等)
- 完全二叉树共有100结点,该二叉树有多少个叶子结点?
1. 49
2. 50
3. 51
4. 52
答案 : 2
完全二叉树,当节点数为偶数时,叶子节点个数为n/2,当节点数为奇数时,叶子节点个数为(n+1)/2
- 求一个长度为n的无序数组的中位数,期望复杂度和最坏复杂度最优分别可以做到
1. O(1),O(n)
2. O(n),O(n)
3. O(n),O(nlogn)
4. O(nlogn),O(nlogn)
答案:3.
3.若一个递归函数的规模函数T(n) = T(n-2) + (n^2)/3,则其算法的时间复杂度为:
1. O(n^2)
2. O(n^2 log(n))
3. O(n^3)
4. O(n^3 log(n))
答案: 3.
-
算数级数:与末项平方同阶:
T ( n ) = 1 + 2 + 3 + . . + n = n ( n + 1 ) / 2 = O ( n 2 ) T(n) = 1+2+3+..+n = n(n+1)/2 = O(n^2) T(n)=1+2+3+..+n