机器学习---Boosting

1. Boosting算法

Boosting思想源于三个臭皮匠,胜过诸葛亮。找到许多粗略的经验法则比找到一个单一的、高度预

测的规则要容易得多,也更有效。

预测明天是晴是雨?传统观念:依赖于专家系统(A perfect Expert)

以“人无完人”为基础,结合普通reporter,获得完美专家。

弱学习机(weak learner):  对一定分布的训练样本给出假设(仅仅强于随机猜测),根据有云猜测

可能会下雨。强学习机(strong learner): 根据得到的弱学习机和相应的权重给出假设(最大程度上

符合实际情况:almost perfect expert),根据CNN、ABC、CBS以往的预测表现及实际天气情况作

出综合准确的天气预测。

 

 

Boosting算法流程:

①原始训练集输入,带有原始分布

②给出训练集中各样本的权重

③将改变分布后的训练集输入已知的弱学习机,弱学习机对每个样本给出假设

④对此次的弱学习机给出权重

⑤转到②, 直到循环到达一定次数或者某度量标准符合要求

⑥将弱学习机按其相应的权重加权组合形成强学习机

样本的权重:没有先验知识的情况下,初始的分布应为等概分布,也就是训练集如果有N个样本,

每个样本的分布概率为1/N,每次循环一后提高错误样本的分布概率,分错样本在训练集中所占权

重增大, 使得下一次循环的弱学习机能够集中力量对这些错误样本进行判断。

弱学习机的权重:准确率越高的弱学习机权重越高。

循环控制:损失函数达到最小,在强学习机的组合中增加一个加权的弱学习机,使准确率提高,损

失函数值减小。

2. 算法思想

训练集

Dt为第t次循环时的训练样本分布(每个样本在训练集中所占的概率, Dt总和应该为1)。

ht:X∈{-1,+1} 为第t次循环时的Weak learner,对每个样本给出相应的假设,应该满足强于随机猜

测:

wtht的权重,t次循环得到的Strong learner。

思想:提高分错样本的权重

反映了strong learner对样本的假设是否正确。

      采用什么样的函数形式?

思想:错误率越低,该学习机的权重应该越大

为学习机的错误概率,采用什么样的函数形式?

和指数函数遥相呼应:

算法伪代码:

3. 理论分析 

如何求弱学习机的权重?

最基本的损失函数表达形式:

为了便于计算,采用以下的目标函数:

Boosting的循环过程就是沿着损失函数的负梯度方向进行最优化的过程。通过调整样本分布Dt和选

择弱学习机权重wt来达到这个目的。每循环一次,增加一项,使损失函数以最快速度下降。

给定当前分布和选定的弱学习机,如何求下一次的分布? 

Boosting的设计思想:

改变分布,提高错误样本概率,使下一次的弱学习机能够集中精力针对那些困难样本。

调整分布后的训练集对当前学习机具有最大的随机性,正确率50%(恰好为随机猜测)。

相对熵原理(最小鉴别信息原理):

已知随机变量X(样本集)的先验分布(Dt),并且已知所求未知分布Dt+1满足条件

,那么所求得的未知分布估计值具有如下形式:

 。

物理意义:在只掌握部分信息的情况下要对分布作出判断时,应该选取符合约束条件但熵值取得最

大概率分布。从先验分布到未知分布的计算应该取满足已知条件,不确定度(熵)变化最小的解。

人脸识别方面的应用:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/269757.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringBoot篇】详解基于Redis实现短信登录的操作

文章目录 🥰前言🛸StringRedisTemplate🌹使用StringRedisTemplate⭐常用的方法 🛸为什么我们要使用Redis代替Session进行登录操作🎆具体使用✨编写拦截器✨配置拦截器🌺基于Redis实现发送手机验证码操作&am…

matlab 最小二乘拟合平面(拉格朗日乘子法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。博客长期更新,爬虫自重。 一、算法原理 设拟合出的平面方程为: a x + b y &#

如何利用宝塔面板和docker快速部署网站

当你有了一台服务器,就会折腾往这台服务器上部署各种好玩的网站。市面上有许多开源的网站项目,通过docker技术可以快速部署并使用,本文将以部署filebrowser举例介绍网站部署的基本流程。 1. 安装宝塔面板 宝塔面板是一款开源的网站运维工具…

5. PyTorch——数据处理模块

1.数据加载 在PyTorch中,数据加载可通过自定义的数据集对象。数据集对象被抽象为Dataset类,实现自定义的数据集需要继承Dataset,并实现两个Python魔法方法: __getitem__:返回一条数据,或一个样本。obj[in…

IEEE Transactions on Industrial Electronics工业电子TIE论文投稿须知

一、背景 IEEE TIE作为控制领域的TOP期刊,接收机器人、控制、自动驾驶、仪器和传感等方面的论文,当然范围不止这些,感兴趣的可以自行登录TIE官网查看。所投稿论文必须经过实验验证,偏工程应用类,当然也必须有方法上的…

RocketMQ-RocketMQ常见问题与总结

一、RocketMQ如何保证消息不丢失 ​ 这个是在面试时,关于MQ,面试官最喜欢问的问题。这个问题是所有MQ都需要面对的一个共性问题。大致的解决思路都是一致的,但是针对不同的MQ产品又有不同的解决方案。分析这个问题要从以下几个角度入手&…

静态路由的原理和配置

一.路由器的工作原理 首先我们知道路由器是工作在网络层的,那就是三层设备。网络层的功能主要为:不同网段之间通信、最佳路径选择也就是逻辑地址(ip地址)寻址、转发数据。 1.路由器是什么 路由器是能将数据包转发到正确的目的地…

C# WPF上位机开发(增强版绘图软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们写过一个绘图软件,不过那个比较简单,主要就是用鼠标模拟pen进行绘图。实际应用中,另外一种使用比较多的…

谈谈常用的分布式ID的设计方案?

典型回答 首先,我们需要明确通常的分布式ID定义,基本的要求包括: 全局唯一,区别于单点系统的唯一,全局是要求分布式系统内唯一。 有序性,通常都需要保证生成的ID是有序递增的。例如,在数据库存…

Etcd实战(二)-k8s集群中Etcd数据存储

1 介绍 k8s中所有对象的manifest都需要保存到某个地方,这样他们的manifest在api server重启和失败的时候才不会丢失,因此引入了etcd。在k8s中只有api server和etcd直接交互,其它组件都通过api server间接和etcd交互,这样做的好处…

优雅玩转实验室服务器(三)vscode is all you need

在前两章解决了传输问题和连接问题后,我们紧接着遇到一个新的需求:我们需要coding呀,你当然可以说,我们可以用vim和对应的插件来搭建一个IDE呀,fine,我甚至可以给你推荐如下的教程: Vim 到底可…

昇腾910安装驱动出错,降低Centos7.6的内核版本

零、问题描述: 在安装Atlas800-9000服务器的驱动的时候,可能会出现错误:Dkms install failed, details in : /var/log/ascend_seclog/ascend_install.log 如下所示: [rootlocalhost ~]# ./Ascend-hdk-910-npu-driver_23.0.rc3_l…