Doğrusal regresyon ve iyileşme yöntemleri

Doğrusal regresyon ve iyileşme yöntemleri
Kaynak: xkcd

Doğrusal regresyon, veri analizi ile ilgili birçok alan için temel algoritmalardan biridir. Bunun nedeni açıktır. Bu, yüzlerce olmasa da onlarca yıldır yaygın kullanımına katkıda bulunan çok basit ve anlaşılır bir algoritmadır. Buradaki fikir, bir değişkenin bir dizi diğer değişkene doğrusal bağımlılığını varsaymamız ve sonra bu bağımlılığı yeniden sağlamaya çalışmamızdır.

Ancak bu makale, pratik sorunları çözmek için doğrusal regresyonun kullanılmasıyla ilgili değildir. Burada, bir makine öğrenimi modülü yazarken karşılaştığımız, kurtarılması için dağıtılmış algoritmaların uygulanmasının ilginç özelliklerini ele alacağız. apache tutuşturmak. Biraz temel matematik, makine öğrenimi ve dağıtılmış bilgi işlem, verileriniz binlerce düğüme dağıtılmış olsa bile doğrusal regresyonun nasıl gerçekleştirileceğini anlamanıza yardımcı olabilir.

Ne bahsediyoruz?

Doğrusal bağımlılığı yeniden sağlama göreviyle karşı karşıyayız. Giriş verileri olarak, her biri bağımlı değişkenin belirli bir değeriyle ilişkili olan, sözde bağımsız değişkenlerden oluşan bir dizi vektör verilir. Bu veriler iki matris biçiminde temsil edilebilir:

Doğrusal regresyon ve iyileşme yöntemleri

Şimdi, bağımlılık varsayıldığından ve üstelik doğrusal olduğundan, varsayımımızı matrislerin çarpımı biçiminde yazacağız (kaydı basitleştirmek için, burada ve aşağıda denklemin serbest teriminin arkasında gizli olduğu varsayılmaktadır). Doğrusal regresyon ve iyileşme yöntemlerive matrisin son sütunu Doğrusal regresyon ve iyileşme yöntemleri birimleri içerir):

Doğrusal regresyon ve iyileşme yöntemleri

Bir doğrusal denklem sistemine çok benziyor, değil mi? Öyle görünüyor, ancak büyük olasılıkla böyle bir denklem sisteminin çözümü olmayacak. Bunun nedeni neredeyse her gerçek veride bulunan gürültüdür. Diğer bir neden, orijinal değişkenlere doğrusal olmayan şekilde bağlı olan ek değişkenlerin eklenmesiyle çözülebilecek doğrusal bağımlılığın olmaması olabilir. Aşağıdaki örneği düşünün:
Doğrusal regresyon ve iyileşme yöntemleri
Kaynak: Vikipedi

Bu, bir değişkenin (eksen boyunca) ilişkisini gösteren basit bir doğrusal regresyon örneğidir. Doğrusal regresyon ve iyileşme yöntemleri) başka bir değişkenden (eksen boyunca) Doğrusal regresyon ve iyileşme yöntemleri). Bu örneğe karşılık gelen doğrusal denklem sisteminin bir çözüme sahip olması için tüm noktaların tam olarak aynı düz çizgi üzerinde bulunması gerekir. Ama bu doğru değil. Ancak gürültü nedeniyle (veya doğrusal ilişki varsayımının hatalı olması nedeniyle) tam olarak aynı düz çizgi üzerinde uzanmıyorlar. Bu nedenle, gerçek verilerden doğrusal bir ilişki elde etmek için genellikle bir varsayım daha yapmak gerekir: giriş verileri gürültü içerir ve bu gürültünün normal dağılım. Diğer gürültü dağılımı türleri hakkında varsayımlarda bulunabilirsiniz, ancak vakaların büyük çoğunluğunda dikkate alınan normal dağılımdır ve daha sonra tartışılacaktır.

Maksimum olabilirlik yöntemi

Böylece rastgele normal dağılmış gürültünün varlığını varsaydık. Böyle bir durumda ne yapmalı? Bu durum için matematikte yaygın olarak kullanılmaktadır ve kullanılmaktadır. maksimum olabilirlik yöntemi. Kısacası özü seçimde yatıyor olasılık fonksiyonları ve daha sonraki maksimizasyon.

