Kayıtlar

Decision Tree (Karar Ağacı) Nedir ve Nasıl Çalışır

Resim
 Decision Tree (Karar Ağacı) böl ve fethet (divide and conquer) algoritmasını kullanan hiyerarşik bir veri yapısıdır. Hem sınıflandırma (classification) hem de regresyonda (regression) kullanılabilen etkili bir metoddur. Bu yazıda Decision Tree'nin nasıl çalıştığını ve bazı terimleri inceleyeceğiz. GİRİŞ Parametrik tahminlemede, bir modeli bütün data üzerine tanımlarız ve modelin parametreleri üzerinden öğrenmeye çalışırız. Daha sonra aynı modeli ve aynı parametereleri kullanarak test verisi üzerinde deneriz. Ancak parametrik olmayan (nonparametric) input uzayını belirli bölgelere ayırıp, daha sonra her bir input için bu bölgeleri kullanarak öğrenmeye çalışırız. Bir decision tree, bu bölgeleri bir dizi recursive ayırma yaparak bulmaya çalışan hiyerarşik bir yapıdır. Decision Tree içsel nodelardan oluşur. Bu her node belirli bir fonksiyon kullanarak belirli sonuçlar doğurur. Verilen her inputta, her node belli bir test uygular ve node   dallarından biri seçilir. Bu süreç tepede...

Cross Validation Nedir, Nasıl Çalışır ve Mantığı Nedir

Resim
 Makine Öğrenmesinde bazı durumlarda model verilen eğitim verisini (training data) çok iyi öğrenir ancak test için verilen veride ise kötü performans gösterebilir. Buna terimsel olarak aşırı uyma (overfitting) denir. Bu durum istenilen bir şey değildir. Bunun sebebi ise basitçe, bu modelin gerçek dünyadaki verilerle test edildiği zaman güzel performans vermesinin istenmesidir.  Peki bu durumu (overfitting) kaldırmak için neler yapılabilir, bugün onlardan birini göreceğiz.  CROSS VALIDATION    Üstte gösterilen şema kısaca makine öğrenmesinde eğitim nasıl olarak gerçekleştiğini gösteriyor.  parameters  modelin parametreleri olarak yer alır. Cross Validation'ı göreceğiz. Best Parameters modelin nasıl hangi parametreler ile en iyi performans vereceğini gösterir. Amacımız modelin en iyi çalıştığı parametreli bulmak. Böylece veriden en çok verimi alabiliriz. Peki bu Cross Validation nasıl çalışır. Varsayalım ki elimizde \(S\) eğitim verisi var. Diyelim ki el...

Tensorflow ile Türkçe Metin Sınıflandırma Nasıl Yapılır - Eksi Sozluk Örneği

Resim
Bu yazımızda Tensorflow ile nasıl metin sınıflandırma yapılır, ona bakacağız. Öncelikle metin sınıflandırma nedir ile başlayalım. Metin Sınıflandırma kısaca verilen metinleri istenilen kategorilere ayırmaktır. Metin sınıflandırmanın birden fazla örneği vardır.  İkili Metin Sınıflandırma (Binary) Bu tür metin sınıflandırmada verilen metinler iki ayrı kategoriye ayrılır. Örnek olarak, tweetlerin pozitif ya da negatif bir söylem içerdiğini bulmak.  Çoklu Metin Sınıflandırma (Multi-Class)  Bu tür metin sınıflandırmada ise istenilen kategoriler birden fazladır. Bu yazıda da verilen metinleri 5 ayrı sınıfa ayıracağız. Bu işlemleri yapabilmek için öncelikle elimizde etiketlenmiş bir veri olması gerekiyor. Ben "Web Scraping" metodu ile Ekşi Sözlükten 8000 adet veri çıkardım. Kaggle Sayfasından veriyi görebilirsiniz.  Buradan ise veriyi nasıl çektiğimi görebilirsiniz.  Şimdi kısaca yapmamız gerekenler Veriyi okumak ve temizlemek Tensorflow ile model oluşturmak Oluşturd...

Sinir Ağları (Neural Network) Gerçekte Nasıl Çalışır | Bu İşin Sihri Nedir

