目录
- 概率问题
- 各种对比
-
- LR vs SVM
-
- LR 对比 SVM
- 如何选择LR和SVM
- 决策树 vs LR
- GBDT vs LR
- AdaBoost vs GBDT
- GBDT vs XGBoost
- CART vs ID3 vs C4.5
- Boosting vs Bagging
- 第一章 绪论
- 第二章 模型评估与选择
-
- 1.评估方法
- 2.评估指标
- 3.泛化误差期望 = 偏差+方差+噪声
- 4.归一化
- 5.正则化
-
- Q:L1比L2更稀疏
-
- (1)梯度值
- (2)先验概率
- (3)等高线图形方法
- (4)函数叠加方法
- Q:为什么权重变小可以缓解过拟合
- 6.过拟合与欠拟合
-
- (1)降低过拟合:
- (2)降低欠拟合:
- 第三章 线性模型
-
- 1.线性模型的优点
- 2.一元线性回归
- 3.多元线性回归
- 4.对数几率回归(LR)
-
- (1) 二分类,广义线性模型,用Sigmoid
- (2)优点
- (3)缺点
- (4)对数损失函数==极大似然函数取对数
- (5)极大似然法求解w和b
- (6)推导
- (7)为什么用极大似然而不用例如平方损失做优化
- (8)重复特征对结果没啥影响,就是慢,相当于每个特征作用变为原来1/n
- (9)用Sigmoid的理由
- (10)LR和SVM的相同
- (11)LR vs SVM
- (12)如何选择LR和SVM
- (13)LR如何解决线性不可分问题
- (14)LR离散化连续数值
- 5.最大熵模型:学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型。
- 6.线性判别分析LDA
-
- (1)优点:计算速度快、充分利用先验知识
- (2)缺点:非高斯分布时不好(PCA同)、降维后维数最多为n-1,维度高类别少时不好使。
- (3)投影到一条直线上,使同类样例的投影点尽可能接近、异类样例的投影点尽可能远离
- (4)广义瑞利商:类内散度除以类间散度
- 7.多分类 OvO、OvR、MvM
- 8.数据类别不平衡:调整分类阈值、欠采样、过采样
- 9.交叉熵、相对熵(KL散度)、互信息
- 第六章 支持向量机SVM
-
- 1. SVM优点
- 2. SVM缺点
- 3. 为什么SVM转换到对偶问题:对偶问题好求解;可以引入核函数
- 4. SMO算法:每次固定两个α以外的参数,然后更新这俩
- 5. 为什么映射到高维:如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分
- 6. 常用核函数
- 7.拉格朗日乘子法的条件:目标函数和约束条件都连续可微(目标函数为凸优化)
- 和SVM的相同
- vs SVM
- 是一个回归模型,允许f(x)与y有至多epsilon的误差
- 11. 缺失值情况下模型选择
- 第四章决策树DT
-
- vs ID3 vs C4.5
- 2.信息熵 & 信息增益
- 3.信息增益率
- 4.基尼指数 & 基尼值
- 5.预剪枝和后剪枝
- 6.连续值处理:二分法进行离散化,得到众多属性,找到信息增益最大的那个作为划分点
- 7.缺失值处理(C4.5):
- 剪枝:在训练集找到剪枝后和剪枝前损失相同时候对应的α和此时的子树,不断剪枝直到根节点,形成子树序列,根据验证集选择最优子树
- 9.决策树vs LR
- 10.预剪枝停止条件
- 11.树模型不能太稀疏
- 第八章集成学习
-
- 1.根据霍夫丁不等式,多个弱学习器集成的错误率指数下降
- 每轮调整样本权重,更关注上一次没学好的样本
- 3.分类器组合(相当于加权投票)
- :加性模型,损失是指数函数,学习算法为前向分步算法时的二分类学习方法
- :二叉cart树,分类、回归,树的累加没有α系数,先计算已有t-1树的负梯度,在平方损失下就是残差,让待学习的树去拟合负梯度(残差)
-
- (1)目标函数在t-1那棵树上进行了二阶泰勒展开,且自带了正则化(限制树的数量和w参数二范式)
- (2)寻找划分点
- (3)近似算法优点:减少划分点数目,提高速度;一定程度防止过拟合;存int,开销小
- (4)并行特征选择:XGB的并行主要是在特征选择的时候将数据放到多个block上,然后使用多线程并行得到各个特征的最佳划分点,各个基学习器还是串行训练的
- (5)缺失值处理
- (6)参数
- (7)特征重要性
- vs GBDT
- vs XGBoost
- vs LR
- :基于自助采样,造好多树,因为采样所以树都不一样;分类投票,回归平均
- 随机森林:在Bagging基础上,引入随机属性选择,随机选k个(推荐k=log2 d)
- 12.随机森林简单易实现、计算开销小,性能不错
- vs Bagging
- 14.为什么决策树当基分类器:
- 注重方差,Boosting注重偏差
- 第九章 聚类
-
- Kmeans
- 密度聚类 DBSCAN
- 层次聚类 AGNES
- 深度学习
-
- 1.优化算法:SGD、Adam、牛顿法
- 2. 激活函数
-
- sigmoid
- Tanh(输出0均值)
- ReLU
- Softmax、交叉熵
- 3. 平方损失 & 交叉熵损失
-
- 适合场景
- 为什么平方损失不适合Sigmoid或Softmax
- 4. BN、LN等
-
- 为什么要归一化
- 公式
-
- 以一定概率p让神经元输出,有可能就不输出
- 但是要保证数据分布相同,训练的时候除以p,或者测试的时候乘p
- 解决过拟合
- 使用位置(rnn和cnn不用)
- 6.过拟合与欠拟合
-
- (1)降低过拟合:
- (2)降低欠拟合:
- 7. 参数初始化方法
- 8. RNN & LSTM & GRU
-
- RNN
- LSTM(用了三个门来控制信息传递的程度)
- GRU(整合了一下LSTM的遗忘门和输入门,还有cell跟hidden)
- 9. 梯度消失和爆炸怎么解决
- 10.交叉熵、相对熵(KL散度)、互信息
- 11. LSTM为什么用sigmoid和tanh
- 12. LSTM的tanh能不能换ReLU
- 13. pytorch实现一个attention
- 14. [1574.删除最短的子数组使剩余数组有序](/problems/shortest-subarray-to-be-removed-to-make-array-sorted/)
概率问题
贝叶斯估计推理
各种对比
LR vs SVM
LR 对比 SVM
- LR是参数模型,SVM是非参数模型
- LR用对数似然函数,SVM用hinge loss
- SVM只考虑支持向量,LR全局
- LR给概率,SVM只能分类
如何选择LR和SVM
- 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
- 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
- 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况。或者上深度学习
决策树 vs LR
GBDT vs LR
- 决策边界:线性回归是一条直线;LR是曲线;GBDT可能是多条线
- GBDT并不一定总好于其他(没有免费午餐原则)
AdaBoost vs GBDT
- AdaBoost:调整样本权值;组合方式加权多数表决;一般用来分类
- GBDT:向负梯度方向优化;将弱分类器叠加;用cart树;目标函数可选多;一般用来回归
GBDT vs XGBoost
- Xgb是GBDT的工程实现
- XGBoost显示加入了正则项,GBDT在构建完树之后才剪枝
- GBDT使用一阶导,XGB用了二阶泰勒展开
- GBDT用cart树,XGB支持多种,包括线性分类器
- GBDT每轮用全部数据,XGBoost类似随机森林,支持采样(列抽样)
- GBDT没有缺失值处理,XGBoost能处理
- XGBoost并行计算
CART vs ID3 vs C4.5
Boosting vs Bagging
第一章 绪论
第二章 模型评估与选择
1.评估方法
留出法、交叉验证、自助法(有放回采样,bagging,没选中的概率1/e=0.368)
2.评估指标
(1)查准率Precision P = TP/(TP + FP), 查全率Recall R = TP/(TP+FN)
p-r曲线比面积,F1是调和平均,或者Fβ是加权调和平均
(2)ROC与AUC
TPR = TP/TP+FN 敏感性 所有正样本中有多少被预测为正例
FPR = FP/TN+FP 特异性 所有负样本中有多少被预测为正例
当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。
(3)AUC计算方法
AUC是衡量二分类模型优劣的一种评价指标,表示预测的正例排在负例前面的概率。
-
计算梯形面积
-
算rank
-
另一种物理意义
3.泛化误差期望 = 偏差+方差+噪声
4.归一化
Min-Max Scaling、Z-Score Normalization,决策树不需要归一化,其它通过梯度下降的要
5.正则化
Q:L1比L2更稀疏
(1)梯度值
L1:
L2:
L2和L1在w的系数不同,导致w趋向于0的时候参数减小就很慢,而L1就容易变0。
(2)先验概率
L1范数:拉普拉斯分布 L2范数:高斯分布
(3)等高线图形方法
(4)函数叠加方法
Q:为什么权重变小可以缓解过拟合
A:在过拟合的时,拟合函数的系数往往非常大。过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。
而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。
6.过拟合与欠拟合
(1)降低过拟合:
- 扩增数据
- 降低模型复杂度(采取合适的模型、降低特征数量、BN、Dropout、EarlyStopping)
- 正则化
- 集成学习
(2)降低欠拟合:
- 添加特征
- 增加模型复杂度
- 减小正则化系数
第三章 线性模型
1.线性模型的优点
形式简单、易于建模、有很好的可解释性
2.一元线性回归
基于均方误差最小化来进行模型求解的方法称为“最小二乘法”
对w和b求偏导得0后解得:
3.多元线性回归
X为满秩矩阵或正定矩阵时
反之,有多个解,可引入正则化进行约束选择
4.对数几率回归(LR)
(1) 二分类,广义线性模型,用Sigmoid
(2)优点
- 形式简单,模型的可解释性非常好
- 模型效果不错,可并行开发
- 训练速度较快
- 资源占用小
- 方便输出结果调整(输出的是概率,定阈值就行)
(3)缺点
- 准确率不高(模型简单);
- 难处理数据不平衡;
- 无法筛选特征。
(4)对数损失函数==极大似然函数取对数
(5)极大似然法求解w和b
对率回归模型最大化“对数似然”(loglikelihood),即令每个样本属于其真实标记的概率越大越好
(6)推导
根据
,
有
一阶导:
二阶导:
梯度下降法:
牛顿法:
(7)为什么用极大似然而不用例如平方损失做优化
用极大似然函数梯度下降和xy相关,与sigmoid无关,比较稳定,如果用平方损失函数更新就与sigmoid的梯度相关,其梯度不大于0.25,训练缓慢。
(8)重复特征对结果没啥影响,就是慢,相当于每个特征作用变为原来1/n
(9)用Sigmoid的理由
- 伯努利分布属于指数族分布,带入后求解得到映射函数为Sigmoid
伯努利分布和指数族分布的概率公式进行对比,可以得到 T ( Y ) = Y T(Y) = Y T(Y)=Y,然后 h ( x ) = E ( T ( Y ) ) = E ( Y ) = θ h(x) = E(T(Y)) = E(Y) = \theta h(x)=E(T(Y))=E(Y)=θ,其中 η = w T x = l n θ 1 − θ \eta = w^Tx = ln \frac{\theta}{1-\theta} η=wTx