零基础学习 NLP-DAY3
Dynamic Programming 动态规划是运筹学的一个分支,是求解决策过程最优化的过程。
在学校的学习(商科)中,我们有一门选修课叫数据模型与决策,所用教材《数据、模型与决策》由 Frederick S. Hillier & Mark S. Hiller 著。这是一门非常实用的课程,而教材则是通过 Excel 把复杂的问题,如生产调度,资源分配最优化的问题用最快捷的方式教学生得出答案,而不对算法的原理作理解要求。Microsoft Office 里的 Excel 可以轻松解决这些问题。
在今天的学习中发现,动态规划算法在 NLP 领域也是经常可见。前者教材中的案例,大部分是属于静态数据。静态数据是指不随运行而变。但在 NLP 领域,我们经常会遇到动态数据,动态数据是指在系统应用中随时间变化而改变的数据。如,时间序列数据。DTW,HMM, CRF, RNN, LSTM 等等方法经常用于时间序列数据的分析和预测。
DTW 是用于计算两个时间序列的相似度,算是所有算法里最为简单和便捷了。 两个时间序列的长度或者一样,也或许不一样,但通过 DTW 可以找到对应关系来进行计算两者之间的距离,从而算出相似度。此方法被广泛应用于语音识别,音乐搜索,股票相似趋势分析当中。
在进行 DTW 时,需要考虑到以下几点:
起始点和终止点
Local continuity
Global continuity
路径的权重
今天的学习仅仅是认知的开始,希望日后能分析更深入的知识^_^
版权声明: 本文为 InfoQ 作者【Qien Z.】的原创文章。
原文链接:【http://xie.infoq.cn/article/4dc526ca13d52208b9423b918】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论