Normal gürültülü verilerden doğrusal bir ilişki kurmaya geri dönüyoruz. Varsayılan doğrusal ilişkinin matematiksel beklenti olduğuna dikkat edin. Doğrusal regresyon ve iyileşme yöntemleri Mevcut normal dağılım. Aynı zamanda olasılığı Doğrusal regresyon ve iyileşme yöntemleri gözlemlenebilirlerin varlığına bağlı olarak şu veya bu değeri alır Doğrusal regresyon ve iyileşme yöntemleri, şuna benziyor:

Doğrusal regresyon ve iyileşme yöntemleri

Şimdi yerine koyalım Doğrusal regresyon ve iyileşme yöntemleri и Doğrusal regresyon ve iyileşme yöntemleri İhtiyacımız olan değişkenler şunlardır:

Doğrusal regresyon ve iyileşme yöntemleri

Geriye kalan tek şey vektörü bulmak Doğrusal regresyon ve iyileşme yöntemleri, bu olasılığın maksimum olduğu yer. Böyle bir fonksiyonu maksimize etmek için, öncelikle logaritmasını almak uygundur (fonksiyonun logaritması, fonksiyonun kendisiyle aynı noktada maksimuma ulaşacaktır):

Doğrusal regresyon ve iyileşme yöntemleri

Bu da aşağıdaki işlevi en aza indirmeye gelir:

Doğrusal regresyon ve iyileşme yöntemleri

Bu arada buna yöntem denir en küçük kareler. Çoğunlukla yukarıdaki hususların tümü atlanır ve bu yöntem basitçe kullanılır.

QR ayrıştırması

Yukarıdaki fonksiyonun minimumu, bu fonksiyonun gradyanının sıfır olduğu nokta bulunarak bulunabilir. Ve degrade şu şekilde yazılacaktır:

Doğrusal regresyon ve iyileşme yöntemleri

QR ayrıştırması en küçük kareler yönteminde kullanılan minimizasyon problemini çözmeye yönelik bir matris yöntemidir. Bu bağlamda denklemi matris formunda yeniden yazıyoruz:

Doğrusal regresyon ve iyileşme yöntemleri

Böylece matrisi ayrıştırıyoruz Doğrusal regresyon ve iyileşme yöntemleri matrislere Doğrusal regresyon ve iyileşme yöntemleri и Doğrusal regresyon ve iyileşme yöntemleri ve bir dizi dönüşüm gerçekleştirin (QR ayrıştırma algoritmasının kendisi burada ele alınmayacak, yalnızca eldeki göreve ilişkin kullanımı dikkate alınacaktır):

Doğrusal regresyon ve iyileşme yöntemleri

Matris Doğrusal regresyon ve iyileşme yöntemleri diktir. Bu da işten kurtulmamızı sağlar Doğrusal regresyon ve iyileşme yöntemleri:

Doğrusal regresyon ve iyileşme yöntemleri

Ve eğer değiştirirsen Doğrusal regresyon ve iyileşme yöntemleri üzerinde Doğrusal regresyon ve iyileşme yöntemleri, o zaman işe yarayacak Doğrusal regresyon ve iyileşme yöntemleri. Hesaba katıldığında Doğrusal regresyon ve iyileşme yöntemleri bir üst üçgen matristir, şuna benzer:

Doğrusal regresyon ve iyileşme yöntemleri

Bu, ikame yöntemi kullanılarak çözülebilir. Öğe Doğrusal regresyon ve iyileşme yöntemleri olarak bulunur Doğrusal regresyon ve iyileşme yöntemleri, önceki öğe Doğrusal regresyon ve iyileşme yöntemleri olarak bulunur Doğrusal regresyon ve iyileşme yöntemleri ve benzerleri.

Burada, QR ayrıştırmasının kullanımına bağlı olarak ortaya çıkan algoritmanın karmaşıklığının şuna eşit olduğunu belirtmekte fayda var: Doğrusal regresyon ve iyileşme yöntemleri. Üstelik matris çarpım işleminin iyi bir şekilde paralelleştirilmesine rağmen bu algoritmanın etkili bir dağıtılmış versiyonunu yazmak mümkün değildir.

Dereceli alçalma

Bir fonksiyonun minimizasyonu hakkında konuşurken, her zaman (stokastik) gradyan iniş yöntemini hatırlamakta fayda vardır. Bu, bir fonksiyonun bir noktadaki gradyanını yinelemeli olarak hesaplamaya ve daha sonra bunu gradyanın tersi yönde kaydırmaya dayanan basit ve etkili bir minimizasyon yöntemidir. Bu tür her adım, çözümü minimuma yaklaştırır. Degrade hala aynı görünüyor:

