改进算法1

当训练好一个模型之后预测新的数据,当发现预测情况不是很好的时候,怎么改进?

1.得到更多的训练数据。但有的时候获取更多的数据并不是很有帮助

2.尝试选用更少的特征

3.尝试增加更多的特征

4.增加多项式特征,就是已有特征之间的组合:x_{1}^{2},x_{2}^{2},x_{1}x_{2}

5.增加正则化参数,减小正则化参数

怎么样能选择最适合改进的方法呢?或者说排除上面的一些方法

评估该算法的性能(机器学习诊断法),从而能知道影响性能的关键和改进的方面:

训练误差最小化不一定得到了最好的性能,因为会过拟合。

那就要评价假设:使用验证集来度量误差,具体的如果对于回归问题,是误差;对于分类问题,是分类误差

欠拟合---偏差,过拟合---方差;如果算法的表现没有预期的那么好,那么如何确定是哪方面的问题?

如果是高偏差的问题,那么训练集误差和验证集误差都比较大;如果是高方差,那么训练集误差小,验证集误差大。

1.得到更多的训练数据(但有的时候获取更多的数据并不是很有帮助):解决高方差问题

2.尝试选用更少的特征:解决高方差问题

3.尝试增加更多的特征:解决高偏差问题

4.增加多项式特征,就是已有特征之间的组合:x_{1}^{2},x_{2}^{2},x_{1}x_{2}等:解决高偏差问题

5.增加正则化参数,解决高方差问题

6.减小正则化参数:解决高偏差问题

加入正则化,选区合适的参数的时候,选取验证集最好效果的参数。如果不同的正则参数训练出来的模型,对验证集,训练集进行预测,得到的误差图像,这个时候,如果正则化参数太大就会是高偏差即欠拟合问题,则会表现训练集误差和验证集误差都大;如果正则化参数太小就是高方差即过拟合问题,则表现训练集误差小,验证集误差大。因此通过增大正则参数来解决高方差,减小正则参数来解决高偏差。

利用学习曲线来确定是高偏差问题还是高方差问题。

学习曲线是,在假设下面,使用训练数据集中的m个样本进行训练,得到模型,然后得到训练误差和验证误差(注意这里是对m个样本,具体的训练集上之前训练的m个样本,验证集上新的m个样本)。随着m的增大而训练模型,得到误差;这样就画出来下面的学习曲线。我们可以知道当数据越多的时候,我们所关心的验证误差将会越来越小,当到达一定的数据量的时候就会保持平衡,意味着数据增加不会起帮助(下面的高偏差问题)

那么对于高偏差和高方差的曲线各是什么呢?下面给出:

高偏差状况是可以判断增加数据没有意义了

可以看到在整个训练集训练完了,这两条误差曲线还有很大的一个gap,看着曲线的趋势,增加数据可以降低验证误差(这是我们的目的),所以可以判断增加数据对于改善模型是有效的。

那么总结上面改进算法的方法都是解决什么问题的:

1.得到更多的训练数据(但有的时候获取更多的数据并不是很有帮助):解决高方差问题

2.尝试选用更少的特征:解决高方差问题

3.尝试增加更多的特征:解决高偏差问题

4.增加多项式特征,就是已有特征之间的组合:x_{1}^{2},x_{2}^{2},x_{1}x_{2}等:解决高偏差问题

5.增加正则化参数,解决高方差问题

6.减小正则化参数:解决高偏差问题

 

 

 

 

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值