机器学习算法

目录

行向量与列向量

信息论 

 Logistic回归

支持向量机SVM 

核函数:

决策树 Decision Tree

 CART决策树

ID3 决策树

C4.5 决策树 

决策树的过拟合问题 

回归树 

集成学习 

Boosting 

AdaBoost算法(自适应提升)

GBDT算法(Gradient Boosting Decision Tree) 

Bagging 

Stacking 

基学习器的选择 

***仅做复习需要,若侵权请及时联系我


行向量与列向量

  • 行向量:是一个横向的一维向量。对于一个行向量a,可以通过转置得到一个列向量b。

  • 列向量:是一个纵向的一维向量。对应一个列向量b,可以通过转置得到一个行向量a。

信息论 

  •  基本思想:一件不太可能的事发生,要比一件非常可能的事发生,提供更多的信息。

 Logistic回归

  •  Logistic回归是一种经典的分类方法,属于对数线性模型,根据现有的数据对分类边界线建立回归公式,以此进行分类。
  • 线性回归模型基础上,使用Sigmoid函数,将线性模型结果压缩到[0, 1]之间(归一化),令其拥有概率意义,属于概率性判别式模型。
  • Logistic分布
  • 二项logistic回归模型
  • 推导过程(使用损失函数的极大似然,梯度下降的方式对参数进行优化)随后使用梯度下降法求解参数。
  • 多分类logistic回归:设Y\epsilon{1, 2, ..., K},则多项式logistic回归模型为:
  • 对数线性模型: 对数线性模型描述的是概率协变量之间的关系;对数线性模型也用来描述期望频数与协变量之间的关系。
  • 协变量:在实验的设计中,协变量是一个独立变量,不为实验者所操纵,但仍影响实验结果。例如在想预测降雨量,温度T就是协变量。

支持向量机SVM 

  • 支持向量:训练数据集中与分离超平面距离最近的样本点的实例称为支持向量。
  • 支持向量机(Support Vector Machines, SVM)是一种二分类模型。 
  • 它的基本模型是定义在特征空间上的间隔最大的线性分类器,支持向量机还包括核技巧,这使其成为实质上的非线性分类器。
  • 学习策略:间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。
  • 分类:
    • 线性可分支持向量机:当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机,又称硬间隔支持向量机
    • 线性支持向量机:当训练数据接近线性可分时,通过软间隔最大化,学习一个线性分类器,即线性支持向量机,又称软间隔支持向量机。(ps. 数据接近线性可分是指数据集中大部分样本可以通过一个线性超平面(如直线、平面等)正确分类,但可能存在少量样本无法被线性超平面完全分开。这种情况在实际问题中非常常见,因为真实数据往往包含噪声或异常值。)
    • 非线性支持向量机:当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
  • 推导

核函数:

  • 用于将数据映射到高维空间的一种技术,核心思想是通过在高维空间中寻找线性可分性来解决原始空间中非线性可分的问题。核函数表示将输入从输入空间映射到特征空间后得到的特征向量之间的内积。
  • 需要注意的是,核函数的目的是将数据映射到高维空间,那为什么运算时却使用两个样本在低维空间之间的内积呢?其实,这是因为在高维空间中,数据计算是很困难的,很多应用中其实不需要获取映射后的高维空间的坐标,仅需要数据在高维空间下内积的结果。在对数据进行计算时发现:高维空间向量内积结果<f(x), f(y)> = 低维空间向量内积结果的N次幂(N = 高维空间维度 / 低维空间维度)。
  • 常见的核函数:
    • 线性核:
    • 多项式核:
    • 高斯核:
    • Sigmoid核:

  • 最大间隔超平面背后的原理:
    •  相当于在最小化权重时对训练误差进行了约束——对比 L2 范数正则化,则是在最小化训练误差时,对权重进行约束。
    • 相当于限制了模型复杂度——在一定程度上防止过拟合,具有更强的泛化能力。

  • 核技巧: 在原始空间中,数据可能是非线性可分的。通过核函数将数据映射到高维空间后,数据可能变得线性可分。在高维空间中,可以使用线性分类器(如 SVM)进行分类。
  • 凸二次规划:凸二次规划是数学优化中的一类重要问题,其目标函数是二次的,约束条件是线性的,并且目标函数是凸函数。
  • 凸函数:局部最小值就是全局最小值,该性质可以避免陷入局部最优解。
  • 合页损失函数:

