学习内容:机器学习介绍,p1-2
学习地址:李宏毅《机器学习》_哔哩哔哩_bilibili
误差的来源
偏差bias
方差variance
估测
f head是真实模型
f *是一个预估
他们之间的差距就是bias和variance导致的
估测变量x的偏差和方差
估测变量的均值μ,,方差为σ2
如果只有一组的话,那么这组均值m不等于μ
如果有很多组,那么根据无偏估计:
我们就可以通过很多组样本得出估测变量的均值μ
用s2来估测σ2
bias表示与靶心的距离
variance表示离散程度
平行宇宙相当于进行很多次平行实验
这么多次平行实验的拟合情况的散布都表现出来
100次实验
简单model受到不同data影响比较小,因此做很多次实验他还是比较集中的,但是复杂模型会导致他比较容易受data影响
考虑不同模型的偏差
上靶就是类似简单model,虽然离散程度低,但是距离靶心比较远(bias大)
下靶类似复杂model,虽然离散程度较大,但是距离靶心较近(bias小)
直观解释:
直观的解释:简单的模型函数集的space比较小,所以可能space里面就没有包含靶心,肯定射不中。而复杂的模型函数集的space比较大,可能就包含的靶心,只是没有办法找到确切的靶心在哪,但足够多的,就可能得到真正的 f¯f¯。
variance VS bias
简单model:bias大,variance小——欠拟合
复杂model:bias小,variance大——过拟合
怎么判断过拟合还是欠拟合呢?
如果model不能拟合训练集——可以判断模型欠拟合
如果能很好的拟合训练集,但是在测试集上得到大的error——可能模型过拟合
解决办法
欠拟合——偏差大
重新设计model,把更多的变量考虑进去,或者考虑更多次幂、更复杂的模型,而不应该强行训练,因为问题出在模型上
过拟合——方差大
(1)收集更多的数据
但是很多时候不一定能做到收集更多的data。可以针对对问题的理解对数据集做调整。比如识别手写数字的时候,偏转角度的数据集不够,那就将正常的数据集左转15度,右转15度,类似这样的处理
(2)加入正则化项
使曲线更加平滑,调整权重
模型选择
测试集不能够是自己设定的,因此可能选择的模型并不是最好的模型
解决方法:
(1)交叉验证
(2)N折交叉验证