45.优化验证实现的一般形式 翻译自 吴恩达新书-Machine Learning Yearning

当提供一些输入x,你知道如何通过计算分值,来衡量输出y相对输入x有多好时,你可以使用优化验证测试。此外,你正在使用近似的算法来寻找最大的得分值,但是假设搜索算法有时并找不到最大的得分值。我们之前说的语音识别例子中,x是一个语音片段,y是输出的识别内容。

加入y是算法输出结果y对应的正确结果。那我们的关键测试就是判断Scorex(y) > Scorex(y),如果这个不等式成立,那就说明我们的最优算法有问题。可以参考上一章,来理解这背后的逻辑。否则,我们认为得分值计算有问题。

我们再看一个例子。你在构建一个汉英翻译系统。输入汉语句子C到你的系统中,会输出各种可能英文句子E的得分Socrec(E),比如你用把汉语句子C翻译成英语句子E的概率来作为得分值:Socrec(E) = P(E|C)。

你的翻译算法,试着计算如下公式:
输出计算公式
然而,可选的句子数量太多了,因此你需要使用启发式搜索算法。假设你的算法输出了错误的翻译Eout,而不是正确的结果E*。此时优化验证测试会让你计算并判断Socrec(E*) > Socrec(Eout),如果不等式成立,则Socrec()的计算是正确的,因为 E* 的确优于Eout,因此这时的问题出现在近似的搜索算法上,否则问题出现在Socrec()方法上。

在人工智能中,有一个非常常见的设计模式。首先找到学习到一个近似的得分值计算函数Socrec(),然后使用最大似然法。如果你能恰当的使用这个模式,使用优化验证测试,你将很容易理解错误的根源。

猜你喜欢

转载自blog.csdn.net/maerdym/article/details/82915133