决策树 Decision Tree

  • 决策树是一种以树形数据结构来展示决策规则和分类结果的模型,每一条从根结点(对最终分类结果贡献最大的属性)到叶子结点(最终分类结果)的路径都代表一条决策的规则。 

  • 决策树训练过程:特征选择、树的生成和剪枝。
    • 特征选择
    • 树的生成
    • 剪枝
  • 决策树的划分属性
    • 决策树的生成中,寻找最优划分属性是重点。
    • 信息增益方法:
      • 信息熵公式,假设决策树样本集为D,经过某属性a划分后,样本集被划分为D1, D2, ... ,Dv,计算划分前的信息熵和划分后的信息熵
      • 信息增益计算公式为:
    • 增益比方法:
      • 信息增益方法存在一个很大的问题,若属性是编号,使用编号对属性进行划分,每个节点只有一个样本,熵为0,此时的信息增益是最大的,但这种划分没有任何意义在,因此,提出了增益比方法。
      • 增益比计算公式为:,其中
      • 增益比不仅考虑信息增益,还考虑在属性a的可选取值,当可选取值增多的时候,IV也会随之增大,因此在一定程度上抑制信息增益偏好取值多的属性的特点。
    • 基尼系数方法:
      • 基尼系数公式:
      • 基尼系数和熵的对比:

 CART决策树

  •  CART全称Classification and Regression Tree,是一棵二叉树。
  • CART算法包括回归树和分类树两种
    • 回归树用于目标变量为连续型的建模任务,特征选择准则是平方误差最小准则
    • 分类树用于目标变量为离散型的建模任务,特征选择准则是基尼指数(选择基尼系数小的作为标准)
    • 二者核心都在于递归地选择最优特征构建决策树
  • CART算法步骤:
    • 决策树生成:从根结点,自上而下构建节点,每个节点选择一个“最好”的属性来划分。
    • 决策树剪枝:使用验证数据集对生成的决策树进行剪枝,使用损失最小作为剪枝标准。(剪枝是正则化的手段,由于决策树训练中容易过拟合。)

ID3 决策树

  •  使用信息增益进行特征选择,只能对离散型属性的数据构造决策树
  • 题目:
  • 结果:

C4.5 决策树 

  • 使用信息增益比进行特征选择,改善了ID3算法的缺点(倾向于选择取值较多的属性)
  • 例题

决策树的过拟合问题 

  •  当决策树的深度特别深以至于叶子节点中的对象只剩下一个或者很少,导致决策树的模型过于复杂,容易造成过拟合问题,泛化性能下降。(深度小容易欠拟合,深度大容易过拟合)
  • 产生原因:
    • 样本问题:样本噪声过大、样本抽样方法错误、建模时使用了样本中太多无关的输入变量。
    • 决策树构建问题:算法对决策树的生长没有合理的限制和修剪。
  • 解决方法:
    • 合理有效抽样,用能够反映业务逻辑的训练集去产生决策树。
    • 剪枝:提前停止树的增长或者对已经生成的树按照一定的规则进行后剪枝。
      • 先剪枝:提前停止树的构建。(预设树高度、预设节点实例阈值、预设增益阈值等)
      • 后剪枝:首先构建完整决策树,允许树过拟合。随后删除一些子树,用叶子结点来代替,选取叶子结点的原则是大多数原则(majority class criterion),即子树中大多数训练样本所属的类别来标识。

回归树 

  •  回归问题:标签是连续的
  • CART回归树:当待预测结果是离散型数据时,则CART生成分类决策树,如果是连续型数据,则CART生成回归决策树。
  • 将输入空间划分为M个单元{R_1,..,R_m,..,R_M},并在每个单元上对应有输出值 c_m,则该回归树可表示为,I(x)为指示函数。如果已经划分好了输入空间,通常使用平方误差作为损失函数来表示回归树对于训练数据的预测误差,通过最小化损失函数来求解每个划分单元的最优输出值。如果使用平方误差,易知最优输出值即每个划分单元上所有实例的均值
  • 划分输入空间:一个启发式方法是,以特征向量中的某一个特征为标准进行切分。假设选择特征向量中第 j 个变量作为切分变量,然后选择某个实例中第 j 个值 s 作为切分点,则定义如下两个划分单元,遍历每个实例的第j个值s,选择满足以下条件的作为最优切分变量j和切分点s其中输出值 c1 和 c2 分别为,接着,继续对两个子空间重复以上步骤,直到满足条件为止;得到将输入空间划分为M个区域的决策树。

