文章目录
机器学习
评价指标
混淆矩阵:

-
精度 Accuracy 定义:(TP+TN)/(TP+FN+FP+TN) 即所有分类正确的样本占全部样本的比例
-
精确率 Precision、查准率 定义:(TP)/(TP+FP) 即预测是正例的结果中,确实是正例的比例
-
召回率 Recall、查全率 定义:(TP)/(TP+FN) 即所有正例的样本中,被找出的比例
-
F1值 定义:(2 * P * R)/(P + R) Precision和Recall指标有时是此消彼长的,在一些场景下要兼顾精准率和召回率,最常见的方法就是F1-score
-
TPR 真正例率,与召回率相同 定义:(TP)/(TP+FN)
-
FPR 假正例率 定义:(FP)/(TN+FP)
-
ROC曲线
ROC(Receiver OperatingCharacteristic)“受试者工作特征”,根据学习器预测的结果,把概率阈值从0调到1, 即从刚开始取概率0.1为正例,之后取0.9为正例,从而画出的ROC曲线。
主要作用:
- ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。
- 有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。
- 可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。
ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变

-
AUC(Area Under Curve)又称为曲线下面积,是处于ROC Curve下方的那部分面积的大小。
如果两个模型的ROC曲线发生了交叉,则很难一般性地断言谁优谁劣。在很多实际应用中,我们往往希望把学习器性能分出个高低来。在此引入AUC面积。对于ROC曲线下方面积越大表明模型性能越好,于是AUC就是由此产生的评价指标。通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的Performance。如果模型是完美的,那么它的AUC = 1,证明所有正例排在了负例的前面,如果模型是个简单的二类随机猜测模型,那么它的AUC = 0.5,如果一个模型好于另一个,则它的曲线下方面积相对较大,对应的AUC值也会较大。
问:在多分类问题下能不能使用ROC曲线来衡量模型性能?
我的理解:ROC曲线用在多分类中是没有意义的。只有在二分类中Positive和Negative同等重要时候,适合用ROC曲线评价。如果确实需要在多分类问题中用ROC曲线的话,可以转化为多个“一对多”的问题。即把其中一个当作正例,其余当作负例来看待,画出多个ROC曲线。
L1正则和L2正则
- L1-norm(L1范数)

- L2-norm(L2范数)

L1和L2的比较:
- L1正则化就是在 loss function 后面加上L1范数,这样比较容易求到稀疏解。L2 正则化是在 LF 后面加 L2范数 平方,相比L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(不等0)的维度比较多,降低模型的复杂度。
- 鲁棒性(Robustness):
概括起来就是L1对异常点不太敏感,而L2则会对异常点存在放大效果。 - 稳定性:
概括起来就是对于新数据的调整,L1的变动很大,而L2的则整体变动不大。
L1遵从拉普拉斯分布,L2遵从高斯分布
交叉熵
- 二分类
交叉熵在二分的情况下,模型最后需要预测的结果只有两种情况,对于每个类别我们的预测得到的概率为 p和 1-p 。此时表达式为:

-
Yi —— 表示样本i的label,正类为1,负类为0
-
Pi —— 表示样本i预测为正的概率
-
多分类
多分类的情况实际上就是对二分类的扩展:

- M ——类别的数量;
- Yic ——指示变量(0或1),如果该类别和样本i的类别相同就是1,否则是0;
- Pic ——对于观测样本i属于类别 [公式] 的预测概率。
欠拟合和过拟合
- 模型⽆法得到较低的训练误差,我们将这⼀现象称作⽋拟合(underfitting)
- 模型的训练误差远小于它在测试数据集上的误差,我们称该现象为过拟合(overfitting)
为什么会产生欠拟合
- 模型不够复杂、拟合函数的能力不够,特征维度过少,导致拟合的函数无法满足训练集,误差较大。
如何解决欠拟合
- 可以增加迭代次数继续训练、尝试换用其他算法、增加模型的参数数量和复杂程度,或者采用Boosting等集成方法。
为什么会产生过拟合
- 训练数据中噪音干扰过大
- 训练数据太少
- 模型参数过多,模型复杂度高
- 特征维度过多
如何解决过拟合
- 增大数据量
- 降低模型复杂度,使其适合自己训练集的数量级(缩小宽度和减小深度)
- 减少特征维度(人工定义留多少个feature或者算法选取这些feature)
- 正则化(留下所有的feature,但对于部分feature定义其parameter非常小
- 针对神经网络,采用dropout方法
- early stopping
- 交叉验证
- 重新清洗数据
样本不平衡处理方法?
-
上采样和下采样
-
修改权重(修改损失函数) focalloss
-
集成方法:bagging, 类似随机森林、自助采样
-
分段逐一训练(举例:正样本10000,负样本1000,将正样本随机分成10份,每份1000,然后拿着负样本的1000与正样本的每一份进行训练,最后进行融合选择)
杂项
最大似然估计(MLE)和最大后验概率(MAP)
最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。
最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的。
最大后验估计是根据经验数据获得对难以观察的量的点估计。与最大似然估计类似,但是最大的不同时,最大后验估计的融入了要估计量的先验分布在其中。故最大后验估计可以看做规则化的最大似然估计。
贪心算法和动态规划的区别和联系
- 联系
- 都是一种递推算法,均由局部最优解来推导全局最优解。
- 都是分解成子问题来求解,都需要有最优子结构
- 区别
-
贪心:每一步的最优解一定包含上一步的最优解,上一步之前的最优解则不作保留;
动态规划:全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有的局部最优解
-
贪心:如果把所有的子问题看成一棵树的话,贪心从根出发,每次向下遍历最优子树即可(通常这个“最优”都是基于当前情况下显而易见的“最优”);这样的话,就不需要知道一个节点的所有子树情况,于是构不成一棵完整的树;
动态规划:动态规划则自底向上,从叶子向根,构造子问题的解,对每一个子树的根,求出下面每一个叶子的值,最后得到一棵完整的树,并且最终选择其中的最优值作为自身的值,得到答案
-
根据以上两条可以知道,贪心不能保证求得的最后解是最佳的,一般复杂度低;而动态规划本质是穷举法,可以保证结果是最佳的,复杂度高。
分类模型和回归模型的区别是什么
分类和回归的区别在于输出变量的类型,当然,这个类型的根本而在于损失函数的形式不同
定量输出称为回归,或者说是连续变量预测;
定性输出称为分类,或者说是离散变量预测。
分类和回归模型的本质是一样的,分类模型可以将回归模型的输出离散化,回归模型也可以将分类模型的输出连续化。
什么是bias和variance
偏差:描述的是预测值(估计值)的期望与真实

本文详细总结了机器学习面试中的关键知识点,包括评价指标如精度、查准率、查全率、F1值和AUC,正则化方法L1和L2,交叉熵在二分类和多分类中的应用,欠拟合和过拟合的原因及解决方案,样本不平衡处理方法,以及多种算法的比较,如逻辑回归、SVM、随机森林和GBDT。还涵盖了深度学习中的激活函数、梯度爆炸与梯度消失问题,以及LSTM的优化。最后讨论了生成模型与判别模型的差异和应用场景。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



