Kayıtlar

2020 tarihine ait yayınlar gösteriliyor

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} ...

Lineer Regresyon Metodu (Linear Regression) Nedir, Nasıl Çalışır | Matematiksel Anlatımı

Resim
Lineer Regresyon   (Linear Regression) makine öğrenmesinde kullanılan iki veya daha fazla değişkenin ilişikisini doğrusal yönden inceleyen bir algoritmadır. Lineer Regresyon Örneği Bu yazıda Linear Regresyon ( ingilizcesi ile Linear Regression) nasıl çalışır bunu inceleyeceğiz. Regresyon problemleri makine öğrenmesinde tahmin edilmek istenen parametrenin sürekli olduğu zaman ortaya çıkan bir durumdur. Bu yazıda da işleyeceğimiz üzere bir evin fiyatını tahmin etmek bir regresyon problemidir. Evin Alanı (Metre Kare) Evin Fiyatı (Bin Dolar) 1416 232 1600 330 2104 400 2400 369 3000 540 Diyelim ki elimizde bir evin alanı ve fiyatı olan bir veri kümemiz olsun. Ve bu kümenin dağılımı grafikteki gibi olsun.  Bu grafiğe bakarak bu noktalara uyan bir çizgi çizebiliriz. İşte Linear Regresyon daki amaç da bu çizgiyi en verimli şekilde yerleştirmektir. Peki hangi çizginin en verimli olacağını nasıl bileceğiz. Yazımızda ilerlemede...

Makine Öğrenmesi Terimleri | Makine Öğrenmesi Terminolojisi

Makine Öğrenmesi ( diğer adıyla Machine Learning) alanında kullanılan bazı terimler var ve bunları bilmeden bu alana dalmak pek verimli olmayabilir. Makine Öğrenmesi alanında iki tür öğrenme yolu vardır.  Bunların birincisi tahmin edilmek istenen hedefin modele verildiği  Supervised Learning ' dir. Bu öğrenme biçiminde veri( diğer adıyla data) modele verilir ve bu verinin hangi etiketi olduğu da verilir. Örnek verirsek, diyelim ki ev fiyatlarını tahmin etmeye çalışacağız. Burada tahmin edilmek istenen hedef evin fiyatıdır. Verimizde ise bu evin nerede olduğu, alanı, kaç tane yatak odası olduğu veriliyor. Verimizde her evin fiyatı da verildiği için bu öğrenme çeşidi  Supervised Learning  olarak geçer. Diğer öğrenme yöntemi ise bu tahmin edilmek istenen terimin verilmediği durum olan  Unsupervised Learning  dir. Bu öğrenme yönteminde ise tahmin edilmek istenen hedef modele verilmez ve modelin veride bazı izler (pattern) bulması istenir. Bu tarz öğrenme d...