江梦瑶把这句话写进程序注释,又删掉。
注释太多,会影响代码结构。
她重新建立了观测状态和隐状态之间的映射关系,将传统的离散转移矩阵拆成多个局部拓扑单元。
每个单元只负责一段序列。
不同单元之间,通过分形边界进行连接。
这样一来,原本需要整体计算的庞大矩阵,被拆成了数万个可以独立运行的小矩阵。
维度灾难的根源,来自所有数据必须同时参与计算。
她要做的,就是让数据分开。
工作站屏幕上,代码一行行向下滚动。
江梦瑶左手托着下巴,右手敲击键盘,速度始终没有变化。
她在脑海里同步推算着矩阵变化。
传统维特比算法需要不断回溯所有路径,寻找概率最高的那一条。
这个过程会消耗大量算力。
江梦瑶直接砍掉了回溯步骤。
每一段序列只保留局部最优路径,再通过分形边界进行二次修正。
这样做的风险很高。
一旦边界函数出现误差,前面的判断就会全部偏移。
江梦瑶盯着屏幕上的公式,指尖在桌面上轻点两下。
风险可以接受。
她要的是新算法,不是给旧算法换一层外壳。
键盘声持续了整整三个小时。
她调出一组公开基因数据库,先用一千条样本进行测试。
程序刚运行十秒,窗口突然弹出一片红色警告。
内存占用超过百分之九十。
江梦瑶停下敲键盘,目光落在报错位置。
问题出在边界函数。
分形维数设定为一点七五时,局部矩阵会发生重复展开。
她把参数改成一点六二,又重新运行。
这一次,内存占用降到了百分之四十。
准确率却从百分之七十四跌到了百分之四十一,模型直接失去了意义。
江梦瑶皱起眉头,开始寻找问题到底出现在哪里。
她不断的移动光标足足花了小半个小时,这才发现问题所在。
她随手拿起笔,在A4纸上写下两组参数。
一个负责压缩,一个负责校正。
单独使用都不够稳定。
那就让它们交替工作。
她重新敲入一段控制代码,让分形维数根
(本章节未完结,点击下一页翻页继续阅读)