dersblog



Evrişim (Convolution)

Evrişim iki fonksiyon $f,g$ üzerinde tanımlı bir operasyondur, bu operasyon iki fonksiyondan üçüncü bir fonksiyon yaratır. Operasyon bir entegral üzerinden tanımlıdır, $g$'nin aynı görüntüsü / ters çevrilmiş halinin alınıp, soldan (negatif sonsuzluk) sağa doğru kaydırılırken $f$ ile üst üste gelen bölgenin alanını her $t$ için alınması durumudur, bu açıdan evrişim bir tür ağırlıklı ortalama olarak görülebilir, $f$'in ağırlıklı ortalaması $g$ üzerinden alınmaktadır. Matematiksel olarak,

$$f * g \equiv \int_{-\infty}^{\infty} f(\tau)g(t-\tau) \mathrm{d}\tau $$

Evrişim sırabağımsızdır, yani $f * g = g * f$, o zaman

$$f * g \equiv \int_{-\infty}^{\infty} f(t-\tau)g(\tau) \mathrm{d}\tau $$

ifadesi de doğrudur. Örnek $f,g$ üzerine görelim,

Her iki fonksiyonu bir geçici değişken $\tau$ üzerinden tanımlayabiliriz, Sonra $g$'nin ayna görüntüsünü alırız, $g(\tau) \to g(-\tau)$

Şimdi bir zaman kaydırma faktörü $t$ ekleyebiliriz, bir $g(t-\tau)$ elde ederiz, bunun etkisi her $t$ için $g$'yi istediğimiz noktaya kaydırabilmektir. Bunu yaparken, mesela negatif sonsuzluktan pozitif sonsuzluğa kaydırırken, her $t$ anında alınan entegralin sonuçları bize evrişimi verir. Dikkat, kaydırma entegralin sonucu değil, sadece "her $t$ için" vurgusu amacıyla bu kaydırma görüntüsü veriliyor, her $t$ noktasında, kaydırma nereye olursa olsun, $-\infty,\infty$ arasında entegral alınmaktadır.

Ayrıksal olarak,

$$ (f * g) [n] \equiv \sum_{m=-\infty}^{\infty} f[m] g[n-m] $$

Farklı fonksiyonlar üzerinde görelim, mesela kare fonksiyonunu kendisiyle evrişimi, $f$ mavi, $g$ kırmızı, sarı bölgeler çakışma olan yerler, $g$'nin her $t$ için evrişim entegral sonucu ise siyah çizgi ile gösteriliyor,

Şimdi $f$ kavisli bir fonksiyon, $g$ hala kare,

Evrişim ile çapraz korelasyon (cross-correlation) arasında bağlantılar var, $t-\tau$ yerine $t+\tau$ kullanılırsa çapraz korelasyon elde ediliyor.

Örnek

import scipy.signal
f = [1,2,3,4,5,6]
g = [5,4,3,2,1]
print scipy.signal.convolve(a,b)
[ 5 14 26 40 55 70 50 32 17  6]

$X+Y$ Dağılımı

Çoğu zaman $X,Y$'in bağımsız olduğu durumda bu rasgele değişkenlerin toplamının dağılımını hesaplamak gerekir [2, sf 56]. Kümülatif fonksiyon $F$ ile

$$ F_{Z+Y} = P(X+Y \le a) $$

$$ = \int \int_{x+y \le a}^{} f(x)g(y) \mathrm{d} x \mathrm{d} y $$

$f(x)g(y)$ kullanabildik çünkü $X,Y$ bağımsız. Alt sınırda bir değişiklik yapalım, $x+y \le a$, o zaman $x \le a-y$. Demek ki

$$ = \int_{-\infty}^{\infty} \int_{-\infty}^{a-y} f(x)g(y) \mathrm{d} x \mathrm{d} y $$

Entegralleri gruplayabiliriz,

$$ = \int_{-\infty}^{\infty} \bigg[ \int_{-\infty}^{a-y} f(x) \mathrm{d} x \bigg] g(y) \mathrm{d} y $$

$$ = \int_{-\infty}^{\infty} F_X(a-y) g(y) \mathrm{d} y $$

Yoğunluğu almak için kümülatif fonksiyonun türevini alırsak,

$$ f_{X+Y}(a) = \frac{d}{da} \int_{-\infty}^{\infty} F_X(a-y) g(y) \mathrm{d} y $$

$$ = \int_{-\infty}^{\infty} \frac{d}{da} F_X(a-y) g(y) \mathrm{d} y $$

$$ = \int_{-\infty}^{\infty} f_X(a-y) g(y) \mathrm{d} y $$

Üstteki ifade bir evrişim operasyonu! Yani iki bağımsız rasgele değişkenin toplamının yoğunluğu, değişkenlerin yoğunluklarının evrişimine eşittir!

[1, sf. 365]'de ayrıksal olarak üstteki hesaba değiniliyor, elde iki zar var, zarın her yüzünün gelme ihtimali $p_i=1/6$, bu iki zarın mümkün her türlü toplamının hesabı bir evrişim, $p * p$,

import scipy.signal
d = 1/6. * np.array([1.0,1.0,1.0,1.0,1.0,1.0])
print scipy.signal.convolve(d,d) 
print scipy.signal.convolve(d,d) * 36.
[ 0.02777778  0.05555556  0.08333333  0.11111111  0.13888889  0.16666667
  0.13888889  0.11111111  0.08333333  0.05555556  0.02777778]
[ 1.  2.  3.  4.  5.  6.  5.  4.  3.  2.  1.]

Sonuca göre toplam 12 gelme ihtimali 1/36 (en baştaki), 11 gelme ihtimali 2/36, vs.

Ek bilgiler için bkz [4] notları.

Kaynaklar

[1] Strang, Computational Science and Engineering

[2] Wikipedia, Convolution, https://en.wikipedia.org/wiki/Convolution

[3] Ross, Introduction to Probability Models 10th Edition

[4] Bayramlı, Diferansiyel Denklemler, Ders 21


Yukarı