Bagging

Resampling

we refit the model with repeatedly samples from a training set
- cross validation
- bootstrapping
1. 交叉验证
假定有一个变量集合上能得到最小错误率,如果是一个很大的集合,我们随机划分为训练集和测试集(验证集),找到用某种训练集训练出的在测试集上最低错误率的模型
LOOCV:对交叉验证的错误率做平均, CV(n)=1/nni=1MSE

LOOCVthe validation set
less biassimple
less variable MSEeasy to implent

K-fole Cross Validatin

entropy for feature selection

信息熵
高熵即混乱而更难预测
条件熵
信息增益:IG, information gain, 作为互信息
H(Y)H(Y|X)

H(Y)=yYp(y)logp(y)

H(Y|X)=xXp(x)yYp(y|x)logp(y|x)

更低的条件熵(更高的信息增益)即选为最佳特征,

岭回归

消减维数,取折中,

Decision trees

决策树
- 回归树
- 分类树
- pruning trees 剪枝
- trees vs. Linear Models

决策树的构造过程其实就是评估所有子特征,根据特特征的重要性来进行分类的方法
首先需要评估各个特征的信息熵——决定性作用最大的那个特征作为根节点
>

1、给定下列数据集,其中每个样本有两个属性,记为属性A和属性B,这些样本分为三类,分别记作 C1, C2, 和C3。 计算A和B的信息增益值(IG), 并基于计算的结果,给出决策树判断的流程。

类别属性A属性B
C312
C311
C112
C112
C122
C221
C231
C231
C231
C232

Answer:
1. the IG for A :

xX 123
yY 2C1 0C2 2C31C1 1C2 0C30C1 4C2 0C3

the IG for B

xX 123
yY 0C1 4C2 1C33C1 1C2 1C30C1 0C2 0C3

H(Y|X)=xXp(x)yYp(y|x)logp(y|x)

pA(x=1)=4/(4+2+4)=0.4
pA(x=2)=0,2
pA(x=3)=0.4

pB(x=1)=5/10=0.5
pB(x=2)=0.5
pB(x=3)=0

pA(y=c1|x=1)=2/(2+2)=0.5
pA(y=c2|x=1)=0
pA(y=c3|x=1)=0.5

pA(y=c1|x=2)=0.5
pA(y=c2|x=2)=0.5
pA(y=c3|x=2)=0

pA(y=c1|x=3)=0
pA(y=c2|x=3)=1
pA(y=c3|x=3)=0

IG_A= -0.4(0.5log0.5+0.5log0.5)-0.2(0.5log0.5+0.5log0.5)-0.4(1log1)=0.6log2=0.18
IG_B=
-0.5(0.8log0.8+0.2log0.2)-0.5(0.6log0.6+0.2log0.2+0.2log0,2)=0.315
显然A属性对分类来说更好,基于运算结果,会给出决策树的流程:
A的可信度更高,因此从A开始划分,
if(A<=1)
if(B<=1)
C3
else if(B<=2)
C1(p(C1|B)>p(C2|B)
else if (A<=2)
if(B<=1)
C2
else if(B<=2)
C1
else if(A<=3)
C2
end

Created with Raphaël 2.1.0 开始 A/B 确认? 结束 yes no

Bagging

bootstrap aggregrating
多个分类器自助聚合

重采样:重复采样实验,不同的分类树,对实验结果合成
- 分类:投票,奇数个分类器,(正样本负样本)多数为胜
- 回归:平均,降低方差
不仅仅降低方差(variance),也可以降低误差(bias)

贝叶斯误差:最优误差(Pe最小)

回归树的好处:能知道哪个属性最重要,作为父节点

Random Forest

随机森林

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个开源的深度学习框架,而bagging是一种集成学习方法。PyTorch bagging指的是使用PyTorch框架来实现bagging算法。 Bagging是一种基于自助采样的集成学习方法,其核心思想是通过构建多个基分类器的准确定义函数,再通过投票或平均等方式进行集成,提高整体的泛化性能。PyTorch提供了灵活而强大的功能,可以很方便地实现bagging算法。 在PyTorch中实现bagging,首先需要定义基分类器。可以选择不同的深度学习模型作为基分类器,如卷积神经网络(CNN)或循环神经网络(RNN)。基分类器可以根据具体任务选择合适的模型结构和参数设置。 然后,需要进行自助采样。自助采样是指从原始数据集中有放回地随机抽样生成多个不同的训练集。PyTorch提供了数据集(Dataset)和数据加载器(DataLoader)等工具,可以方便地实现自助采样。 接下来,使用基分类器对每个训练集进行训练,并得到多个单独的分类器。PyTorch提供了优化器(Optimizer)和损失函数(Loss Function)等工具,可以方便地进行模型训练和参数优化。 最后,使用投票或平均等方式对多个基分类器进行集成,得到最终的集成分类器。PyTorch提供了丰富的操作函数和工具包,可以方便地实现集成方法。 总之,PyTorch bagging是使用PyTorch框架实现bagging算法的过程。通过使用PyTorch的强大功能,可以快速简便地实现bagging算法,并提升深度学习模型的泛化性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值