Baum – Welch algoritması - Baum–Welch algorithm - Wikipedia

İçinde elektrik Mühendisliği, bilgisayar Bilimi, istatistiksel hesaplama ve biyoinformatik, Baum – Welch algoritması özel bir durumdur EM algoritması bilinmeyen parametrelerini bulmak için kullanılır gizli Markov modeli (HMM). Kullanır ileri-geri algoritması beklenti adımına ilişkin istatistikleri hesaplamak için.

Tarih

Baum – Welch algoritması, mucitlerinin adını almıştır Leonard E. Baum ve Lloyd R. Welch. Algoritma ve Gizli Markov modelleri ilk olarak Baum ve meslektaşları tarafından Savunma Analizleri Enstitüsü 1960'ların sonlarında ve 1970'lerin başında.[1] HMM'lerin ilk önemli uygulamalarından biri, konuşma işleme.[2] 1980'lerde, HMM'ler biyolojik sistemlerin ve bilginin analizinde ve özellikle de genetik bilgi.[3] O zamandan beri genomik dizilerin olasılıksal modellemesinde önemli bir araç haline geldiler.[4]

Açıklama

Bir gizli Markov modeli bir koleksiyonun ortak olasılığını açıklar "gizli "ve gözlenen ayrık rastgele değişkenler. Bu, ben- verilen gizli değişken (ben - 1) -nci gizli değişken önceki gizli değişkenlerden bağımsızdır ve mevcut gözlem değişkenleri yalnızca mevcut gizli duruma bağlıdır.

Baum – Welch algoritması, aşağıdakileri bulmak için iyi bilinen EM algoritmasını kullanır. maksimum olasılık bir dizi gözlemlenen özellik vektörü verildiğinde gizli bir Markov modelinin parametrelerinin tahmini.

İzin Vermek ayrık bir gizli rastgele değişken olmak olası değerler (yani var olduğunu varsayıyoruz toplamda devletler). Varsayıyoruz zamandan bağımsızdır , zamandan bağımsız stokastik geçiş matrisinin tanımına götürür

İlk durum dağılımı (yani ne zaman ) tarafından verilir

Gözlem değişkenleri birini alabilir olası değerler. Ayrıca "gizli" durumda verilen gözlemin zamandan bağımsız olduğunu varsayıyoruz. Belirli bir gözlemin olasılığı zamanda devlet için tarafından verilir

Tüm olası değerleri hesaba katarak ve , elde ederiz matris nerede tüm olası durumlara aittir ve tüm gözlemlere aittir.

Bir gözlem dizisi şu şekilde verilir: .

Böylece gizli bir Markov zincirini şu şekilde tanımlayabiliriz: . Baum – Welch algoritması, aşağıdakiler için yerel bir maksimum bulur: (yani HMM parametreleri gözlem olasılığını maksimize eden).[5]

Algoritma

Ayarlamak rastgele başlangıç ​​koşullarıyla. Varsa, parametreler hakkında önceki bilgiler kullanılarak da ayarlanabilirler; bu, algoritmayı hızlandırabilir ve ayrıca onu istenen yerel maksimuma yönlendirebilir.

İleri prosedür

İzin Vermek , gözlemleri görme olasılığı ve eyalette olmak zamanda . Bu yinelemeli olarak bulunur:

Bu seri üstel olarak sıfıra yakınsadığından, algoritma daha uzun diziler için sayısal olarak yetersiz kalacaktır.[6] Ancak, biraz değiştirilmiş bir algoritmada ölçeklendirilerek bu önlenebilir. ileride ve aşağıdaki geriye dönük prosedürde.

Geriye dönük prosedür

İzin Vermek bu biten kısmi dizinin olasılığıdır verilen başlangıç ​​durumu zamanda . Hesaplıyoruz gibi,

Güncelleme

Bayes'in teoremine göre artık geçici değişkenleri hesaplayabiliriz:

eyalette olma olasılığı olan zamanda gözlemlenen sıra verildiğinde ve parametreler

eyalette olma olasılığı olan ve bazen ve sırasıyla gözlenen sıra verilir ve parametreler .

Paydaları ve aynıdır ; gözlem yapma olasılığını temsil ederler parametreler verilen .

Gizli Markov modelinin parametreleri şimdi güncellenebilir:

eyalette harcanan beklenen sıklık hangisidir zamanda .

