机器学习笔记 第11课

        接着第10课末尾,阐述选择特征的另一种选择方式:贝叶斯规范化

(1)贝叶斯规范化

也是为了解释特征选取过多造成的过拟合问题

以线性回归为例,从频率学派的观点出发,当我们利用最大似然法求解回归方程中的sita向量时,认为sita就是真实存在,我们所要做的是利用最大似然法这种方式去估计sita,从而得出结果。而从贝叶斯学派出发,我们需要求解的sita实则是满足某种概率分布的,而其概率是可以利用其后验概率去估计。而在实际的积分过程中,因为sita通常高维,难以做到对高维的积分,因此转换为使参数sita的后验概率(MAP,max a posterior)最大化。这样在形式上就相当于在最大似然性估计式的后面乘以先验概率p(sita)。

这的确是一个规范化的过程,因为这相当于在最大似然法求参数的估计值时,给每一个的测试值添加了一个以sita概率分布的权重。例如所提到的sita~N(0,n^2),那么则大多数权值集中于0的附近,也就是说通过此方式平滑掉了许多参数,从而成为一种过拟合的解决方式。

        关于特征选择告一段落了,接下来简单谈了在线学习

(2)在线学习(online learning)

之前学习的算法都为批学习算法(batch learning),即训练之后进行学习。在线学习,顾名思义,online learning可以理解为在训练的过程中进行预测,随机梯度下降算法可以理解为其一个很好的例子。Andrew提到其有些有趣的结论存在于讲论之中。

         接下来Andrew给了一些机器学习在具体应用之中的建议

(3)如何有效判断模型存在着高方差或者高偏差的问题

(i)若存在高方差的问题,当增加训练样本数量时,测试误差减少而训练误差增大。很好理解。

(ii)若存在高偏差的问题,当增加训练样本时,测试误差减少,训练误差增大,且二者会达到一个瓶颈,并且较大程度的高于预想的误差。这也很好理解,高偏差的存在意味着不管是测试还是训练误差都存在较大程度上的不拟合。

一个Andrew经验即在增加训练样本的基础上,观察测试误差和训练误差的差距来判断是否存在着高偏差或者高方差。

(4)如何诊断问题是算法是否收敛(例如logistic regression迭代是否收敛)还是选择了不合适的算法

关注于加权准确率与目标函数两方面,利用SVM和BLG(Bayesian logistic regression),基于 关于加权准确率与SVM在加权准确率上表现得比BLG更好的基础 这两个方面基础判断。这里SVM相当于对比算法,而BLG是采用的本算法。这里注意BLG的目标函数是利用最大似然法使来选取参数,而SVM是最大化几何间隔。

在关注于加权准确率的基础上,若SVM(对比算法)表现比BLG(本算法)更好,

(i)若SVM的参数代入BLG目标函数的值大于BLG,说明BLG未收敛。因为BLG的目标函数就是为了最大化取得的参数值。

(ii)反之,若SVM的参数代入BLG目标函数的值小于等于BLG。此时BLG选择的参数已经最大化,说明目标函数已经达到,但是加权准确率仍然较对比算法低,则说明目标函数选取有问题。

(5)误差分析,了解在算法流水线的哪一个步骤带来的误差最大。思路很简单,一个步骤一个步骤的检查,观察准确率的提高。但是在此之中要注意一个顺序的问题,因为可以并列的的流水线的间算法的顺序,会影响。、

销蚀分析,过程与误差分析正好相反。从整个系统中,逐步移除一些成分,观察哪个成分的移除对于系统的影响最大。同样,也要注意顺序问题。

猜你喜欢

转载自blog.csdn.net/OliverLee456/article/details/81006441