当前位置: 首页 > news >正文

采集网站如何收录网页版qq空间登录

采集网站如何收录,网页版qq空间登录,设计素材网站导航大全,百度推广中心Boosting是一种集成学习方法,AdaBoost是Boosting算法中的一种具体实现。 Boosting方法的核心思想在于将多个弱分类器组合成一个强分类器。这些弱分类器通常是简单的模型,比如决策树,它们在训练过程中的错误会被后续的弱分类器所修正。Boosti…

Boosting是一种集成学习方法,AdaBoost是Boosting算法中的一种具体实现。

Boosting方法的核心思想在于将多个弱分类器组合成一个强分类器。这些弱分类器通常是简单的模型,比如决策树,它们在训练过程中的错误会被后续的弱分类器所修正。Boosting算法通过逐步增加新的弱分类器来提高整体模型的性能,每个新的弱分类器都专注于之前模型分类错误的样本。

AdaBoost(Adaptive Boosting)是Boosting算法家族中的一员,它的特点是使用了指数损失函数(exponential loss function),这种损失函数会给分类错误的样本赋予更大的权重,使得后续的弱分类器更加关注这些难以分类的样本。通过这种方式,AdaBoost能够自适应地调整每个样本的权重,从而提高模型的整体性能。除了AdaBoost,还有其他基于不同损失函数的Boosting算法,如L2Boosting和LogitBoost等。这些算法虽然在具体的实现细节上有所不同,但都遵循了Boosting方法将弱分类器组合成强分类器的基本框架。

Boosting每一个训练器重点关注前一个训练器不足的地方进行训练,通过加权投票的方式,得出预测结果。

12074e165e42446596b05c9341d2a1f1.png

Bagging 和 Boosting

Bagging 通过均匀取样的方式从原始样本集中抽取训练集,而 Boosting 使用全部样本,并在每一轮训练中根据错误率调整样例权重。这意味着 Bagging 的训练过程可以并行进行,因为它的基模型之间是独立的,而 Boosting 通常是串行进行的,因为每个模型都依赖于前一个模型的表现。

Bagging 方法中每个基模型对于最终决策的贡献是相等的,类似于民主投票制,每个模型有一票;而在 Boosting 中,每个基模型的贡献是根据其性能加权的,性能更好的模型会有更大的影响力。

AdaBoost

AdaBoost算法的核心步骤是:

  1. 权重更新:在每一轮迭代中,根据样本的分类结果来更新每个样本的权重。如果一个样本被正确分类,那么它的权重将会降低;如果一个样本被错误分类,那么它的权重将会增加。这样可以使得在后续的迭代中,分类器更加关注那些难以分类的样本。

  2. 弱分类器的选择:在每一轮迭代中,从所有的弱分类器中选择一个最佳的弱分类器。这个最佳的弱分类器是指在当前权重分布下,分类误差最小的那个弱分类器。

  3. 分类误差率较小的弱分类器的权值大,在表决中起较大作用。

AdaBoost 模型公式

faef75d595fb4150873e33cf90d62758.png 

  1. α 为模型的权重,m 为弱学习器数量。
  2. hi(x) 表示弱学习器
  3. H(x) 输出结果大于 0 则归为正类,小于 0 则归为负类。

AdaBoost 构建过程 

SampleFeature (x)Label (y)
11-1
22-1
331
441

初始化
D1​(1)=D1​(2)=D1​(3)=D1​(4)=1/4

第1轮迭代

  1. 训练一个弱分类器 ℎ1​(x),例如 h_1(x) = \sign(x - 1.5)。
  2. 计算错误率 ϵ1​,假设所有样本都被正确分类,则 ϵ1​=0。
  3. 计算权重α1​,由于epsilon1​=0,则α1​=infty。但通常我们会设置一个上限,比如α1​=0.5。
  4. 更新样本权重,由于所有样本都被正确分类,权重保持不变。

第2轮迭代

  1. 训练另一个弱分类器 ℎ2​(x),例如 h_2(x) = \sign(x - 3)。
  2. 计算错误率 ϵ2​,假设样本1和2被正确分类,样本3和4被错误分类,则ϵ2​=21​。
  3. 计算权重α2​,α2​=21​ln(21​2​)=21​ln(4)≈0.693。
  4. 更新样本权重,增加样本3和4的权重,减少样本1和2的权重。

最终分类器

  • 组合弱分类器的预测结果,形成最终的强分类器H(x)。

这个过程会根据迭代次数M 重复进行,直到达到预定的迭代次数或者满足某个停止条件(如错误率达到某个阈值)。

Demo实战 

import pandas as pd
df_wine = pd.read_csv('wine.data')df_wine.columns = ['Class label', 'Alcohol', 'Malic acid', 'Ash', 'Alcalinity of ash', 'Magnesium', 'Total phenols',
'Flavanoids', 'Nonflavanoid phenols', 'Proanthocyanins', 'Color intensity', 'Hue', 'OD280/OD315 of diluted wines',
'Proline']df_wine = df_wine[df_wine['Class label'] != 1]X = df_wine[['Alcohol', 'Hue']]
y = df_wine['Class label']

 划分训练集测试集