durumdan beklenen geçiş sayısı ben belirtmek j durumdan beklenen toplam geçiş sayısı ile karşılaştırıldığında ben. Açıklığa kavuşturmak için, durumdan uzaklaşan geçişlerin sayısı ben farklı bir duruma geçiş anlamına gelmez jama kendisi dahil herhangi bir eyalete. Bu, durum sayısına eşittir ben sırayla gözlenir t = 1 ila t = T − 1.

nerede

bir gösterge işlevidir ve çıktı gözlemlerinin beklenen sayıya eşit olduğu durumdayken durumdaki toplam beklenen toplam sayının üzerinde .

Bu adımlar artık istenen yakınsama seviyesine kadar yinelemeli olarak tekrarlanmaktadır.

Not: Belirli bir veri setine fazla uymak mümkündür. Yani, . Algoritma ayrıca değil küresel bir maksimum garanti.

Çoklu diziler

Şimdiye kadar açıklanan algoritma, tek bir gözlemlenen diziyi varsayar . Bununla birlikte, birçok durumda, gözlemlenen birkaç sekans vardır: . Bu durumda, gözlemlenen dizilerin tümünden gelen bilgiler, parametrelerin güncellenmesinde kullanılmalıdır. , , ve . Hesapladığınızı varsayarak ve her sıra için , parametreler artık güncellenebilir:

nerede

bir gösterge fonksiyonudur

Misal

Her gün öğle saatlerinde yumurtalarını topladığımız bir tavuğumuz olduğunu varsayalım. Şimdi tavuğun toplama için yumurta bırakıp bırakmadığı, gizli olan bazı bilinmeyen faktörlere bağlıdır. Bununla birlikte (basitleştirmek için) tavuğun yumurta bırakıp bırakmadığını belirleyen yalnızca iki durum olduğunu varsayabiliriz. Şimdi ilk başlangıç ​​noktasındaki durumu bilmiyoruz, iki durum arasındaki geçiş olasılıklarını bilmiyoruz ve tavuğun belirli bir duruma sahip bir yumurta bırakma olasılığını bilmiyoruz.[7][8] Başlamak için önce geçiş ve emisyon matrislerini tahmin ediyoruz.

Geçiş
Devlet 1Durum 2
Devlet 10.50.5
Durum 20.30.7
Emisyon
Yumurta yokYumurtalar
Devlet 10.30.7
Durum 20.80.2
İlk
Devlet 10.2
Durum 20.8

Daha sonra bir dizi gözlem alıyoruz (E = yumurta, N = yumurta yok): N, N, N, N, N, E, E, N, N, N

Bu bize günler arasında bir dizi gözlemlenen geçiş sağlar: NN, NN, NN, NN, NE, EE, EN, NN, NN

Bir sonraki adım, yeni bir geçiş matrisi tahmin etmektir. Örneğin, NN dizisinin olasılığı ve şu durum sonra aşağıdaki tarafından verilir,

Gözlemlenen sıraSıra ve durum olasılığı sonra Bu diziyi gözlemlemenin en yüksek olasılığı
NN0.024 = 0.2 * 0.3 * 0.5 * 0.80.3584,
NN0.024 = 0.2 * 0.3 * 0.5 * 0.80.3584,
NN0.024 = 0.2 * 0.3 * 0.5 * 0.80.3584,
NN0.024 = 0.2 * 0.3 * 0.5 * 0.80.3584,
NE0.006 = 0.2 * 0.3 * 0.5 * 0.20.1344,
EE0.014 = 0.2 * 0.7 * 0.5 * 0.20.0490,
TR0.056 = 0.2 * 0.7 * 0.5 * 0.80.0896,
NN0.024 = 0.2 * 0.3 * 0.5 * 0.80.3584,
NN0.024 = 0.2 * 0.3 * 0.5 * 0.80.3584,
Toplam0.222.4234

Böylece yeni tahmin -e geçiş şimdi (aşağıdaki tablolarda "Sözde olasılıklar" olarak anılacaktır). Daha sonra hesaplıyoruz -e , -e ve -e geçiş olasılıkları ve normalize ederek 1'e eklenirler. Bu bize güncellenmiş geçiş matrisini verir:

Eski Geçiş Matrisi
Devlet 1Durum 2
Devlet 10.50.5
Durum 20.30.7
Yeni Geçiş Matrisi (Sözde Olasılıklar)
Devlet 1Durum 2
Devlet 10.05980.0908
Durum 20.21790.9705
Yeni Geçiş Matrisi (Normalleştirmeden Sonra)
Devlet 1Durum 2
Devlet 10.39730.6027
Durum 20.18330.8167

