百面机器学习

文章目录

1. 特征工程

归一化

MinMax

Z-Score

百面机器学习
x1x2更新速度变得一致,更容易找到梯度下降的最优解

需要归一化:线性回归逻辑回归支持向量机神经网络
不需要归一化:决策树模型

决策树在进行节点分裂时主要
依据数据集D关于特征x的信息增益比(详见第3章第3节) , 而信息增益比跟特征
是否经过归一化是无关的

类别特征编码

序号编码( Ordinal Encoding) 、 独热编码( One-hot Encoding) 、 二进制编码
( Binary Encoding)

高维组合特征的处理

会把一阶离散特征两两组合, 构成高阶组合特征。

一种行之有效的方法是将用户和物品分别用k维的低维向量表示( k<<m,k<<n)

百面机器学习

组合特征

怎样有效地找到组合特征?

基于决策树的特征组合寻找方法

百面机器学习

文本表示模型

  • 词袋模型( Bag of Words)
  • TF-IDF( Term Frequency-Inverse Document Frequency)
  • 主题模型( Topic Model)
  • 词嵌入模型( Word Embedding)

百面机器学习

词嵌入是一类将词向量化的模型的统称, 核心思想是将每个词都映射成低维空间( 通常K=50~300维) 上的一个稠密向量( Dense Vector) 。

Word2Vec

Word2Vec实际是一种浅层的神经网络模型, 它有两种网络结构, 分别是CBOW( Continues Bagof Words) 和Skip-gram。

Word2Vec是如何工作的? 它和LDA有什么区别与联系?

  • CBOW的目标是根据上下文出现的词语来预测当前词的生成概率
  • 而Skip-gram是根据当前词来预测上下文中各词的生成概率

LDA是利用文档中单词的共现关系来对单词按主题聚类, 也可以理解为对“文档-单词”矩阵进行分解, 得到“文档-主题”和“主题-单词”两个概率分布。

而Word2Vec其实是对“上下文-单词”矩阵进行学习, 其中上下文由周围的几个单词组成, 由此得到的词向量表示更多地融入了上下文共现的特征。

2. 模型评估

精确率与召回率的权衡

精确率与召回率的权衡。

hulu视频精确率召回率的平衡

如果相关结果有100个, 即使Precision@5达到了100%, Recall@5也仅仅是5%。

模型的P-R( PrecisionRecall) 曲线

F1是两者的调和平均

回归模型的评价指标

RMSE

很好地反映回归模型预测值与真实值的偏离程度。 但在实际问题中, 如果存在个别偏离程度非常大的离群点( Outlier) 时, 即使离群点数量非常少, 也会让RMSE指标变得很差。

MAPE相当于对误差进行了归一化,降低了个别离群点带来的绝对误差影响

百面机器学习

ROC曲线

ROC曲线是Receiver Operating Characteristic Curve的简称

横坐标为假阳性率( False Positive Rate, FPR) ; 纵坐标为真阳性率( True Positive Rate, TPR) 。

百面机器学习
为什么ROC曲线不受样本不均衡问题的影响

百面机器学习TPR考虑的是第一行,实际都是正例,FPR考虑的是第二行,实际都是负例。因此,在正负样本数量不均衡的时候,比如负样本的数量增加到原来的10倍,那TPR不受影响,FPR的各项也是成比例的增加,并不会有太大的变化。因此,在样本不均衡的情况下,同样ROC曲线仍然能较好地评价分类器的性能,这是ROC的一个优良特性。

百面机器学习

更直观地绘制ROC曲线的方法

根据样本标签统计出正负样本的数量, 假设正样本数量为P, 负样本数量为N;

横轴的刻度间隔设置为1/N纵轴的刻度间隔设置为1/P; 再根据模型输出的预测概率对样本进行排序( 从高到低) ;