from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_splitle = LabelEncoder()
y = le.fit_transform(y)
# 划分训练集测试集
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.4,random_state=1)
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifiertree = DecisionTreeClassifier(criterion='entropy',max_depth=1)
ada= AdaBoostClassifier(base_estimator=tree,n_estimators=500,learning_rate=0.1)from sklearn.metrics import accuracy_scoretree = tree.fit(X_train,y_train)
y_train_pre = tree.predict(X_train)
y_test_pre = tree.predict(X_test)
tree_train = accuracy_score(y_train,y_train_pre)
tree_test = accuracy_score(y_test,y_test_pre)
print('Decision tree train/test accuracies %.3f/%.3f' % (tree_train,tree_test))
# 0.845/0.854ada = ada.fit(X_train,y_train)
y_train_pre = ada.predict(X_train)
y_test_pre = ada.predict(X_test)
ada_train = accuracy_score(y_train,y_train_pre)
ada_test = accuracy_score(y_test,y_test_pre)
print('Adaboost train/test accuracies %.3f/%.3f' % (ada_train,ada_test))
# 1/0.875

 AdaBosst的决策区域比单层的决策区域更加复杂。

集成学习与单独的分类器性能比较,集成学习提高了复杂度,但在实践中,需要衡量是否愿意为适度提高预测性能付出更多的计算成本。

AdaBoost算法的总结

AdaBoost的核心思想是通过对错误分类的样本增加权重,使得后续的弱分类器更加关注这些难以分类的样本。通过加权投票的方式,将多个弱分类器的预测结果组合起来,形成一个强分类器。

  1. 初始化:为每个训练样本分配相同的权重。
  2. 迭代训练弱分类器:对于每一轮迭代,训练一个弱分类器,使其在加权训练集上的错误率最小化。
  3. 计算弱分类器权重:根据弱分类器在加权训练集上的错误率,计算其权重。错误率越低,权重越高。
  4. 更新样本权重:根据弱分类器的表现,更新样本权重。被错误分类的样本权重增加,正确分类的样本权重减少。
  5. 构建最终分类器:将所有弱分类器的预测结果按照其权重进行加权求和,形成最终的强分类器。

bb0366bb99fc4830b3d164a891213774.png

 

应用领域

AdaBoost算法广泛应用于各种机器学习任务,包括图像识别、文本分类、医学诊断等领域。

优点

  • 提高模型的性能:AdaBoost可以显著提高弱分类器的性能,使其成为一个强大的分类器。
  • 鲁棒性:AdaBoost对于过拟合具有很好的鲁棒性。
  • 灵活性:可以与各种类型的弱分类器结合使用。

缺点

  • 对噪声敏感:如果训练数据包含噪声,AdaBoost可能会给噪声样本分配较高的权重,从而影响模型的性能。
  • 长时间训练:对于大规模数据集,AdaBoost的训练时间可能会很长。 

 

http://www.yayakq.cn/news/747831/

相关文章:

  • 用asp做的一个网站实例源代码商城网站建设浩森宇特
  • 儋州网站建设制作我的ip地址查询
  • 自己的网站怎么做关键词网站布局结构有哪些
  • 山西网站建设公司哪家好南山网站建设
  • 贵州软件开发 网站开发东营建设信息网公示
  • 西部数码创建子网站秦皇岛建网站
  • 泰州网站建设费用河北邯郸中考成绩公布时间
  • 云信智联商丘网站建设优秀网站建设价格
  • 韩国虚拟空间网站注册200万公司需要多少费用
  • 如何用网站模板做网站商城app搭建
  • 上海优化网站方法北京网站开发网站建设咨询
  • 本地门户网站网站可以自己备案吗
  • 网站建设实施流程开发区网站建设方案
  • 定制网站建设公司价格企业综合管理系统
  • 金融服务网站建设wordpress 中文 插件下载
  • 蓟县网站制作深圳响应式网站建设公司
  • 如何弄自己的网站网站欢迎页模板
  • 在线生成多款表白网站是怎么做的江苏省建设协会网站首页
  • 网站备案需要网站建设完毕不网络管理系统官网
  • 网站开发过程模型军事要闻军事频道
  • 中小型网站建设市场宣传网
  • 电影手机网站建设长沙短视频制作
  • 怎么用群晖做网站wordpress数字减1
  • 电商网站的支付模块怎么做免费做app网站有哪些
  • 网站建设中 html5外贸订单一般在哪个平台接?
  • 校友网站建设做公司+网站建设价格
  • 网站建设 毕业设计怎么 做网站教学流程
  • 温州网站推广优化公司仿各个网站的问题
  • 如何做一网站wordpress有赞收款插件
  • 代做毕业设计网站现成seo课堂