Resim
Önceki yazımızda Yapay Sinir Ağları Nelerdir gibi konulardan bahsetmiştik. Şimdi ise gerçek sihir neymiş onu inceleyeceğiz. Sinir Ağları Sihiri (Matematik)  Örnek üzerinden ilerleyelim. Diyelim ki elimizde bir veri kümesi var ve bu veri kümesinde bir evin alanı, yatak oda sayısı ve bulunduğu ilin posta kodu var. Tahmin edilmek istenen ise bu evin fiyatı. İlk yazımız olan Lineer Regresyon ' daki örneği biraz daha komplike yapalım. Bu örnek için  şöyle basit bir sinir ağı çizimi yapabiliriz.  Problemimiz için yaptığımız 2 katmanlı sinir ağı Sinir ağlarının yaptığı asıl sihir siz sadece modele X (input) ve Y(sonuç) veriyorsunuz ve diğer her şeyi model kendi kendine algılıyor. Bu sürece sonuçdan sonuca öğrenme (end-to-end learning) denir. Ev örneğinden devam edersek elimizde 3 tane  feature (özellik)  var \(( x_{1} , x_{2}, x_{3})\). Bu üç inputu sinirler ile bağlıyoruz. Bu ilk katmanda kullandığımız 3 sinire önceki yazıda bahsettiğimiz gibi  gizli...

Yapay Sinir Ağları (Artificial Neural Network) Nedir | Nasıl Çalışır

Resim
Yapay Sinir Ağları (Artifical Neural Network ) Nedir? Yapay Sinir Ağları insan beyninden esinlenerek oluşturulan bir bilgi işlem teknolojisidir. Günümüzde Derin Öğrenme (Deep Learning) Alanında kullanılır. Sinir ağları büyük bir hesaplama gücü gerektirir. İşlemleri pahalıdır ve eğitilmesi uzun sürer. Tek Katman Sinir Ağı Örneği Kaynak :  Offnfopt, reference image create by Chrislb - Yükleyenin kendi çalışması created using File:SingleLayerNeuralNetwork.png as a reference. Derivative of File:Multi-Layer Neural Network-Vector-Blank.svg, Kamu Malı, https://commons.wikimedia.org/w/index.php?curid=39564293 Peki bu sinir ağlarının diğer modellere göre ne gibi artıları var ki bu kadar popüler ve çok kullanılıyor? Elimizde bulunan hesaplama (computation) gücü. Artık güçlü donanımlara sahibiz ve sinir ağlarının gerektirdiği hesaplama gücünü karşılayabiliyoruz. Günümüz veri (data) çağında elimizde çok büyük (big data) veriler var. Sinir ağları bu büyük verilerde diğer geleneks...

Python ile Sıfırdan Lineer Regresyon Metodu İmplementasyonu

Resim
Önceki yazılarımızda Lineer Regresyonun nasıl çalıştığını matematiksel olarak açıklamıştık. Lineer Regresyon Nasıl Çalışır ve Least Mean Square Nasıl Çalışır yazılarını okuyup konu hakkında daha fazla bilgi sahibi olabilirsiniz. Bu yazıları okumadan direk buraya gelirseniz, yapacağımız işlemler sizin için kafa karıştırıcı olabilir. Lineer regresyon hala sıkça kullanılan basit ama etkili bir algoritmadır. Peki Lineer Regresyon Python ile nasıl implement edilir onu göstereceğim. Önceki yazıdan hatırlayacağımız üzere her \(\theta\) için gradient descent algoritmasını kullanarak Bu \( \theta \) ları en uygun hale getirmeye çalışıyorduk. Peki bunları yaparken kullandığımız başlıca formüller nelerdi bunlara göz gezdirelim. Hipotez Fonksiyonumuz:  \(  h_{ \theta } \big(x\big)  =  \theta_{0} +  \theta_{1}  x_{1}   \) \( h \big(x\big)  = \sum_0^n  \theta_{i}  x_{i} = \theta^{T} x \) Cost Function = \(  J \big(\th...

Least Mean Square Nasıl Çalışır | Lineer Regresyon

Resim
Least Mean Square modeli en verimli hale getirebilmek için kullanılan cost function (hata fonksiyon) yöntemidir. Least Mean Square kullanılarak model için en uygun olan \( \theta \) 'lar bulunur ve model optimize hale gelmiş olur. Lineer Regression Gerçekliği Daha fazla ilerlemeden önceki yazımız olan Lineer Regresyon Nedir Nasıl Çalışır ' dan birkaç hatırlatma yapalım. \( x^i \)   =  Model eğitimi için verilen input değişkenleri. \( y^i \) = Tahmin edilmek istenen hedef değişkenleri. \( m \)  = Veri kümemizin boyutu.  \( n \)  = Kaç tane input değişkenimizin olduğunu gösterir.  Eğitme Kümesi (Training Set) = Eğitmek için kullandığımız kümedir. \(  \big\{\left(  x^i , y^i \right)  ; i = 1, 2 ..... m. \big\}  \) Hipotez Fonksiyonumuz:  \(  h_{ \theta } \big(x\big)  =  \theta_{0} +  \theta_{1}  x_{1}   \) \( h \big(x\big)  = \sum_0^n  \theta_{i}  x_{i} ...