算法篇:SGD+logistic+Adaboost构建快速迭代增强式LR模型

本文介绍了如何构建增强式的快速迭代logistics分类器,结合随机梯度下降(SGD)、逻辑回归(Logistic)和Adaboost算法。通过R语言实证分析,展示了在信贷风险评估中的应用,达到了90%以上的预测准确率,并与其他算法进行了对比评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在最前:
- 之前在新浪开个博客写东西,总有些不方便,后来看了优快云,内置Markdown,写起来突感一见如故,十分感动。
- 工作中由于经常需要做一些可视化和算法类的研究,所以开个优快云总结和记录一下。


下面主要讲的是近几个月来的一些研究成果,通过构建增强式的快速迭代logistics判别分类器,就是通过组合随机梯度(SGD),提升算法(adaboost),logistics模型。
具体地:通过利用SGD估计每个logistics弱分类器参数,同时基于每个弱分类器,通过adaboost更新样本的权重以及计算每个分类器权重,最后组合多个弱分类器,构成一个强分类输出判别。


理论概述

1. 随机梯度算法概述

  梯度算法在机器学习常被用于参数的迭代估计,当维度与样本数大幅上升时,其表现出的估计性能与速度也十分可观。
假设如下方程 hθ(x)

hθ(x)=θ0+θ1x1+θ2x2+

  其中 θi(0inn) 为变量 xi 对应参数,为简化上述式子,通过将 x0=1 加入 hθ(x) ,可以得到:
hθ(x)=i=onθixi=θTX   (1)

  其中 θTX 为系数和变量对应向量表达式。
  再定义如下损失函数 J(θ)
  
J(θ)=12j=1m(hθ(x(j))y(j))2  (2)

  其中 hθ(x(j)) 为对应第j个样本 x(j) 代入 hθ(x) 得到的结果,m为样本个数,需要注意的是,梯度算法一般用于有监督或半监督式机器学习,而常量 y(j) 的存在是为了训练样本得到更加准确的 θ 参数。另外,系数0.5是为了求导方便而乘上的,对结果并无影响。
  据此,为最小化上述 J(θ) 损失函数,我们通过 θ 自适迭代,达到一个理想的估计值,使得:
  
J(θ)ϵ

  其中 ϵ 为误差率,为方便理解,我们从Batch gradient descent(批梯度下降说起),有如下式子:
  
θi=θiαθiJ(θ)  (3)

  其中 α 为梯度步长,也称为学习因子,其大小决定了梯度下降的速度,越大的步长则学习速度也越快,但同时振荡往返也会加剧,有时反而使得速度变慢,同时若梯度步长太小,也会使得速度变慢,而容易陷入局部极小。
  结合(2)式和(3)式,假设只有一个样本,则可以得到:
  
θi      =θiαθiJ(θ)=θiαθiJ(12(hθ(x)y)2)=θiα(212(hθ(x)y)θi(hθ(x)y))=θiα(hθ(x)y)xi  

  其中i表示样本维度i,当样本数为m时,则:
θi=θiαθi=θiα(j=1m(hθ(x(j))y(j)))θi(j=1m(hθ(x(j))y(j)))=θiα(j=1m(hθ(x(j))y(j)))(j=1mx(j)i)

  其中j表示样本j。
  可以看出,每次迭代都要遍历m个样本,当样本数量太大时,其复杂度 O(m) 也成线性上升,这在一定程度上制约了迭代的速度,所以,基于此,Stochastic gradient desent(随机梯度)应运而生,其在一定程度降低了批梯度的遍历量,复杂度从 O(m) 降为 O(1) ,但同时也带来了其他问题–迭代次数和局部最小值,由于随机性的存在,随机梯度将在随机样本点的周围四处扩散,并最终步入“谷底”,但是过程会稍微曲则,且改“谷底”可能是局部而不是全局。
  其表达式如下:
  
θi=θiα(hθ(x(j))y(j))x(j)i  (5)

  需要说明的是,当用于判别分类算法中时,其中 x(j)i 表示误判点的第i维。
  其中如上文所述,由于随机路径梯度下降,所以容易陷入局部最优,一个较好的解决办法是赋予多次不同的初始值,同时结合判别误差率作为跳出条件。
  为更形象理解批梯度和随机梯度,下图3、4为批梯度下降路径和随机梯度下降路径:
   批梯度+随机梯度
  可以看出,批梯度下降在每次迭代时都会朝最优方向前进,而随机梯度通常经过多次“峰回路转”最终达到“谷底”,所以随机梯度算法对初始值要求比较高,通常一个好的初始值能尽最大程度优化过程,而对于初始值取法将在下文实证部分进一步说明。

2.logistic判别算法概述

  为更好阐述logistic算法细节,有必要先引入OLS模型(最小二乘回归法),假设二分类回归方程 y
  

y=a+β1x1+β2x2++e  (6)

  其中 e 为残差项,其分布满足均值为0,且相互之间相互独立, y 为二分类变量,如下:
  

y={ 1,0,

  由于 y 的取值只有0和1,则其均值为:
  
  E(y|x)     
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值