依次遍历样本, 同时从零点开始绘制ROC曲线, 每遇到一个正样本就沿纵轴方向绘制一个刻度间隔的曲线, 每遇到一个负样本就沿横轴方向绘制一个刻度间隔的曲线, 直到遍历完所有样本, 曲线最终停在( 1,1) 这个点, 整个ROC曲线绘制完成。

AUC值只需要沿着ROC横轴做积分就可以了。

AUC越大, 说明分类器越可能把真正的正样本排在前面, 分类性能越好。

ROC曲线有一个特点, 当正负样本的分布发生变化时, ROC曲线的形状能够基本保持不变, 而P-R曲线的形状一般会发生较剧烈的变化。

ROC曲线能够尽量降低不同测试集带来的干扰, 更加客观地衡量模型本身的性能。

余弦距离

如果希望得到类似于距离的表示, 将1减去余弦相似度即为余弦距离。 因此, 余弦距离的取值范围为[0,2], 相同的两个向量余弦距离为0。

在一些场景, 例如Word2Vec中, 其向量的模长是经过归一化的, 此时欧氏距离与余弦距离有着单调的关系, 即

百面机器学习
随便推一下就知道了

在此场景下, 使用余弦相似度和欧氏距离的结果是相同的。

欧氏距离体现数值上的绝对差异, 而余弦距离体现方向上的相对差异。

余弦距离是否是一个严格定义的距离?

  • 正定性

余弦距离的取值范围是[0, 2]

  • 对称性

百面机器学习

  • 三角不等式

百面机器学习

KL距离不满足三角不等式

模型评估的方法

百面机器学习

超参数调优

贝叶斯优化算法则充分利用了之前的信息。 贝叶斯优化算法通过对目标函数形状进行学习, 找到使目标函数向全局最优值提升的参数。

具体来说, 它学习目标函数形状的方法是, 首先根据先验分布, 假设一个采集函数; 然后, 每一次使用新的采样点来测试目标函数时, 利用这个信息来更新目标函数的先验分布; 最后, 算法测试由后验分布给出的全局最值最可能出现的位置的点。

过拟合和欠拟合

过拟合就是学习噪声

降低过拟合的方法:

  • 获取更多的训练数据
  • 降低模型复杂度
  • 正则化方法
  • 集成学习方法

降低欠拟合的方法:

  • 添加新特征(FM, GBDT, DeepCrossing)
  • 增加模型复杂度
  • 减少正则化系数

3. 经典算法

SVM

LR

决策树

决策树有哪些常用的启发函数?

  • ID3 最大信息增益
  • C4.5 最大信息增益比
  • CART 基尼指数

剪枝方法

  • 预剪枝
    • 树达到一定深度的时候,停止树的生长
    • 某结点样本数量小于阈值
    • 信息增益的提升
  • 后剪枝
    • CCP 代价复杂度剪枝 Cost Complexity Pruning

4. 降维

PCA

PCA旨在找到数据中的主成分, 并利用这些主成分表征原始数据, 从而达到降维的目的。

百面机器学习
可以从最小平方误差最大方差的角度进行解释。

5. 非监督学习

6. 概率图模型

贝叶斯网络( Bayesian Network) :有向图模型,CRF

马尔可夫网络( Markov Network):无向图模型,HMM

百面机器学习

百面机器学习
有空看下喆神的推导

百面机器学习

百面机器学习
百面机器学习

解释朴素贝叶斯模型的原理, 并给出概率图模型表示

百面机器学习

后验概率 P ( X ∣ y i ) P(X|y_i) P(X∣yi​)决定了分类的结果

和上面的贝叶斯网络对比一下,就知道了

解释最大熵模型的原理, 并给出概率图模型表示。

有空看一下

百面机器学习

7. 优化算法

损失函数

经典的优化算法

L1正则化与稀疏性

8. 采样

9. 前向神经网络

10. 循环神经网络

12. 集成学习

上一篇:R语言中生存分析模型与时间依赖性ROC曲线可视化


下一篇:通过三个直观步骤理解ROC曲线