NG机器学习第六周:关于模型的调优选择

评判一个模型:   

回归:  J(Θ) 的大小,越小越好

逻辑回归分类:  用错误率 err( hΘ(x)-y)来衡量。

选择模型: 分别用几次方程拟合比较合适, 

把数据集分为:  

训练集, 交叉验证集(cv),测试集合。分别占比6,2,2。 用训练集分别对不同的模型(不同阶)训练, 然后再交叉集上选出一个最好的模型, 然后再用测试集来得到它的泛化误差。



偏差 bias和方差 variance:

一般欠拟合呈现偏差大,方差小特点,过拟合偏差小,方差大


模型太过简单时,cost J 均比较大, 当模型复杂时候,可能导致过拟合,训练误差很小,但是交叉验证误差会很大。通过这张图可以选出一个比较合理的模型。正则化Regularization and Bias/Variance
通过在损失函数里增加正则项可以解决过拟合问题。但是正则化系数的大小也影响着模型的效果。

如果lambda 太大, 则相当于惩罚作用太大, 导致所有的Θ 1-n都接近0。

如果lambda 太小,则相当于没有惩罚,导致过拟合。

选择合适的lambda 和选择模型阶数是一样,也需要进行筛选, 像上面一样,多个lambda值训练后,在交叉集上个选择最好的

  1. Create a list of lambdas (i.e. λ∈{0,0.01,0.02,0.04,0.08,0.16,0.32,0.64,1.28,2.56,5.12,10.24});
  2. Create a set of models with different degrees or any other variants.
  3. Iterate through the  λ s and for each  λ  go through all the models to learn some  Θ .
  4. Compute the cross validation error using the learned Θ (computed with λ) on the  JCV(Θ)  withoutregularization or λ = 0.
  5. Select the best combo that produces the lowest error on the cross validation set.
  6. Using the best combo Θ and λ, apply it on  Jtest(Θ)  to see if it has a good generalization of the problem.


怎么辨别一个模型是过拟合欠拟合, 是偏差问题还是方差问题,还是方差偏差都有问题,可以通过:

学习曲线

Experiencing high bias:

Low training set size: causes  Jtrain(Θ)  to be low and  JCV(Θ)  to be high.

Large training set size: causes both  Jtrain(Θ)  and  JCV(Θ)  to be high with  Jtrain(Θ) JCV(Θ) .

If a learning algorithm is suffering from high bias, getting more training data will not (by itself) help much.


高偏差问题就是随着样本增大,你的训练误差和测试误差都比较大。 这时候增加样本数量也无济于事。

Experiencing high variance:

Low training set size Jtrain(Θ)  will be low and  JCV(Θ)  will be high.

Large training set size Jtrain(Θ)  increases with training set size and  JCV(Θ)  continues to decrease without leveling off. Also,  Jtrain(Θ)  <  JCV(Θ)  but the difference between them remains significant.

If a learning algorithm is suffering from high variance, getting more training data is likely to help.

高方差问题,当小训练集时, 训练误差很小,验证误差很大,两者之间有一个很大的差距。当大训练样本时,问题有所改善,继续增大样本,两个线会逐渐交汇到一个合理的水平。


特点是训练误差和交叉误差相隔比较大。



补充:

http://blog.csdn.net/philosophyatmath/article/details/50989053

1.数据欠拟合会出现高偏差问题,由于模型过于简单,比如数据的趋势是二次函数,用一次函数取拟合会出现高的偏差。

2.数据过度的拟合会出现高方差问题,由于模型过于复杂,比如用10个数据特征去拟合3个数据会出现高的方差。

3.怎么处理高偏差和高方差问题:

高偏差:训练误差很大,训练误差与测试误差差距小,随着样本数据增多,训练误差增大。解决方法:

1.寻找更好的特征(具有代表性的)

2.用更多的特征(增大输入向量的维度)

高方差:过拟合,模型过于复杂,训练误差小,训练误差与测试误差差距大,可以通过增大样本集合来减小差距。随着样本数据增多,测试误差会减小。解决方案:

1.增大数据集合(使用更多的数据)

2.减少数据特征(减小数据维度)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值