机器学习错题整理(一)
1使用以下模型解决分类问题时,一般情况下对输入数据内的噪音、离群点(outlier)最敏感的是?
Adaboost
软间隔SVM
Lasso
随机森林
答案A
说明:随机森林受异常点影响较小,这是有决策树性质决定的。异常点对SVM和Lasso都会有一定的影响,但是影响最大的还是Adaboost,因为Adaboost每一轮都会放大异常点数据的权重,最后将导致为异常点产生一个单独的基分类器来拟合数据。
2对于神经元q = x + y,f = q * z,当输入x=-2, y=5, z=-4时进行后向传播,则f对(x, y, z)的梯度分别为
(-3, 4, 4)
(-4, 4, 3)
(-4, -4, 3)
(3, -4, -4)
1近邻模型更容易过拟合
1近邻模型的Bias和Variance都更大
1近邻模型的Bias更大,Variance更小
1近邻模型的,Variance更大
这是一个正负类极度不平衡的数据集,因此AUC比较适合用于评估模型的效果
如果我们将模型在所有样本上的预估值都乘以2,则该模型模型的AUC有可能会下降(假设模型在所有样本上的预估值都小于0.5)
如果我们将模型在所有样本上的预估值都减去0.01,则该模型模型的AUC有可能会下降(假设模型在所有样本上的预估值都大于0.01)
我们可以将数据随机切分成10份,选择其中9份作为训练集,1份作为测试集,如此实现10重交叉检验可以较好地对模型的效果进行评估
Adaboost相对于单个弱分类器而言通过Boosting增大了模型的Bias
随机森林相对于单个决策树而言通过Bagging增大了模型的Variance
我们可以借鉴类似Bagging的思想对GBDT模型进行一定的改进,例如每个分裂节点只考虑某个随机的特征子集或者每棵树只考虑某个随机的样本子集这两个方案都是可行的
GBDT模型无法在树维度通过并行提速,因为基于残差的训练方式导致第i棵树的训练依赖于前i-1棵树的结果,故树与树之间只能串行
调小learning rate
调大batch size
使用ReLU
使用batch normaliztion
//这种题目怕的就是溢出,搞个long long 保险 long long str2int(string str) { long long result = 0; int flag = 1; for (int i = 0; i<str.size(); i++) { if (str[i] == '-') { flag = -1; continue; } if (str[i] == '+') { continue; } result *= 10; result += (str[i]-'0'); } return result*flag; }
11假设使用结构为(parent varchar(6), child varchar(6))的表来存储一颗树内所有子节点-父节点的关系。请使用SQL统计出该树内每个节点的儿子节点和孙子节点(即儿子的儿子)的数量之和。没有儿子且没有孙子的节点不应该出现在结果中。样例输入parent, childA BA CA DB EB FE G 样例输出node, cntA 5B 3
SQL集合运算参考及案例(二):树形节点数量逐级累计汇总
如何根据树的某个节点查询所有子节点包括孙子节点
T-SQL查询进阶--详解公用表表达式(CTE)
3、影响聚类算法效果的主要原因有:
特征选取、模式相似性测度、分类准则,与已知样本质量无关(使用的是无标注数据)
4、以下说法正确的有:
(1)SVM对噪声(如来自其他分布的噪声样本)鲁棒 F
SVM本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平的噪声对SVM没有太大影响,但随着噪声率的不断增加,分类器的识别率会降低。
(2)在AdaBoost算法中所有被分错的样本的权重更新比例相同 T
AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被凸显出来,从而得到一个新的样本分布。在新的样本分布下,再次对样本进行训练,得到弱分类器。以此类推,将所有的弱分类器重叠加起来,得到强分类器。
(3)Boost和Bagging都是组合多个分类器投票的方法,二者均是根据单个分类器的正确率决定其权重。 F
Bagging与Boosting的区别:取样方式不同。Bagging采用均匀取样,而Boosting根据错误率取样。Bagging的各个预测函数没有权重,而Boosting是有权重的,Bagging的各个预测函数可以并行生成,而Boosing的各个预测函数只能顺序生成。
关于 logit 回归和 SVM 不正确的是()
A. Logit回归目标函数是最小化后验概率.
B. Logit回归可以用于预测事件发生概率的大小
C. SVM目标是结构风险最小化
D. SVM可以有效避免模型过拟合
答案:A
A. Logit回归本质上是一种根据样本对权值进行极大似然估计的方法,而后验概率正比于先验概率和似然函数的乘积。logit仅仅是最大化似然函数,并没有最大化后验概率,更谈不上最小化后验概率。A错误
B. Logit回归的输出就是样本属于正类别的几率,可以计算出概率,正确
C. SVM的目标是找到使得训练数据尽可能分开且分类间隔最大的超平面,应该属于结构风险最小化.
315、假定目标变量的类别非常不平衡,即主要类别占据了训练数据的 99%。现在你的模型在测试集上表现为 99% 的准确度。那么下面哪一项表述是正确的?
A. 准确度并不适合于衡量不平衡类别问题
B. 准确度适合于衡量不平衡类别问题
C. 精确率和召回率适合于衡量不平衡类别问题
D. 精确率和召回率不适合于衡量不平衡类别问题
答案为(A)和(C)
BAT机器学习面试题1000题(311~315题)
313、鉴别了多元共线特征。那么下一步可能的操作是什么?
A. 移除两个共线变量
B. 不移除两个变量,而是移除一个
C. 移除相关变量可能会导致信息损失,可以使用带罚项的回归模型(如 ridge 或 lasso regression)。
答案为(B)和(C):因为移除两个变量会损失一切信息,所以我们只能移除一个特征,或者也可以使用正则化算法(如 L1 和 L2)。
对于给定1000个训练样本的二分类问题,关于支持向量机的说法,正确的有_____
正确答案: A 你的答案: B (错误)
需要构造1000个辅助变量,计算它们的非零值对应着支撑向量。
如果使用高斯核函数,不需要构造1000个辅助变量,只需要100个。
如果使用多项式核函数,不需要构造1000个辅助变量,只需要100个。
在当前普通计算机上需要约1小时才能得到训练模型。
辅助变量是a