机器学习知识总结

来源:互联网 发布:吾也有涯而知也无涯 编辑:程序博客网 时间:2024/05/21 07:13

方差和偏差:

偏差表示输出的期望与真实标记的差别,(不考虑噪声的话真实标记就是观测到的数据,考虑噪声的话观测的值有可能是噪声)
方差表示预测值的变化范围,也就是预测值离其期望的距离,等于预测值减去预测值的期望的平方的期望E(f-Ef)的平方。
模型的泛化误差=方差+偏差+噪声(如果不考虑噪声就是方差-偏差分解)
泛化的性能取决于学习算法能力,数据的充分性以及学习任务本身的难度(噪声)。给定学习任务,为了提高泛化能力,则需减少偏差,即能够充分拟合数据,并使方差较小,即使数据扰动产生的影响较小。一般来说,方差和偏差是有冲突的,给定学习任务,假设我们能控制学习算法的训练程度,当训练不足时,学习器对数据的拟合不够时,数据的扰动不足以使学习器发生显著变化,此时偏差主导泛化误差。当训练程度加深时,学习器对数据的拟合能力变强,训练数据发生轻微的扰动都会让学习器发生显著变化,此时方差主导泛化误差,如果训练集自身的特性被学习器学到了,会发生过拟合。
一般来说:偏差大,方差小时发生欠拟合;偏差小方差大时发生过拟合。

过拟合和欠拟合:

过拟合:说明把模型训练的太好了,以至于把训练数据自身的一些特征当作数据的一般特征训练模型
欠拟合:不能很好的拟合数据
欠拟合解决方法:
1.添加其他特征,
2.减少正则化参数,正则化参数一般是为了防止过拟合的,既然发生了欠拟合,则应减少正则化参数
过拟合解决方法:
1.重新清洗数据,导致过拟合的一个原因可能是数据不纯导致的(训练数据自身的一些特性被当做一般特性来训练模型)
2.增大训练数据量
3采用正则化方法:添加正则化参数l0,l1,l2范数,l0范数指非零参数的个数,l1范数指参数的绝对值之和,两者都可以稀疏向量参数,但是l0范数难以优化是NP难问题,l1范数比l0范数容易求解。l2范数指参数平方和再开根号;
最小化损失函数与l范数过程中,l范数起到是参数尽量小的作用,根据奥卡姆剃刀准则,更小的参数意味着模型的复杂度更低,对训练数据的拟合也更好。
4.dropout方法,用在神经网络中,让神经元以一定的概率不工作
如何判断是过拟合还是欠拟合
最简单的方法,在多项式拟合中,随着多项式最高次幂的增加,训练数据集上的误差会逐渐减少,测试数据集的误差会先减小后增大,当测试数据集上的误差比较大时,若训练数据集上的误差也比较大,则可能存在欠拟合;若训练数据集上的误差比较小,则可能存在过拟合,
另外一味地追求经验风险最小化会导致过拟合问题,结构风险最小化就是为了防止过拟合,结构风险最小化等价于正则化。结构风险在经验风险上加上模型复杂度项的正则化项或称罚项。

生成模型和判别模型

监督学习方法又可分为生成方法和判别方法,所学到的模型分别为生成模型和判别模型。
生成学习方法由数据学习联合概率分布p(x,y),然后求出条件概率分布p(y|x)作为预测的模型,即生成模型p(y|x)=p(x,y)/p(x)
之所以叫生成方法,是因为模型表示了给定输入x产生输出y的生成关系。典型的生成模型有:朴素贝叶斯法和隐马尔科夫模型。
判别方法由数据直接学习决策函数f(x)或者条件概率分布f(y|x)作为预测的模型,即为判别模型,判别方法关心的是对给定的输入x,应该预测什么样的输出y。典型的判别模型包括:k近邻法,感知机,决策树,最大熵模型,支持向量机,提升方法等。
生成方法特点:可以还原出联合概率分布p(x,y),而判别方法不能。生成学习方法收敛更快,即当样本容量增加时,学到的模型可以更快速的收敛到真实模型;存在隐变量时,仍可以用生成方法,此时判别方法就不能用。
判别方法特点:判别方法直接学习的是条件概率p(y|x)或者决策函数p(y),直接面对预测往往学习的准确率更高,同时可以简化学习问题。