Doğrusal regresyon ve iyileşme yöntemleri

Bu yöntem aynı zamanda gradyan operatörünün doğrusal özelliklerinden dolayı iyi bir şekilde paralelleştirilmiş ve dağıtılmıştır. Yukarıdaki formülde toplam işaretinin altında bağımsız terimlerin bulunduğunu unutmayın. Başka bir deyişle, tüm indeksler için gradyanı bağımsız olarak hesaplayabiliriz. Doğrusal regresyon ve iyileşme yöntemleri ilk andan itibaren Doğrusal regresyon ve iyileşme yöntemleri, buna paralel olarak endekslerin gradyanını hesaplayın Doğrusal regresyon ve iyileşme yöntemleri karşı Doğrusal regresyon ve iyileşme yöntemleri. Daha sonra ortaya çıkan degradeleri ekleyin. Eklemenin sonucu, endekslerin gradyanını ilkinden itibaren hemen hesaplamışız gibi aynı olacaktır. Doğrusal regresyon ve iyileşme yöntemleri. Böylece, eğer veriler birkaç veri parçası arasında dağıtılmışsa, gradyan her bir parça için bağımsız olarak hesaplanabilir ve daha sonra bu hesaplamaların sonuçları nihai sonucu elde etmek için toplanabilir:

Doğrusal regresyon ve iyileşme yöntemleri

Uygulama açısından bakıldığında bu paradigmaya uyuyor Harita indirgeme. Gradyan inişinin her adımında, gradyanı hesaplamak için her veri düğümüne bir görev gönderilir, ardından hesaplanan gradyanlar bir araya toplanır ve bunların toplamının sonucu, sonucu iyileştirmek için kullanılır.

Uygulama kolaylığına ve MapReduce paradigmasında yürütülebilme yeteneğine rağmen, degrade inişin dezavantajları da vardır. Özellikle, yakınsama sağlamak için gerekli adımların sayısı, diğer daha özel yöntemlere kıyasla önemli ölçüde daha yüksektir.

LQR

LQR hem doğrusal regresyonu geri yüklemek hem de doğrusal denklem sistemlerini çözmek için uygun olan, sorunu çözmenin başka bir yöntemidir. Ana özelliği matris yöntemlerinin avantajlarını yinelemeli bir yaklaşımla birleştirmesidir. Bu yöntemin uygulamaları her iki kütüphanede de bulunabilir. scipyve MATLAB. Bu yöntemin açıklaması burada verilmeyecektir (makalede bulunabilir) LSQR: Seyrek doğrusal denklemler ve seyrek en küçük kareler için bir algoritma). Bunun yerine, LSQR'yi dağıtılmış bir ortamda uygulamaya uyarlamaya yönelik bir yaklaşım gösterilecektir.

LSQR yöntemi aşağıdakilere dayanmaktadır: iki köşegenleştirme prosedürü. Bu yinelenen bir prosedürdür ve her yineleme aşağıdaki adımlardan oluşur:
Doğrusal regresyon ve iyileşme yöntemleri

Ama eğer matrisin olduğunu varsayarsak Doğrusal regresyon ve iyileşme yöntemleri yatay olarak bölümlenmişse, her yineleme iki MapReduce adımı olarak temsil edilebilir. Bu şekilde, her yineleme sırasında veri aktarımlarını en aza indirmek mümkündür (yalnızca bilinmeyenlerin sayısına eşit uzunluğa sahip vektörler):

Doğrusal regresyon ve iyileşme yöntemleri

Doğrusal regresyonu uygularken kullanılan bu yaklaşımdır. Apache Ignite ML.

Sonuç

Pek çok doğrusal regresyon kurtarma algoritması vardır ancak bunların hepsi her koşulda uygulanamaz. Dolayısıyla QR ayrıştırması, küçük veri kümelerinde doğru çözüm için mükemmeldir. Gradyan inişin uygulanması kolaydır ve hızlı bir şekilde yaklaşık bir çözüm bulmanızı sağlar. Ve LSQR, önceki iki algoritmanın en iyi özelliklerini birleştirir; çünkü dağıtılabilir, gradyan inişe kıyasla daha hızlı yakınsar ve ayrıca QR ayrıştırmasının aksine, yaklaşık bir çözüm bulmak için algoritmanın erken durdurulmasına olanak tanır.

Kaynak: habr.com

Yorum ekle