| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 随机森林算法与集成学习 -> 正文阅读 |
|
[人工智能]随机森林算法与集成学习 |
随机森林算法与集成学习 – 潘登同学的Machine Learning笔记文章目录书接上文,经典决策树CART、ID3与C4.5,我们构建了一颗树来解决分类、拟合问题,但是一棵树的缺点也很明显,就是容易过拟合;再说了,就算一棵树再强大,也不可能强过好几颗吧,正所谓 聚合模型同权重G ( X ) = s i g n ( ∑ t = 1 T 1 ? g t ( x ) ) G(X) = sign(\sum_{t=1}^T 1*g_t(x)) G(X)=sign(t=1∑T?1?gt?(x)) 变量解释:
不同权重G ( X ) = s i g n ( ∑ t = 1 T α t ? g t ( x ) ) G(X) = sign(\sum_{t=1}^T \alpha_t*g_t(x)) G(X)=sign(t=1∑T?αt??gt?(x)) 其中, α t \alpha_t αt?则表示第t颗小树的权重,之所以这样设置,目的是更相信某些树,可能有预想不到的结果,因为有时在村里面投票时,德高望重的村长可能能投两票; 如何生成 g ( x ) g(x) g(x)因为聚合模型需要很多颗不同的小树来构成,而现在我们要解决的问题就是,如何在同一组数据下生成不同的小树?
对于决策树算法来说, g ( t ) g(t) g(t)的构成也有两种思路: Bagging(一袋子模型)对训练集进行抽样,将抽样的结果用于训练集 g ( x ) g(x) g(x),可以并行、独立训练;如:随机森林。 Boosting(提升模型)利用训练集训练出的模型,根据这次训练的预测结果,调整训练集,然后利用调整后的训练集训练下一个模型,串行;如:adaboost、GBDT、Xgbosst。
预测值1
预测值2
预测值3
Database
SVM
LR
DT
LR
最终预测值
随机森林而随机森林就是聚合模型中的同权重那一类(Uniform Blending Voting for Classification) 思想:Bagging思想 + 决策树作为base model(每颗小树都是 fully gorwn CART) + Uniform Blending Voting
在随机森林中,sign就理解为少数服从多数,假如小树有100个,最终小树分别投票的结果是正例:负例 = 60:40,那么最终sign后的结果就是1;
OOB问题(Out of bag data)
数据样本数为m,一条数据m轮没有被抽到的概率为 当m趋近于无穷时
实战鸢尾花数据集多种模型 + bagging比较逻辑回归、随机森林、SVM、与将前面三个模型bagging起来的模型
显示的是错误率 随机森林OOB上面采用的还是划分测试集与训练集的方式,而随机森林是不需要划分的,自己验证即可
前者是采用测试集与训练集划分的结果,后者是OOB的方式,两者的差别不大 随机森林算法与集成学习, 继续下一章吧!pd的Machine Learning |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 2:15:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |