Efficient parameter estimation for RNA secondary structure prediction

Year: 2007
Authors: Mirela Andronescu, Anne Condon, Holger H. Hoos, David H. Mathews, and Kevin P. Murphy
Journal Name: Bioinformatics

Motivation

  1. 基于自由能的RNA二级序列预测模型Turner99,没有有效、快速的参数估计方法(使用大量结构数据和自由能数据训练)。
  2. 数据集中的最小自由能(MFE)也许有噪声。

Research Objective

提出一种能应用于大样本的自由能参数计算方法(CG方法),且对自由能噪声具有鲁棒性。

Dataset

(x,yx)∈S(x, y_x) ∈ \mathcal{S}(x,yx​)∈S ,其中 yxy_xyx​ 为序列 xxx 的真实MFE结构。
(x,yx,ex)∈T(x, y_x, e_x) ∈ \mathcal{T}(x,yx​,ex​)∈T ,其中 exe_xex​ 为结构 yxy_xyx​ 的自由能。

Background

已知序列 xxx ,目标为预测具有最小自由能的结构 yyy 。序列 xxx 和结构 yyy 的自由能计算公式为
ΔG(x,y,θ)=c(x,y)Tθ=∑k=1Kck(x,y)θkΔG(x, y, \bm{θ}) = c(x, y)^T\bm{θ} = \sum_{k=1}^K c_k(x, y)θ_k ΔG(x,y,θ)=c(x,y)Tθ=k=1∑K​ck​(x,y)θk​
其中 KKK 是特征的个数, ck(x,y)c_k(x, y)ck​(x,y) 为特征 kkk 在出现在结构 yyy 中的次数, θkθ_kθk​ 是特征 kkk 的能量参数。

CONTRAfold模型使用最大可能性(ML)方法来估计参数。定义在序列 xxx 和自由能参数 θ\bm{θ}θ 确定的条件下,结构为 yyy 的概率为
p(y∣x,θ)=1Z(x,θ)exp(−1RTΔG(x,y,θ))p(y|x, \bm{θ}) = \frac{1}{Z(x, \bm{θ})}exp(-\frac{1}{RT}ΔG(x, y, \bm{θ})) p(y∣x,θ)=Z(x,θ)1​exp(−RT1​ΔG(x,y,θ))
其中, RRR 是气体常数, TTT 是绝对温度, Z(x,θ)Z(x, \bm{θ})Z(x,θ) 为分段函数。
p(y∣x,θ)p(y|x, \bm{θ})p(y∣x,θ) 为凸函数,可以基于梯度优化概率对数 LS(θ)=∑(x,yx)∈Slogp(yx∣x,θ)L_{\mathcal{S}}(\bm{θ})=\sum_{(x, y_x) ∈ \mathcal{S}}logp(y_x|x, \bm{θ})LS​(θ)=∑(x,yx​)∈S​logp(yx​∣x,θ) ,来估计参数 θ\bm{θ}θ 。
因为数据集中的 exe_xex​ 可能存在噪声,作者在概率中加入了精度为 τττ 的高斯分布,即
p(y∣x,θ)∝LS(θ)−τ∑(x,yx,ex)∈T(ex−c(x,yx)Tθ)2p(y|x, \bm{θ}) \propto L_{\mathcal{S}}(\bm{θ}) - τ\sum_{(x, y_x, e_x) ∈ \mathcal{T}}(e_x - c(x, y_x)^T\bm{θ})^2 p(y∣x,θ)∝LS​(θ)−τ(x,yx​,ex​)∈T∑​(ex​−c(x,yx​)Tθ)2
论文中原式为 LS(θ)+τ∑(x,yx,ex)∈T(ex−c(x,yx)Tθ)2L_{\mathcal{S}}(\bm{θ}) + τ\sum_{(x, y_x, e_x) ∈ \mathcal{T}}(e_x - c(x, y_x)^T\bm{θ})^2LS​(θ)+τ∑(x,yx​,ex​)∈T​(ex​−c(x,yx​)Tθ)2 ,但高斯分布的指数项有 −12-\frac{1}{2}−21​ ,所以我认为应把 +++ 变为 −-− 。直观上来看,当误差越小时概率越大。如理解有误请大佬指正。
这种方法存在两个问题

  1. 算力要求过高
  2. 该模型不能处理缺失(特征不完全)的数据集。

Method

