机器学习主要知识点整理

时间:2024-10-12 07:21:25

目录

  • 概率问题
  • 各种对比
    • 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