Boosting 框架

Boosting

boosting介绍

  • Boosting是利用n个弱学习器串行生成并融合从而减少整体偏差的集成学习框架

  • Boosting算法的三个要素

    1. 函数模型: Boosting的函数模型是叠加型的,即

    F ( x ) = ∑ i = 1 k f i ( x ; θ i ) F(x)=\sum_{i=1}^k f_i\left(x ; \theta_i\right) F(x)=i=1∑kfi(x;θi)
    2. 目标函数: 选定某种损失函数作为优化目标

    E { F ( x ) } = E { ∑ i = 1 k f i ( x ; θ i ) } E\{F(x)\}=E\left\{\sum_{i=1}^k f_i\left(x ; \theta_i\right)\right\} E{F(x)}=E{i=1∑kfi(x;θi)}
    3. 优化算法: 贪婪地逐步优化,即

    θ m ∗ = arg ⁡ min ⁡ θ m E { ∑ i = 1 m − 1 f i ( x ; θ i ∗ ) + f m ( x ; θ m ) } \theta_m^*=\arg \min {\theta_m} E\left\{\sum{i=1}^{m-1} f_i\left(x ; \theta_i^*\right)+f_m\left(x ; \theta_m\right)\right\} θm∗=argθmminE{i=1∑m−1fi(x;θi∗)+fm(x;θm)}

  • 需要解决两个问题:

    1. 如何调整训练集,使得在训练集上训练的弱分类器得以进行;
    2. 如何将训练得到的各个弱分类器联合起来形成强分类器。
  • 特点

    1. Boosting是一种框架算法,拥有系列算法,如AdaBoost,GradientBoosting,LogitBoost等算法。
    2. Boosting系列算法的主要区别在于其三要素选取的函数不同
    3. 可以提高任意给定学习算法准确度
    4. 训练过程为阶梯状,弱分类器按次序一一进行训练(实现上可以做到并行),弱分类器的训练集按照某种策略每次都进行一定的转化。最后以一定的方式将弱分类器组合成一个强分类器。
    5. Boosting中所有的弱分类器可以是不同类的分类器

Gradient Boosting代码

  • Gradient Boosting代码

    python 复制代码
    class GradientBoosting:
    	def __init__(self, base_learner, n_learners, learning_rate):
    		self.learners = clone(base_learner for _ in range(n_learners)]
    		self.lr = learning_rate
    	
    	def fit(self, X, y):
    		residual = y.copy()
    		for learner in self.learners:
    			learner.fit(X, residual)
    			residual -= self.lr * learner.predict(X)
    	
    	def predict(self,X):
    		preds = [learner.predict(X) for learner in self.learners]
    		return np.array(preds).sum(axis=0) * self.lr 
相关推荐
子燕若水3 小时前
Unreal Engine 5中的AI知识
人工智能
极限实验室4 小时前
Coco AI 实战(一):Coco Server Linux 平台部署
人工智能
杨过过儿5 小时前
【学习笔记】4.1 什么是 LLM
人工智能
巴伦是只猫5 小时前
【机器学习笔记Ⅰ】13 正则化代价函数
人工智能·笔记·机器学习
大千AI助手5 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
AI生存日记5 小时前
百度文心大模型 4.5 系列全面开源 英特尔同步支持端侧部署
人工智能·百度·开源·open ai大模型
LCG元6 小时前
自动驾驶感知模块的多模态数据融合:时序同步与空间对齐的框架解析
人工智能·机器学习·自动驾驶
why技术6 小时前
Stack Overflow,轰然倒下!
前端·人工智能·后端
烛阴6 小时前
简单入门Python装饰器
前端·python