非最优的结构 yyy 的自由能大于MFE结构 yxy_xyx​ 的自由能,约束表示为
ΔG(x,yx,θ)<ΔG(x,y,θ)ΔG(x, y_x, \bm{θ}) < ΔG(x, y, \bm{θ}) ΔG(x,yx​,θ)<ΔG(x,y,θ)
其中, (x,yx)∈S(x, y_x) ∈ \mathcal{S}(x,yx​)∈S , y∈Yx∖{yx}y ∈ Y_x \setminus \{y_x\}y∈Yx​∖{yx​} , YxY_xYx​ 是序列 xxx 的所有可能的二级结构集合。
因为数据集中的 exe_xex​ 可能存在噪声,作者引入了松弛变量 δx,y≥0δ_{x, y} ≥ 0δx,y​≥0 。放松后的约束表示为
ΔG(x,yx,θ)<ΔG(x,y,θ)+δx,y(c(x,yx)−c(x,y))Tθ−δx,y<0MSθ−δ<0ΔG(x, y_x, \bm{θ}) < ΔG(x, y, \bm{θ}) + δ_{x, y} \\ (c(x, y_x) - c(x, y))^T\bm{θ} - δ_{x, y} < 0 \\ M_{\mathcal{S}}\bm{θ} - \bm{δ} < 0 ΔG(x,yx​,θ)<ΔG(x,y,θ)+δx,y​(c(x,yx​)−c(x,y))Tθ−δx,y​<0MS​θ−δ<0
其中, MSM_{\mathcal{S}}MS​ 为 (c(x,yx)−c(x,y))T(c(x, y_x) - c(x, y))^T(c(x,yx​)−c(x,y))T , δ\bm{δ}δ 为 δx,yδ_{x, y}δx,y​ 向量。
优化问题表示为
min∥δ∥22s.t.MSθ−δ<0δ≥0\begin{aligned} &min \quad \|\bm{δ}\|_2^2 \\ & s.t. \quad \begin{array} {l}{M_{\mathcal{S}}\bm{θ} - \bm{δ} < 0} \\ {\bm{δ} ≥ 0} \end{array} \end{aligned} ​min∥δ∥22​s.t.MS​θ−δ<0δ≥0​​

作者又加入了数据集 T\mathcal{T}T ,约束表示变为
ΔG(x,yx,θ)−ξx=c(x,yx)Tθ−ξx=exMTθ−ξ=eΔG(x, y_x, \bm{θ}) - \xi_x = c(x, y_x)^T\bm{θ} - \xi_x = e_x \\ M_{\mathcal{T}}\bm{θ} - \bm{\xi} = \bm{e} ΔG(x,yx​,θ)−ξx​=c(x,yx​)Tθ−ξx​=ex​MT​θ−ξ=e
其中, ξx\xi_xξx​ 为预测 exe_xex​ 的误差, MTM_{\mathcal{T}}MT​ 为 c(x,yx)Tc(x, y_x)^Tc(x,yx​)T ,ξ\bm{\xi}ξ 为 ξx\xi_xξx​ 向量, eee 为 exe_xex​ 向量。
优化问题改变为
min(1−λ)1∣S∣∥mTδ∥22+λ1∣T∣∥ξ∥22s.t.MSθ−δ<0MTθ−ξ=eδ≥0\begin{aligned} &min \quad (1-λ)\frac{1}{|\mathcal{S}|}\| \bm{m}^T\bm{δ} \|_2^2 + λ\frac{1}{|\mathcal{T}|}\| \bm{\xi} \|_2^2 \\ & s.t. \quad \begin{array} {l}{M_{\mathcal{S}}\bm{θ} - \bm{δ} < 0} \\ {M_{\mathcal{T}}\bm{θ} - \bm{\xi} = \bm{e}} \\ {\bm{δ} ≥ 0} \end{array} \end{aligned} ​min(1−λ)∣S∣1​∥mTδ∥22​+λ∣T∣1​∥ξ∥22​s.t.MS​θ−δ<0MT​θ−ξ=eδ≥0​​
其中, ∣S∣|\mathcal{S}|∣S∣ 代表集合 S\mathcal{S}S 的样本数, mxm_xmx​ 为用于计算序列 xxx 的 MSM_{\mathcal{S}}MS​ 的约束个数的倒数。本人理解的约束个数为特征数量,即将 δ\bm{δ}δ 进行标准化,防止因特征数过多导致的 δ\bm{δ}δ 过大。 m\bm{m}m 为 mxm_xmx​ 的向量,超参数 0≤λ≤10≤λ≤10≤λ≤1 控制 S\mathcal{S}S 和 T\mathcal{T}T 的相对重要性。
如果某个特征很少甚至没有出现在数据集中,那么该特征所对应的能量参数 θθθ 就会失去限制。所以作者加入限制,即预测出的能量参数 θθθ 不能超出Turner99能量参数 θ0θ_0θ0​ 的一定范围,表示为
θ0−B≤θ≤θ0+Bθ_0 - B ≤ θ ≤ θ_0 + B θ0​−B≤θ≤θ0​+B
其中, BBB 为超参数。

