第十一集 贝叶斯统计和规则化

        本讲先介绍了贝叶斯统计和规范化;之后简单介绍了在线学习的概念;之后介绍了机器学习算法设计中的问题诊断技巧;之后介绍了两种分析技巧:误差分析与销蚀分析;最后介绍了两种应用机器学习算法的方式与适用场景。

 

        关于贝叶斯统计和规则化我个人认为就是找出新的估计方法来代替原有的最大似然估计这个方法来减少过拟合这种情况的发生。下面关于贝叶斯统计和规则化的笔记,依旧援引自之前提到的那位大神……(想想我也真是够厚颜无耻的……)。

 

 第十一集 贝叶斯统计和规则化_第1张图片


第十一集 贝叶斯统计和规则化_第2张图片

第十一集 贝叶斯统计和规则化_第3张图片


        关于贝叶斯统计和规则化,我这里也有一些事情要说一下。当我们采用最大似然估计时,有可能会用一个高次多项式去拟合少量数据从而造成过拟合,图像不平滑。而用贝叶斯统计和规则化则会使图像曲线平滑下来从而降低过拟合的可能性。在这里,贝叶斯规划是利用改变的值来实现平滑效果的。至于这个,它其实是这个式子里面的参数。为什么改变它就可以平滑曲线呢?我在这里有一个猜想,就是既然,那它的概率质量是主要集中在0附近的,也就是说,有大量的参数的值是很接近与0的。参数的值接近于0意味着什么呢?这意味着与其对应的特征项 的影响被大幅度的削弱,相当于消除了这项特征。而下面将会提到,减少模型所采用的特征有利于改善高方差即过拟合这种情况。在最后,我们可以在目标函数后面增加一个惩罚项 。

 

在线学习(Online learning)

简略介绍其核心思想,如下图所示:

 

 第十一集 贝叶斯统计和规则化_第4张图片


其中,带有“hat”的都是预测值,经过一次一次的预测并且与标准结果进行对比,预测结果会越来越靠谱。

采用感知器算法或者随机梯度下降算法都能很好的解决这一问题。

 

学习算法的调试诊断法

 

当我们设计一个学习型算法的时候,我们很有可能会发现算法产生的结果具有很大的误差,而这种程度的误差通常是我们无法接受的。以垃圾邮件分类器为例,我们可能会想出以下几种方式来改善我们的算法:

(1)更多的训练样本

(2)减少采用的特征

(3)增加采用的特征

(4)试着采用邮件标题中的特征

(5)多运行几次梯度下降算法

(6)试试牛顿方法

(7)改变惩罚项的系数 

(8)改用SVM算法

 

我们可能遇到的问题是:

(1)判断算法是因为高方差还是高偏差引起的误差

(2)判断算法是因为收敛问题还是因为目标优化函数的选择问题引起的误差

(1)高方差or高偏差

 

诊断方法为:高方差时,训练误差会远小于测试误差;而高偏差时,训练误差也会很大。我们可以通过比较训练误差与测试误差之间差值的大小来判断。若差值很大即为高方差,差值很小则为高偏差。高方差问题可以通过增加训练样本的数目m来解决,而高偏差问题则不能如此解决。因为对于高偏差问题,随着m的增大,测试误差与训练误差会趋于不再变化并且均明显高于期望的最大误差。下列改善方法分别对应于不同的情况:

(1)更多的训练样本————————————————高方差

(2)减少采用的特征————————————————高方差

(3)增加采用的特征————————————————高偏差

(4)试着采用邮件标题中的特征———————————高偏差

 

(2)判断算法是因为收敛问题还是因为目标优化函数的选择问题引起的误差

 

     还是以垃圾邮件分类器为例。如果有两个分类器,分类器1(贝叶斯logistic回归,简称BLR)对于垃圾邮件和非垃圾邮件的误差均为2%;分类器2(SVM)对于垃圾邮件的误差为10%,对于非垃圾邮件的误差为0.01%。明显可以看出,我们更倾向于分类器2,因为对有用邮件的高误差是无法忍受的。下面推出加权准确度函数: ,其中有用邮件的权重会比垃圾邮件的权重高,这代表着我们倾向于有用邮件的低误差。显然, 。BLR的目标优化函数为:

 。下面介绍诊断方法:

Case 1:

 

这说明BLR产生的参数值并不能使目标函数 最大化,问题出在算法的收敛上,即算法没有收敛。  

 

Case 2:

说明BLR成功的最大化了,但是对于SVM来说,虽然较小,但在我们追求的加权准确度上占优。这说明最大化并不能得到最优解,即是一个不合适的目标函数。下列改善方法分别对应于不同的情况:

 

(5)多运行几次梯度下降算法——————————针对对算法的优化(收敛)

(6)试试牛顿方法———————————————针对对算法的优化(收敛)

(7)改变惩罚项的系数————————————优化目标的问题(不再适用)

(8)改用SVM算法———————————————优化目标的问题(不再适用)

 

误差分析与销蚀分析

 

误差分析:现有性能与完美性能的对比。分别将系统的各个部分的输出以标准输出代替,观察系统整体准确度的变化。

 

销蚀分析:当前性能和一些效果很差的底线性能之间的差异。分别去除系统的各个部分,观察系统整体准确度的变化。

 

设计建议

 

(1)仔细设计系统

(2)创建—修改法

这一部分内容主要为课堂PPT讲解,可以重新看视频,这里就不写了。

你可能感兴趣的:(算法,机器学习)