Sonra, yeni bir emisyon matrisi tahmin etmek istiyoruz,

Gözlemlenen SıraBu diziyi gözlemlemenin en yüksek olasılığı
E'nin geldiği varsayılırsa
Bu diziyi gözlemlemenin en yüksek olasılığı
NE0.1344,0.1344,
EE0.0490,0.0490,
TR0.0560,0.0896,
Toplam0.23940.2730

E için yeni tahmin emisyon şimdi .

Bu, ilgili gözlemlenen diziler için olasılıkları toplayarak yukarıda algoritmada açıklandığı gibi emisyon matrisini hesaplamamıza izin verir. Daha sonra N'nin ve eğer N ve E geldiyse ve normalleştirin.

Eski Emisyon Matrisi
Yumurta yokYumurtalar
Devlet 10.30.7
Durum 20.80.2
Yeni Emisyon Matrisi (Tahminler)
Yumurta yokYumurtalar
Devlet 10.04040.8769
Durum 21.00000.7385
Yeni Emisyon Matrisi (Normalleştirmeden Sonra)
Yumurta yokYumurtalar
Devlet 10.04410.9559
Durum 20.57520.4248

İlk olasılıkları tahmin etmek için tüm dizilerin gizli durumla başladığını varsayıyoruz ve en yüksek olasılığı hesaplayın ve ardından . Daha sonra, güncellenmiş bir başlangıç ​​vektörü vermek için normalize ediyoruz.

Son olarak, ortaya çıkan olasılıklar tatmin edici bir şekilde birleşene kadar bu adımları tekrar ederiz.

Başvurular

Konuşma tanıma

Gizli Markov Modelleri ilk olarak konuşma tanımaya uygulandı James K. Baker 1975'te.[9] Sürekli konuşma tanıma, bir HMM tarafından modellenen aşağıdaki adımlarla gerçekleşir. Özellik analizi ilk olarak konuşma sinyalinin zamansal ve / veya spektral özellikleri üzerinde yapılır. Bu bir gözlem vektörü oluşturur. Özellik daha sonra konuşma tanıma birimlerinin tüm dizileriyle karşılaştırılır. Bu birimler olabilir sesbirimler, heceler veya tam sözcük birimleri. Araştırılan yolları sınırlamak için bir sözlük kod çözme sistemi uygulanır, bu nedenle yalnızca sistemin sözlüğündeki (kelime sözlüğü) kelimeler araştırılır. Sözlük kod çözme işlemine benzer şekilde, sistem yolu dilbilgisi ve sözdizimi kuralları tarafından daha da sınırlandırılmıştır. Son olarak, anlamsal analiz uygulanır ve sistem tanınan ifadeyi çıkarır. Birçok HMM uygulamasının konuşma tanıma ile ilgili bir sınırlaması, mevcut durumun yalnızca önceki zaman adımındaki duruma bağlı olmasıdır; bu, bağımlılıklar genellikle süre içinde birkaç zaman adımı olduğundan konuşma için gerçekçi değildir.[10] Baum – Welch algoritması, konuşma sentezi alanında kullanılan HMM'lerin çözümünde de kapsamlı uygulamalara sahiptir.[11]

Kriptanaliz

Baum-Welch algoritması genellikle gizli veya gürültülü bilgilerin deşifre edilmesinde HMM'lerin parametrelerini tahmin etmek için kullanılır ve sonuç olarak genellikle kriptanaliz. Veri güvenliğinde bir gözlemci, aktarımın tüm parametrelerini bilmeden bir veri akışından bilgi çıkarmak ister. Bu, tersine mühendisliği içerebilir. kanal kodlayıcı.[12] HMM'ler ve bunun bir sonucu olarak Baum-Welch algoritması, şifreli VoIP aramalarında sözlü cümleleri tanımlamak için de kullanılmıştır.[13] Ek olarak, HMM kriptanalizi, önbellek zamanlama verilerinin otomatik olarak araştırılması için önemli bir araçtır. Kritik algoritma durumunun, örneğin anahtar değerlerinin otomatik olarak keşfedilmesini sağlar.[14]

Biyoinformatikteki uygulamalar

Genleri bulmak

Prokaryotik