上述优化问题的限制数量会随着输入尺寸指数性增加,因为集合 YxY_xYx​ 的尺寸随着数据集 S\mathcal{S}S 的尺寸指数性增加。所以,作者采取迭代的方法,将 MSθ−δ<0M_{\mathcal{S}}\bm{θ} - \bm{δ} < 0MS​θ−δ<0 改为
(c(x,yx)−c(x,y′))Tθ(i)−δx,y′(i)<0(c(x, y_x) - c(x, y'))^Tθ^{(i)} - δ_{x, y'}^{(i)} < 0 (c(x,yx​)−c(x,y′))Tθ(i)−δx,y′(i)​<0
其中, y′y'y′ 为使用上一轮迭代参数 θ(i−1)θ^{(i-1)}θ(i−1) 预测的结构。预测方法用的是SimFold和Mfold。

Future Work

当特征覆盖率较小时,ML模型更加稳健。所以作者计划将CG模型和ML模型相结合,用ML估计少量不可靠参数,用CG估计剩余参数。作者还将探讨如何引入替代特征,例如同轴碱基对堆叠和多环未配对片段中的不对称性,来改进 RNA 二级结构预测。

Constraint generation(CG) approach相关推荐

  1. JuMP: 用Julia进行优化建模及求解- 覃含章的文章 - 知乎 https://zhuanlan.zhihu.com/p/40807662

    JuMP: 用Julia进行优化建模及求解 - 覃含章的文章 - 知乎 https://zhuanlan.zhihu.com/p/40807662 0. 为什么要用Julia做优化? 本文是我在Jul ...

  2. 中科院计算机所博士何飞,专家人才库数据----中国科学院计算技术研究所

    国际会议 1.[KDD] Peifeng Yin, Ping Luo, Wang-Chien Lee, Min Wang. "Silence is also evidence: Interp ...

  3. 考虑风电经济调度的储能运行优化

    在"双碳"目标下,低碳排放的风力发电广泛接入电力系统,装机比例逐年显著提升,但风电具有的反调峰性加剧了电力系统的调峰压力,也不得不产生弃风,储能的存在可有效解决风电的弃风问题,实现 ...

  4. 鲁棒优化(4):通过yalmip中的kkt命令实现CCG两阶段鲁棒优化

    两阶段鲁棒优化的原理推导部分,已经较多的文章进行分析.目前大部分同学面临的问题是,子问题模型中存在的双线性项该如何处理? 目前,主流方式是,采用对偶定理或KKT条件,将第二阶段的双层问题变成单层问题. ...

  5. (顶刊复现)配电网两阶段鲁棒故障恢复(matlab实现)

    参考文献: X. Chen, W. Wu and B. Zhang, "Robust Restoration Method for Active Distribution Networks, ...

  6. 经济调度问题的建模及求解—考虑直流潮流(DC-OPF)与切负荷

    潮流计算是电力系统分析的基础,其计算方式可粗略分为直流潮流和交流潮流.在前期推文 基于Distflow的最优潮流模型(OPF)–模型推导篇 发出后,有小伙伴在后台留言问我要潮流计算的代码,本期推文将给 ...

  7. 三维点云的深度学习研究综述

    作者丨aaa 来源丨https://zhuanlan.zhihu.com/p/455210291 编辑丨3D视觉工坊 摘要 点云学习由于在计算机视觉.自动驾驶.机器人等领域的广泛应用,近年来受到越来越 ...

  8. TPAMI三维点云深度学习技术综述

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨单博 来源丨 笑傲算法江湖 点击进入->3D视觉工坊学习交流群 国防科大 IEEE TPA ...

  9. Visual Geometry Group 资源(vgg)

    1.Phog 代码:http://www.robots.ox.ac.uk/~vgg/research/caltech/phog.html 其它链接:http://www.robots.ox.ac.uk ...

最新文章

  1. 3ds Max V-Ray5 完整指南大师班视频教程
  2. vs编译protobuf 3.0.0
  3. 数学建模 时间序列模型
  4. CCF201803-1 跳一跳(序列处理)
  5. linux dump用法,Linux命令之tcpdump命令用法介绍
  6. 【职场】从算法工程师到主管的转变,需要改变的是什么
  7. 不要再次进行阅读的计算机论文与理由(持续更新中)
  8. 电子音乐包括电声乐器和计算机音乐,浅谈电子音乐制作的发展方向
  9. 用VC++6.0 Sockets API实现聊天室程序
  10. C++设计模式-Factory工厂模式
  11. word 职称计算机考试大纲,全国职称计算机考试Word2003大纲.doc
  12. pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能
  13. kitkat(KRT16S)刷入实机nexus4
  14. 西门子变频器G120选型、快速调试参数
  15. matlab各向异性高斯核方向导数滤波器,加权组合多尺度各向异性高斯核对象轮廓检测...
  16. 哦,梦想--我的语录
  17. sel在c语言,iOS 你所不知道的SEL
  18. 权力的游戏中文字幕词云图
  19. matlab生成的数值为inf,计算值时为Nan / inf
  20. 基于单片机的贪吃蛇游戏

热门文章

  1. Tenth season second episode,Ross is fine about Rachel and Joey?Chandler and Monica e going to adopt?
  2. “'react-scripts' 不是内部或外部命令,也不是可运行的程序或批处理文件。”解决方法
  3. TTL与CMOS悬空接法
  4. springboot监听器
  5. input输入框只能输入整数
  6. iOS CALayer专用图层理解与使用方法一(CAShapeLayer、CATextLayer、CATransformLayer)
  7. Linux技巧--删除某列
  8. 响应式编程之网络新约:RSocket
  9. python中datetime模块是以什么时间为基础_Python基础之datetime模块
  10. 判断当前系统是 安卓还是ios