2.3 快速搭建你的第一个系统,并进行迭代(Build your first system quickly, then iterate)

如果正在开发全新的机器学习应用,应该尽快建立第一个系统原型,然后快速迭代

改进语音识别系统特定的技术:

对于几乎所有的机器学习程序可能会有50个不同的方向可以前进,并且每个方向都是相对合理的可以改善系统。但挑战在于如何选择一个方向集中精力处理。如果想搭建全新的机器学习程序,就是快速搭好第一个系统,然后开始迭代。首先快速设立开发集和测试集还有指标,决定目标所在,如果目标定错,之后改也可以。但一定要设立某个目标,然后马上搭好一个机器学习系统原型,找到训练集训练一下,看算法表现如何,在开发集测试集,评估指标表现如何。当建立第一个系统后,就可以马上用到偏差方差分析和错误分析,来确定下一步优先做什么。如果错误分析到大部分的错误来源是说话人远离麦克风,就有很好的理由去集中精力研究这些技术,所谓远场语音识别的技术,就是处理说话人离麦克风很远的情况

建立初始系统所有意义:是一个快速和粗糙的实现(quick and dirty implementation),有一个学习过的系统,有一个训练过的系统,确定偏差方差的范围,知道下一步应该优先做什么,能够进行错误分析,观察一些错误,然后想出所有能走的方向,哪些是实际上最有希望的方向

当这个领域有很多可以借鉴的学术文献,处理的问题和要解决的几乎完全相同,比如人脸识别有很多学术文献,如果搭建一个人脸识别设备,可以从现有大量学术文献为基础出发,一开始就搭建比较复杂的系统。但如果第一次处理某个新问题,还是构建一些快速而粗糙的实现,然后用来找到改善系统要优先处理的方向

Last updated