设置开发和测试集
- 开发集和测试集的定义
- 开发集和测试集应该服从同一分布
- 开发集和测试集应该有多大?
- 使用单值评估指标进行优化
- 优化指标和满意度指标
- 通过开发集和度量指标加速迭代
- 何时修改开发集、测试集和指标
- 小结:建立开发集和测试集
基本误差分析
- 快速构建并迭代你的第一个系统
- 误差分析:根据开发集样本评估想法
- 在误差分析时并行评估多个想法
- 清洗误标注的开发集和测试集样本
- 将大型开发集拆分为两个子集,专注其一
- Eyeball 和 Blackbox 开发集该设置多大?
- 小结:基础误差分析
偏差和方差
学习曲线
与人类水平的表现相比
不同发行版的培训和测试
调试推理算法
端到端学习
按零件进行误差分析
总结
端到端学习的兴起
假设你想要构建一个系统来对产品的线上评论进行检查,并且要能够自动地告诉你给出评论的人是否喜欢这个产品。比如说,你希望系统将下面的句子识别为十分正面的评论:
这个拖把非常好用!
而下面的评论应当是十分负面的:
拖把的质量好差,我后悔买它了。
这种识别正面与负面评论的问题被称为 “情感分类”(sentiment classification) 。想要构建一个这样的系统,你的流水线模块需要有以下两个组件:
解析器(parser):一种通过识别关键词汇来对文本进行注释的系统。例如,你可以使用解析器对所有的形容词和名词做标记,因此你可能会得到类似下面的句子:
这个拖把(名词)非常好用(形容词)!
注:实际上解析器提供了比这更丰富的文本注释,但上面这个简化的描述足以用来解释端到端深度学习。
情感分类器(sentiment classifier):一种学习算法,它可以输入带注释的文本,并预测整体的情感。解析器的注释将对这个算法起到极大的帮助:通过给形容词一个较高的权重,你的算法将能很快地找到像 “非常” 这样的重要词汇,并忽视像 “这个” 这样的非关键词。
我们可以将 “流水线” 的两个组件可视化为下面的图片:
最近的趋势更倾向于用一种单一的学习算法取代此类流水线。该任务的端到端学习算法只需输入一个原始的文本 “这个拖把非常好用!” ,接着尝试直接识别其中的情感:
神经网络通常用于端到端学习系统,“端到端” 这个术语指的是我们要求学习算法直接从输入得到期望的输出,即学习算法将系统的 “输入端” 连接到 “输出端” 。
在数据量十分丰富的问题上,端到端系统往往很奏效,但它并不总是一个很好的选择。接下来的几个章节将给出更多的端到端系统的例子,并提供一些关于何时使用它们的建议。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论