CART使用平方误差作为损失的原因:

  1. 最优预测值是样本标签的均值,均值的计算简单高效,对异常值鲁棒。
  2. 平方误差是严格凸函数,具有连续的二阶导数,使用梯度下降能够快速收敛到全局最优解。 

集成学习 

  • 思想:结合多个学习器,组合成一个性能更好的学习器。 不同的模型通常会在测试集上产生不同的误差;如果成员的误差是独立的,集成模型将显著地比其成员表现更好。
  • 基本策略:Boosting、Bagging、Stacking

Boosting 

  • 基于串行策略,基学习器间存在依赖,新学习器需要根据上一个学习器生成。
  • 思路:
    • 先从初始训练集训练一个基学习器;初始训练集中各样本的权重是相同的;
    • 根据上一个基学习器的表现,调整样本权重,使分类错误的样本得到更多的关注;
    • 基于调整后的样本分布,训练下一个基学习器;
    • 测试时,对各基学习器加权得到最终结果。

AdaBoost算法(自适应提升)

  •  思想:逐步调整样本权重:每一轮迭代中,增加被前一轮模型错误分类样本的权重,使后续模型更关注难样本。加权投票组合弱学习器:最终模型是所有弱学习器的加权和(权重取决于模型的准确率)。
  • 步骤:

GBDT算法(Gradient Boosting Decision Tree) 

  • 思想:梯度下降优化:每一轮新模型拟合前一轮模型的负梯度(残差),逐步减少损失函数。加法模型:通过逐步添加弱学习器(通常是决策树)提升性能。
  • 步骤:

Bagging 

  •  基于并行策略:基学习器之间不存在依赖关系,可同时生成。
  • 思路:
    • 利用自助采样法对训练集随机采样,重复进行 T 次;
    • 基于每个采样集训练一个基学习器,并得到 T 个基学习器;
    • 预测时,集体投票决策。

自助采样法: 对 m 个样本的训练集,有放回的采样 m 次;此时,样本在 m 次采样中始终没被采样的概率约为 0.368,即每次自助采样只能采样到全部样本的 63% 左右。

Stacking 

  • 基于串行策略:初级学习器与次级学习器之间存在依赖关系,初学习器的输出作为次级学习器的输入。
  •  思路:
    • 基模型训练(Level-0 Models),使用训练数据训练多个不同的基学习器(如决策树、SVM、神经网络等),这些模型可以是同质的(同类型)或异质的(不同类型)。
    • 生成元特征(Meta-Features), 通过K折交叉验证(避免数据泄露)生成基模型的预测结果作为元特征:将训练数据分为K折,每次用K-1折训练基模型,预测剩余1折的数据。重复对所有折操作,得到完整的训练集的预测结果(即每个样本的“交叉验证预测值”)。同时,用全部基模型预测测试集,并将各模型的预测结果平均或堆叠,作为测试集的元特征。
    • 训练元模型(Meta-Model/Blender),  将基模型的预测结果(元特征)作为输入,训练一个更高层的元模型(如线性回归、逻辑回归、GBDT等),学习如何加权或组合基模型的输出。
    • 最终预测 ,  基模型预测测试集数据 → 元模型基于这些预测生成最终结果。

基学习器的选择 

  • 一般使用决策树作为基学习器:决策树的表达能力和泛化能力可以通过剪枝快速调整,也可以方便地将样本权重整合到训练过程中(Boosting适用),同时是一种不稳定的学习器,样本的扰动对决策树的结果会产生较大影响(Bagging适用)。
    • 基学习器不稳定的好处:受样本分布影响大,方差较大,很好的引入了随机性,有助于在Bagging方法下提升模型泛化性能。
  • 神经网络也适合作为基学习器。
  • 线性分类器适合作为基学习器吗?在Bagging方法中不适合,由于线性分类器属于稳定的学习器,方差小,对数据不敏感,甚至可能因为Bagging的采样,导致在训练中难以收敛,增大集成分类器的偏差。但在Boosting方法中适用,Boosting方法主要通过降低偏差来提升模型性能, 而线性分类器本身具有方差小的特点,所以两者有一定相性。
  • Boosting 能提升弱分类器性能的原因是降低了偏差Bagging 则是降低了方差。

***仅做复习需要,若侵权请及时联系我

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值