Bağımsızlık testi

Chi-Square çok önemli kullanım alanları olan data ile fonksiyonumuz arasında bir mesafe(uyumluluk) hesabıdır. En önemli kullanım alanları varyans testi, uygunluk durumu(goodness of fit) ve bağımsızlık testidir. Ayrı ayrı çok önemli incelenmesi gereken konulardır. Bu konuları ve chi-square’in nasıl bir mesafe metriğine dönüştüğünü araştırmanızı tavsiye ederim.

Bu yazımda Chi-Square dağılımınının önemli bir kullanım alanı olan bağımsızlık testi konusunu anlatacağım. Belirlenen featurelar bağımsız mı? Bunu bir örnek üzerinde inceleyelim.

Null Hypothesis Significance Testing

Frenkansçı bakış açısı genellikle NHST çerçevesinde uygulanır. Basitçe ifade etmek gerekirse, bu yöntem verinin null hipotezi (H0) altında görmeyi beklediğimiz bölgenin dışında (rejection region) olup olmadığını sorar. Null hipotezi alternatif hipotez(HA) adı verilen ikinci bir hipotez lehine reddediyoruz.

Biz bir hipotez öne süreriz ve datamızın bu hipotezi destekleyip desteklemediğini kontrol edip hipotezimizi ret mi edeceğiz(reject) yoksa bu hipotez ile devam mı edeceğiz ona karar veririz.

Seçtiğimiz H0 bize aşağıdaki gibi bir dünya sunar. Reject bölgesinin uzunluğuna deneyi yapan kişi karar verir ve genellikle 0.05 olarak alınır.

Monte Carlo simülasyonu karmaşık problemleri çözmek için rastgele sayılar kullanan bir tekniktir. Kapalı bir form elde edemediğimiz sistemleri simüle etmeyi tercih ederiz. Bu simülasyonu finans, mühendislik, bilim gibi hemen hemen her alanda bir dizi problemin üstesinden gelmek için kullanılabiliriz.

Monte Carlo Simülasyon tekniği, II. Dünya Savaşı sırasında bulundu. Rulet, zar ve slot makineleri gibi oyunlarda olduğu gibi, şans ve rastgele sonuçlar modelleme tekniğinin merkezinde yer aldığından, adını Monako’daki popüler bir kumarhaneden(Casino de Monte Carlo) almıştır.

Monte Carlo simülasyonu, belirli sonuçları elde etmek için rastgele örneklerin sürekli tekrarlanmasına odaklanır. …

Makine öğrenim algoritmalarının çoğunda featurelardaki dataların özelliklerini karşılaştırarak verilerdeki eğilimleri bulmaya çalışırız. Verilerin birbirinden büyüklükçe çok farklı olduğu durumlarda özellikle mesafe tabanlı işlemlerimizde(regresyon, sınıflandırma, kümeleme ..) küçük datamızın bir etki payı kalmıyor. Bu tarz durumlarda datayı bazı normalizasyon adımlarından geçirmeliyiz. Bu yazımda sizlere en popüler normalizasyon yöntemlerinden kısaca bahsetmek istiyorum.

min-max normalization

Mininimum ve maksimum normalizasyonu ile datalarımızın hepsini 1 maksimum, 0 minimum olmak üzere 0 ile 1 arasında map ederiz.

Python’ da numpy.random.rand() bize 0 ile 1 arasında random sayı döndürür. Bu yazımda moturumuzdan rastgele sayı üretmesini isterken tohumun(seed) önemini anlatacağım.

Bunu daha iyi anlayabilmek için size eski bir random sayı yaratan bir algoritmanın işleyişinden bahsetmek istiyorum.

Linear Congruential Method

ax + b denkeminde a ve b sabit, x ise yazımızın konusu tohumu ifade ediyor. Aşağıdaki örneği kısaca bir inceleyelim. Bir seed değeri belirleyip (27) denklemde yerine koyduktan sonra bulduğumuz sayı bize bir sonraki denklemdeki x (0–100) değerini veriyor. Bu bulduğumuz sayıların mod(100) değerleri ise bize motorumuzun verdiği random sayılar oluyor.

(a + b)⁰ = 1

(a + b)¹ = a + b

(a + b)² = a² + 2ab +

(a + b)³ = a³ + 3a²b + 3ab² +

Yukarıdaki işlemleri hepimizin rahatlıkla yapabileceği işlemler. Fakat üslerin büyümesi gelecek hesaplarda işimizi epey bir zorlaştıracak. 17. Yüzyılda bir Fransız matematikçisi ihtiyacımızı karşılayacak bir yapı elde etmiştir.

Naive Bayes tüm classification problemleri için kullanabileceğimiz bir kıyaslama algoritmasıdır. 1990'lardan beri kullanılan spam filtrelemenin en eski yollarından biridir. Bayes Teoremi temeli koşullu olasılığa dayanan çok güçlü bir teoremdir. Naive Bayes algoritmaları Bayes teoremini ve olasılıkların birbirinden bağımsız olarak hesaplanmasını esas alır.

Bu yazımda Naive Bayes algoritmalarında karşımıza çıkabilecek problemlerden bahsetmek istiyorum.

The “zero — frequency” Problem

Diyelim ki elimizde zayıf bir historic data var ve bazı eventlerin karşılığını 0 olarak gözlemledik. Algoritman işlem yaparken bu eventin historic data da gerçekleşmediği için hiçbir zaman gerçekleşmeyeceğini düşünür. Gelin bu problemi nasıl çözeceğimize bakalım.

  • Tüm değerlere küçük birer +ε ekleyebiliriz.
  • Eğer historic datamız zayıf değil ise hepsine…

Elimizde aralarında linear ilişki olan iki tane feature olsun. Biz bu veriler arasından hatayı minimum yapacak bir linear eğri geçirebiliriz. Eğri üzerindeki değerler bizim tahmin değerimiz iken diğerleri gerçek değerlerimiz olacaktır.

Merkezi limit teoremi ile ifade edilen kozmik düzenin harika formu kadar hayal gücümü etkileyecek neredeyse hiçbir şey bilmiyorum. Kanun Yunanlılar tarafından bulunsaydı kişiselleştirilir ve tanrılaştırılırdı. En çılgın kargaşanın ortasında, huzur ve kendini tamamen yok etme ile hüküm sürüyor. Kalabalık ne kadar sarılırsa ve görünen anarşi ne kadar büyükse etkisi o kadar mükemmel oluyor. Mantıksızlığın en yüce yasasıdır. Kaotik unsurların büyük bir örneği ele alındığında ve büyüklük sırasına göre sıralandığında, düzenliliğin şüphesiz ve en güzel formu başından beri gizlendiğini kanıtlar. -Sir Francis Galton

Herhangi bir makine öğrenimi algoritmasında doğruluk söz konusu olduğunda tahmin hatalarını (bias and variance) anlamak önemlidir.

Bu hataların doğru bir şekilde anlaşılması, algoritmayı eğitirken bir veri setinin gereğinden fazla uymasını(overfitting) veya yetersiz uymasını(underfitting) önlemeye yardımcı olacaktır.

Bias ve variance konularından söz etmeden önce aşırı uyma(overfitting) ve yetersiz uyma(underfitting) konularıdan kısaca bahsetmek istiyorum.

Hasan Gözcü

I'm interested in data science

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store