PARLAK (Gene Locator and Interpolated Markov ModelER) yazılımı, gen bulma kodlama bölgelerinin tanımlanması için kullanılan program prokaryotik DNA.[15][16] GLIMMER, Interpolated Markov Modellerini (IMM'ler) kullanır. kodlama bölgeleri ve onları kodlamayan DNA. En son sürümün (GLIMMER3) arttığı görüldü özgüllük ve çeviri başlatma sitelerini tahmin etme açısından öncekilerle karşılaştırıldığında doğruluk, prokaryotlarda doğrulanmış genlere kıyasla 3 'konumlarının bulunmasında ortalama% 99 doğruluk sergiliyor.[17]

Ökaryotik

GENSCAN web sunucusu, analiz yapabilen bir gen bulucu ökaryotik bir milyona kadar diziler baz çiftleri (1 Mbp) uzunluğunda.[18] GENSCAN, DNA kodlama bölgelerinin genel homojen olmayan, üç periyodik, beşinci sıra Markov modelini kullanır. Ek olarak, bu model, farklı şekillerde meydana gelen gen yoğunluğu ve yapıdaki (intron uzunlukları gibi) farklılıkları da hesaba katar. izokorlar. Çoğu entegre gen bulma yazılımı (GENSCAN'lerin piyasaya sürüldüğü sırada) girdi dizilerinin tam olarak bir gen içerdiğini varsayarken, GENSCAN kısmi, tam veya çoklu genlerin (veya hatta hiç genin bulunmadığı) genel bir durumu çözer.[19] GENSCAN'ın ekson konumunu% 90 doğrulukla ve açıklamalı bir veritabanına kıyasla% 80 özgüllükle tam olarak tahmin ettiği gösterilmiştir.[20]

Kopya numarası varyasyon tespiti

Kopya numarası varyasyonları (CNV'ler), insanlarda bol miktarda genom yapısı varyasyonudur. Kromozomal bölgeleri yedi farklı duruma atamak için ayrı değerli iki değişkenli bir HMM (dbHMM) kullanıldı: etkilenmemiş bölgeler, silmeler, kopyalar ve dört geçiş durumu. Bu modeli Baum-Welch kullanarak çözmek, CNV kesme noktasının konumunu yaklaşık 300 bp'ye tahmin etme yeteneğini gösterdi. mikro dizi deneyleri.[21] Bu çözünürlük büyüklüğü, farklı CNV'ler arasında daha kesin korelasyon sağlar ve popülasyonlar arasında daha önce mümkün olduğundan, CNV popülasyon frekanslarının çalışılmasına izin verir. Aynı zamanda bir belirli bir CNV için doğrudan kalıtım modeli.

Uygulamalar

Ayrıca bakınız

Referanslar

  1. ^ Rabiner, Lawrence. "Birinci El: Gizli Markov Modeli". IEEE Küresel Tarih Ağı. Alındı 2 Ekim 2013.
  2. ^ Jelinek, Frederick; Bahl, Lalit R .; Mercer, Robert L. (Mayıs 1975). "Sürekli konuşmanın tanınması için dilsel istatistiksel kod çözücünün tasarımı". Bilgi Teorisi Üzerine IEEE İşlemleri. 21 (3): 250–6. doi:10.1109 / tit.1975.1055384.
  3. ^ Bishop, Martin J .; Thompson, Elizabeth A. (20 Temmuz 1986). "DNA dizilerinin maksimum olasılık hizalaması". Moleküler Biyoloji Dergisi. 190 (2): 159–65. doi:10.1016/0022-2836(86)90289-5. PMID  3641921.
  4. ^ Durbin Richard (23 Nisan 1998). Biyolojik Dizi Analizi: Proteinlerin ve Nükleik Asitlerin Olasılıklı Modelleri. Cambridge University Press. ISBN  978-0-521-62041-3.
  5. ^ Bilmes Jeff A. (1998). EM Algoritmasının Nazik Öğreticisi ve Gauss Karışımı ve Gizli Markov Modelleri için Parametre Tahminine Uygulanması. Berkeley, CA: Uluslararası Bilgisayar Bilimleri Enstitüsü. s. 7–13.
  6. ^ Rabiner, Lawrence (Şubat 1989). "Gizli Markov Modelleri ve Konuşma tanımada Seçilmiş Uygulamalar Üzerine Bir Eğitim" (PDF). IEEE'nin tutanakları. Alındı 29 Kasım 2019.
  7. ^ "Baum-Welch ve HMM uygulamaları" (PDF). Johns Hopkins Bloomberg Halk Sağlığı Okulu. Alındı 11 Ekim 2019.
  8. ^ Frazzoli, Emilio. "Gizli Markov Modellerine Giriş: Baum-Welch Algoritması" (PDF). Havacılık ve Uzay Bilimleri, Massachusetts Teknoloji Enstitüsü. Alındı 2 Ekim 2013.
  9. ^ Baker, James K. (1975). "DRAGON sistemi — Bir genel bakış". Akustik, Konuşma ve Sinyal İşleme ile ilgili IEEE İşlemleri. 23: 24–29. doi:10.1109 / TASSP.1975.1162650.
  10. ^ Rabiner, Lawrence (Şubat 1989). "Gizli Markov Modelleri ve Konuşma Tanıma Alanında Seçilmiş Uygulamalar Üzerine Bir Eğitim". IEEE'nin tutanakları. 77 (2): 257–286. CiteSeerX  10.1.1.381.3454. doi:10.1109/5.18626.
  11. ^ Tokuda, Keiichi; Yoshimura, Takayoshi; Masuko, Takashi; Kobayashi, Takao; Kitamura, Tadashi (2000). "HMM Tabanlı Konuşma Sentezi için Konuşma Parametresi Oluşturma Algoritmaları". IEEE Uluslararası Akustik, Konuşma ve Sinyal İşleme Konferansı. 3.
  12. ^ Dingel, Janis; Hagenauer, Joachim (24 Haziran 2007). "Gürültülü Gözlemlerden Evrişimli Kodlayıcının Parametre Tahmini". IEEE Uluslararası Bilgi Teorisi Sempozyumu.
  13. ^ Wright, Charles; Ballard, Lucas; Coull, Scott; Monrose, Fabian; Masson Gerald (2008). "Mümkünse beni tespit edin: Şifrelenmiş VoIP görüşmelerinde sözlü ifadeleri ortaya çıkarma". IEEE Uluslararası Güvenlik ve Gizlilik Sempozyumu.
  14. ^ Brumley, Bob; Hakala, Risto (2009). Önbellek Zamanlama Şablonu Saldırıları. Kriptografideki Gelişmeler. Bilgisayar Bilimlerinde Ders Notları. 5912. s. 667–684. doi:10.1007/978-3-642-10366-7_39. ISBN  978-3-642-10365-0.
  15. ^ Salzberg, Steven; Delcher, Arthur L .; Kasif, Simon; Beyaz, Owen (1998). "Enterpolasyonlu Markov Modelleri kullanarak mikrobiyal gen tanımlama". Nükleik Asit Araştırması. 26 (2): 544–548. doi:10.1093 / nar / 26.2.544. PMC  147303. PMID  9421513.
  16. ^ "Işıltı: Mikrobiyal Gen Bulma Sistemi". Johns Hopkins Üniversitesi - Hesaplamalı Biyoloji Merkezi.
  17. ^ Delcher, Arthur; Bratke, Kirsten A .; Powers, Edwin C .; Salzberg Steven L. (2007). "Glimmer ile bakteriyel genlerin ve endosymbiont DNA'nın belirlenmesi". Biyoinformatik. 23 (6): 673–679. doi:10.1093 / biyoinformatik / btm009. PMC  2387122. PMID  17237039.
  18. ^ Burge, Christopher. "MIT'de GENSCAN Web Sunucusu". Arşivlenen orijinal 6 Eylül 2013 tarihinde. Alındı 2 Ekim 2013.
  19. ^ Burge, Chris; Karlin, Samuel (1997). "İnsan Genomik DNA'sında Tam Gen Yapılarının Tahmini". Moleküler Biyoloji Dergisi. 268 (1): 78–94. CiteSeerX  10.1.1.115.3107. doi:10.1006 / jmbi.1997.0951. PMID  9149143.
  20. ^ Burge, Christopher; Karlin, Samuel (1998). "Genomik DNA'daki Genleri Bulmak". Yapısal Biyolojide Güncel Görüş. 8 (3): 346–354. doi:10.1016 / s0959-440x (98) 80069-9. PMID  9666331.
  21. ^ Korbel, Ocak; Urban, Alexander; Grubert, Fabien; Du, Jiang; Royce, Thomas; Starr, Peter; Zhong, Guoneng; Emanuel, Beverly; Weissman, Sherman; Snyder, Michael; Gerstein, Marg (12 Haziran 2007). "İnsan genomundaki kopya sayısı varyasyonlarıyla ilişkili kesme noktalarının sistematik tahmini ve doğrulanması". Amerika Birleşik Devletleri Ulusal Bilimler Akademisi Bildirileri. 104 (24): 10110–5. Bibcode:2007PNAS..10410110K. doi:10.1073 / pnas.0703834104. PMC  1891248. PMID  17551006.

Dış bağlantılar