基于PAC学习框架的计算学习理论

考虑一个从训练集中进行训练的机器学习算法,通过PAC学习模型,我们可以得到所需训练样本大小的界限,从而使错误概率被限制(由epsilon限定)的概率(由delta限定)受到约束。

PAC学习模型对计算(时间)复杂度有何说明?假设给一个学习算法更多的时间(比如更多的迭代),错误和错误被限制的概率会如何变化?

一个需要一小时训练的学习算法在金融预测问题中没有实际用途。我需要了解随着给算法的时间变化,其性能在错误界限和错误被限制的概率方面的变化情况。


回答:

PAC模型只是告诉你需要多少数据才能以一定的概率达到某个错误水平。这可以通过查看你实际使用的机器学习算法来转化为对运行时间的影响。

例如,如果你的算法运行时间为O(2^n),而PAC模型说你需要1000个例子来有95%的几率达到0.05的错误率,需要10,000个例子来达到0.005的错误率,那么你就知道为了提高精度,你应该预期到巨大的减速。而对于一个O(log n)的算法,同样的PAC信息可能会让你决定去获取更低的错误率。

顺便提一下,听起来你可能对大多数监督学习算法的工作方式有些困惑:

假设给一个学习算法更多的时间(比如更多的迭代),错误和错误被限制的概率会如何变化?

在大多数情况下,你不能仅仅给同一个算法更多的时间就期望得到更好的结果,除非你改变参数(例如学习率)或增加例子的数量。或许你所说的“迭代”是指例子,在这种情况下,通过操作PAC学习模型使用的方程组,可以找到例子数量对概率和错误率的影响;请参阅维基文章

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注