我们知道,做两个字符串的联配可以用动态规划算法,填写动态规划表格,再回溯找到表格中的通路,也就是联配方式。但难点在于不知道某一个字母该当对应哪个字母,因此需求用监督学习为联配结果赋分。于是可以将已知结构的蛋白做堆叠,得到真实的联配方式,然后以最大似然作为优化目的,即让真实联配方式的分值最大化为目的来训练神经网络。这是一种基于格子的条件随机场方法(grid conditional random feild),其中配分函数(Partition function)Z刚好能在多项式工夫算出,因此可以对对数似然函数做梯度下降。那个时分深度学习的概念才刚刚被提出,这一算法的代码是用C++写的,运用的网络层数不深,由于深层难以训练。近几年许锦波教授运用更深的网络,使模型效果进一步提升。