搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
2023面试高手
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
SSL证书生成方法_手工创建ssl证书
2
回归预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络多变量回归预测
3
【C进阶】之结构体类型( struct)_struct类型
4
面试题分享同一资源多线程并发访问时的完整性_如何保障同一资源被多个线程并发方位时的完整性?
5
1700 无法吃午餐的学生数量(模拟)_无法吃午餐的学生数量python
6
【ZZULIOJ】1000: 从今天开始入坑C语言
7
LLaMA: 高效且开源的基础语言模型
8
引入springcloud报错。common依赖找不到_springcloud 与 redis 集成后异常问题的解决
9
SRU:ModuleNotFoundError: No module named ‘cuda_functional‘和OSError: libnvrtc.so: cannot open shared_modulenotfounderror: no module named 'cuda
10
手把手教你Jenkins整合Jmeter实现自动化接口测试!
当前位置:
article
> 正文
Boosting原理及其应用_kearns和valiant(1989)提出的强学习与弱学习等价性原理
作者:2023面试高手 | 2024-02-22 07:51:18
赞
踩
kearns和valiant(1989)提出的强学习与弱学习等价性原理
一、背景
故事:
某男到医院就诊,医生亲切地问了一些该男的症状,最后得出结论:“医生说我怀孕了。。。”
血淋淋的故事告诉我们:
需要一个好的诊断器:根据病人的一系列症状,得出病人患的是什么病。
实际上,这是一个分类问题。
分类问题很常见:
1) 博客男女
2) OCR
3) 情感分类
4) 查询意图识别
5) 排序学习
6) 等等
文本分类算法:
1) Nave Bayes
2) Decision Tree
3) KNN
4) ANN
5) SVM
6) ME
7) ...
然而,事实是残酷的。直接寻找一个强分类器很困难。
弱 + … + 弱 ≈ 强
- 古语有云:三个臭皮匠,顶个诸葛亮。
- Finding many rough rules of thumb can be a lot easier and more effective than finding a single, highly prediction rule.
启发:
整合多个弱分类器,成为一个强大的分类器。这时候,集合分类器(Boosting, Bagging等)出现了。
二、Boosting原理
1. Boosting由来
Kearns & Valiant (1984)
PAC学习模型
提出问题:
1) 强学习算法:存在一个多项式时间的学习算法以识别一组概念,且识别的正确率很高。
2) 弱学习算法:识别一组概念的正确率仅比随机猜测略好。
3) 弱学习器与强学习器的等价问题。如果两者等价,只需找到一个比随机猜测略好的学习算法,就可以将其提升为强学习算法。
Kearns & Valiant (1989)
证明了弱学习器和强学习器的等价问题。
Schapire (1989)
第一个提出了一个可证明的多项式时间的Boosting算法。
Schapire, etc. (1993)
第一次把Boosting算法思想用于实际应用:OCR。
Freund & Schapire (1995)
AdaBoost算法。
2. Boosting思想
基本思想:
1) 先赋予每个训练样本相同的概率。
2) 然后进行T次迭代,每次迭代后,对分类错误的样本加大权重(重采样),使得在下一次的迭代中更加关注这些样本。
示例:
仔细观察c1 c2 c3 最后一幅图是有前面图的
划分线拼凑而成
3. AdaBoost算法及分析
1) Base Setting
二元分类问题
训练数据:
(x1, y1), …, (xm, ym)
where xi∈X, yi∈Y={-1, +1}
Dt(i): 样本xi 在第t次迭代的权重
D1(i)=1/m
ht(X):弱学习器Ct训练得到的判别函数
ht:X->{-1, +1}
εt:ht(X)的错误率
2) 基本思路
a) 训练一系列弱学习器h1, h2, …, hT。
b) 在训练过程中,注重那些分类错误的样本。
c) 把训练出来的一系列弱学习器组合起来,每个弱学习器ht(X)都有一个相应的权重α t:
3)AdaBoost算法
弱学习器Ct的权重αt由第t次迭代决定
训练样本的分布权重Dt (i)在每一次迭代都会更新
弱学习器Ct的选择:
如果某次迭代的训练误差大于1/2,则抛弃,算法停止
算法在每次迭代都会更新样本的分布权重,在下一次迭代前会进行一次训练样本的重采样。
如何进行重采样?
可根据概率分布Dt(i)来采样。“轮盘赌”算法是其中一种比较简单、高效的方法。
“轮盘赌”算法
使用一个[0~1]随机数生成器
举例:如果随机数生成器生成0.525,则恭喜你,获得“康师傅冰红茶”一瓶;若生成0.91,则能获得宝马一部。
4) AdaBoost特性分析
特性1:
训练误差的上界,随着迭代次数的增加,会逐渐下降。
特性2:
AdaBoost算法即使训练次数很多,也不会出现过度拟合(over fitting)的问题。
三、应用
1. 文本分类
给定某篇文档,判别其所属类别
文档可能是某些网页,也可能是短文本(query,微博等)
应用很广
AdaBoost (weak learner: NB, C4.5等)
2. 排序学习
1) 排序问题
2) 排序模型
3) 根据训练样本的形式及损失函数分类:
a) Pointwise approach
Prank
McRank
b) Pairwise approach
RankBoost
Ranking SVM
RankNet
c) Listwise approach
ListNet
ListMLE
4) RankBoost算法
参考文献
[1] Richard O. Duda, etc. Pattern Classification.
[2] Bing Liu. Web Data Mining.
[3] Tom M. Mitchell. Machine Learning.
[4] Yoav Freund, Robert E. Schapire. A short Introduction to Boosting.
[5] Dong Lehong. Survey of Boosting.
[6] Li Hang. Learning to Rank.
原文:
http://blog.chinaunix.net/uid-8695538-id-3130689.html
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/2023面试高手/article/detail/129179
推荐阅读
article
最新
ChatGPT
分享(
2024
-
1
月)
_
chatgpt
链接
...
chatgpt
链接
分享20个GPT网址,剩余
链接
在文件,请自行...
赞
踩
article
轻松打造自己的聊天
机器人
:
JAVA
版
ChatGPT
_
chatgpt
-web-
java
...
在
JAVA
上搭建一个
ChatGPT
可以分为以下几个步骤:首先,您需要安装
JAVA
开发工具包和
JAVA
集成开发工具。最后...
赞
踩
article
编译
Android
系统源码_
android
源码
编译
...
步骤: 1:下载源码 2:搭建
编译
环境 3:
编译
( 一定要等源码下载完整再
编译
)硬件软件要求官方文档:https:...
赞
踩
article
LangChain
本地化方案 - 使用
ChatYuan
-
large
-
v2
作为 LLM 大语言模...
ChatYuan
-
large
-
v2
是一个开源的支持中英双语的功能型对话语言大
模型
,与其他 LLM 不同的是
模型
十分轻量...
赞
踩
article
chatgpt
生成
图片_
chatgpt
图片
生成
...
让
chatgpt
生成
图片,美丽动人_
chatgpt
图片
生成
chatgpt
图片
生成
最近chat...
赞
踩
article
解决
Docker
报错问题:
Docker
Desktop
– Unexpected WSL
error
...
最近因为准备在NAS上通过
Docker
容器方式安装MYSQL,发现https://hub.
docker
.com网站被墙了...
赞
踩
article
k8s
的
flannel
介绍_
k8s
flannel
...
flannel
是一个用于容器网络的开源项目,它是Kubernetes集群中的一个网络插件。它的主要作用是为容器提供了一个...
赞
踩
article
k8s
与
云
原生
_
云
原生
还需要
用
k8s
吗...
所需状态。_
云
原生
还需要
用
k8s
吗
云
原生
还需要
用
k8s
吗
云
原生
(Cloud Native) ...
赞
踩
article
AI
绘画
-
中国
风美女也
能
秒
生成
...
要说起
AI
打击行业最严重的那就是
绘画
行业了,
AI
绘画
的出现,加速了生产力,不仅如此,产品质量也
能
得到保证,成本也得到控制...
赞
踩
article
css
外边
距
塌陷
(
margin
-
top
无效果)原因和解决办法_
外边
距
塌陷
问题...
有时我们做了
外边
距,但是没有取得所设想的效果,或者根本没有效果,那这是什么原因呢,这篇文章会为你解惑。_
外边
距
塌陷
问题外...
赞
踩
article
SOLID
原则
:增强
面向对象编程
(
OOP
)...
SOLID
原则
是增强
面向对象编程
的设计和结构的基本准则。通过遵守这些
原则
——单一职责、开放/封闭、里氏替换、接口隔离和...
赞
踩
article
使用
JavaScript
构建
LLM
驱动的基于
Web
的AI
应用
_
javascript
ai...
众所周知,机器学习长时间以来主要是一门Python的领域,但最近ChatGPT的流行大幅增加了许多新的开发者。考虑到Ja...
赞
踩
article
k8s
常用
的
两种
网络
插件:
flannel
、
calico
简介_
k8s
flannel
calic...
看了一些材料,现在将自己对
flannel
、
calico
的
自己认识归纳如下
k8s
的
容器虚拟化
网络
方案大体分为两种:基于隧道...
赞
踩
article
CUDA
安装
_
安装
cuda...
CUDA
和CUDNN
安装
_
安装
cuda
安装
cuda 一、
安装
显卡...
赞
踩
article
ubuntu18.04
下
监视
显卡
的
运行
情况【
学习
笔记】...
作者:庄泽彬(欢迎转载,请注明作者)说明:使用watch命令监听
显卡
的
使用安装完
显卡
驱动之后系统会生成nvidia-sm...
赞
踩
article
[论文笔记] 大型
车牌
检测
数据
集
CRPD
阅读笔记_
crpd
数据
集
...
提出了
CRPD
车牌
检测
数据
集
;提出了一个用于
检测
车牌
的网络(不过感觉它这个网络很水)_
crpd
数据
集
crpd
数据
集
...
赞
踩
article
Python
量化
交易
实战:基于
动量
策略
的
股票
交易
策略
_量价
动量
策略
...
动量
策略
是一种基于价格趋势
的
交易
策略
,基本原理是认为过去一段时间内表现良好
的
股票将会在未来一段时间内继续表现良好,反之亦...
赞
踩
article
〖
ChatGPT
实践指南 - 零基础扫盲篇③〗-
学术探讨
:如何
获取
OpenAI
的
API
ke...
请注意,该章节介绍
的
是如何使用
ChatGPT
,并通过登录
ChatGPT
后访问
OpenAI
获取
API
Keys,...
赞
踩
article
YOLOv5
解析 | 绘制
results
.
csv
文件数据对比图
_
读
yolo
results
.
csv
画...
功能描述我们在写论文过程中,通常是需要附带上改进后
YOLOv5
算法与改进前
YOLOv5
算法的mAP
_
0.5值对比图,可以...
赞
踩
article
non-
iterable
Image
object
报错_typeerror:
cannot
unpa...
报错信息:TypeError:
cannot
unpack
non-
iterable
Jpeg
Image
File obj...
赞
踩
相关标签
chatgpt
机器人
java
android
git
github
langchain
语言模型
人工智能
golang
node.js
学习
笔记
kubernetes
容器
云原生
科技
编辑器
css
大数据
数据库
代码
前端
javascript