Makine öğrenmesine görsel başlangıç

Translations: русский | Italiano | Português | Español | English | 简体 | لعربية | Français | 中文 |

Makine öğrenmesiyle bilgisayarlar, verideki şablonları tanımlayabilmek için, istatiksel öğrenme teknikleri kullanırlar.Aşağıya doğru inmeye devam edin.

Evlerle ilgili bir veri kümesi kullanarak, New York ve San Francisco'daki evleri ayırt edebilmek için bir makine öğrenmesi modeli yaratacağız.

Scroll


Önce biraz sezgi

Diyelim ki, bir evin San Francisco’da mı yoksa New York’ta mı oldugunu anlamak istiyorsunuz. Makine öğrenmesi terimiyle, veri noktalarını kategorize ederek, sınıflandırma yapmak istiyorsunuz.

San Francisco daha dağlık bir coğrafyaya sahip oldugundan, evlerin yüksekliği, bu iki şehri ayırt edebilmek için iyi bir referans noktası olabilir.

Sağdaki ev-yükseklik verilerine göre, 240 ft üzeri yükseklikteki evlerin San Francisco'da olarak sınıflandırılması gerektiğini söyleyebilirsiniz.


Başka ayrıntılar eklemek

Başka boyutlar eklemek daha fazla ayrıntıyı ortaya çıkarır. Örneğin, New York daireleri ft kare başına daha pahalı olabilir.

Böylelikle yükseklik-fiyat dağılım grafiği, daha alçak evleri ayırt etmemize yardımcı olur.

Bu veri, 73 m altındaki ve 19,116.7$'dan pahalı evlerin New York şehrinde olduğunu öne sürüyor.

Veri kümesindeki boyutlara özellikler, belirleyiciler ya da değişkenler denir.


Sınırları belirlemek

Edindiğiniz yükseklik (>73 m) ve fiyat (>19,116.7$) bulgularını dağılım grafiğindeki bölgelerin sınırları olarak çizebilirsiniz. Yeşil bölgede gösterilen evler San Francisco’da, mavi bölgedekiler ise New York’ta olur.

Datanın sınırlarını belirlemek, istatiksel öğrenmenin temelini oluşturur.

Tabii ki daha alçak evleri ve foot kare başına daha düşük fiyatlı evleri ayırt edebilmek için daha fazla bilgiye ihtiyaç duyacaksınız.


Modeli oluşturmak için kullandığımız veri kümesi 7 ayrı boyuta sahip. Model oluşturmak aynı zamanda modeli eğitmek olarak da bilinir.

Sağ taraftaki dağılım matrisinde çizilen değişkenler, boyutlar arasındaki ilişkileri gösteriyor.

Veride net olarak görülebilen şablonlar var ancak onları belirleyebilmek için sınırlar yeterince net değil.


Ve Şimdi Makine Öğrenmesi

Verideki şablonları bulma kısmında, makine öğrenmesi devreye girer. Makine öğrenmesi teknikleri, sınırları belirlemek için istatiksel öğrenmeden faydalanır.

Makine öğrenmesi tekniklerinden biri de karar ağaçlarıdır. Karar ağaçları, değlşkenleri birer birer değerlendirir ve karar ağaçları, kabul edilebilir derecede erişilebilir bir makine öğrenmesi tekniğidir.



Daha iyi sınırlar bulmak

Sezgilerimizi biraz daha geliştirmek için, daha önce söylediğimiz 73-m yükseklik sınırımıza geri dönelim.

Doğal olarak bunun için farklı bir bakış açısı gerek.


Görselimizi histograma çevirerek, evlerin hangi yükseklikte hangi sıklıkla bulunduğunu daha iyi görebiliriz.

New York’un en yüksek evi 73m iken, büyük çoğunluğun çok daha alçakta olduğu görülüyor.


İlk dallanma noktası

Karar agaçları, verideki şablonları koşul-sonuç ifadeleriyle belirler.

Örneğin, eğer bir evin yüksekliği bir sayıdan büyükse, sonuç olarak o ev büyük ihtimalle San Francisco’dadır.


Makine öğrenmesinde, bu ifadeler dallanma olarak adlandırılır ve veriyi bir değere göre iki dala böler.

Dallar arasındaki bu değere ayrım noktası denir. Bu noktanın solunda kalan evler bir şekilde kategorize edilirken sağında kalan evler başka bir şekilde kategorize edilirler. Ayrım noktaları karar ağaçlarının sınırlarını ifade eder.


Sınırlarda orta yolu bulma

Ayrım noktalarını bulmak için dengenin iyi kurulması gerek. İlk ayrım noktamız (73 m) San Francisco’daki bazı evleri New York’taymış gibi göstererek yanlış sınıflandırıyor.

Soldaki pasta grafiğindeki büyük yeşil dilime bakacak olursanız, San Francisco’daki yanlış sınıflandırılmış evleri görebilirsiniz. Bunlar yanlış red hatası olarak adlandırılır.


Bunun yanısıra, San Fransico’daki evleri bulması gereken ayrım noktaları, New York’ta olan bir çok evi de kapsayabilir. Bunlarsa yanlış kabul olarak adlandırılır.


En iyi ayrım noktası

En iyi ayrım için, her dalın sonucu mümkün olduğunca homojen (saf) olmalı. En iyi ayrım noktasını hesaplamak için seçebileceğiniz bir çok matematiksel teknik mevcut.


Burada da gördüğümüz gibi, tek bir özellik için bile en iyi ayrım noktası, San Francisco ve New York’taki evleri tam olarak ayıramamaktadır.



Özyineleme

Başka ayrım noktaları eklemek için, algoritma aynı işlemleri verinin altkümelerinde yineler. Bu yinelemeye özyineleme denir ve model eğitmede sıkça kullanılan bir konsepttir.

Soldaki histogramlar, her degişken için yinelenen, tüm altkümelerin dağılımını göstermektedir.


En iyi ayrım noktası ağacın hangi dalına baktığınıza göre değişir.

Daha alçak evlerde bir sonraki koşul-sonuç ifadesi için en iyi değişken, feet kare fiyatı 1061$ iken daha yüksek evlerde ise bu değer 514500$'dır.

.

Ağacı oluşturma

Dallandırmaları arttırmak ağacın tahmin doğruluğunu arttıran yeni bilgiler ekleyecektir.


Ağacı bir kat daha derine dallandırmak, ağacın doğruluğunu %84 arttırıyor.


Başka dallanmalar ekleyerek, %96'ya ulaşıyoruz.


Aslında ağacı dallandırmaya %100 kesinliğe ulaşıncaya kadar, yani her dallanmanın sonucu sadece San Francisco’daki evler ve sadece New York'taki evler şeklinde oluncaya kadar devam edebilirsiniz.


Bu dallanmaların sonuç kısmına yaprak düğümleri denir. Karar ağacı modelimiz, her yaprakta, evlerin çoğunlukla hangi sınıfa dahil olduğuna bakarak sınıflandırma yapar.



Tahminlerde bulunma

Bu yeni eğitilmiş karar ağacı modelimiz, tüm veri noktalarını her dalda değerlendirerek, bir evin San Francisco’da mı yoksa New York’ta mı olduğuna karar veriyor.


Burada, ağacı eğitmek için kullanılan verinin ağaçtan akışını görebilirsiniz.

Bu veriye eğitim verisi dememizin sebebi bu datanın modeli eğitmek için kullanılmış olmasıdır.


Ağacı, doğruluğu %100 oluncaya kadar büyüttüğümüz için, bu ağaç her bir eğitim verisinin hangi şehirden olduğunu kusursuz şekilde gösterir.


Gerçeklik testi

Tabii ki, asıl önemli olan ağacın daha önce görülmemiş veride nasıl performans gösterdiğidir.


Ağacın yeni verideki performansını test edebilmek için, ağacı, daha önce görülmemiş veri noktalarına uygulamalıyız. Bu daha önce kullanılmamış veriye test verisi denir.


Ideal olarak, ağaç bilinen ya da bilinmeyen veride tam olarak aynı performansı gösterebilmelidir.


Buradaki sonuç idealden biraz az.


Bu hatalara aşırı uyum denir. Modelimiz eğitim verisini, önemsiz olanlar dahil, her ince ayrıntıya kadar nasıl ayıracağını öğrendi.

Aşırı uyum, daha sonraki çalışmamızda da açıklayacağımız, makine öğrenmesinin temel konseptlerinden biridir.



Tekrar hatırlayacak olursak

  1. Makine öğrenmesi istatiksel öğrenmeyi ve bilgisayarları kullanarak sınırları ortaya çıkarıp, şablonları belirler.
  2. Karar ağaçları tahminlerde bulunmak için verideki şablonları çıkaran ve sınırları belirleyerek koşul sonuç ilişkisi serileri yaratan bir tekniktir.
  3. Sınırlar büyük fark yaratmayan ayrımlara göre oluşturulmuşsa, aşırı uyum meydana gelir. Bir modelde aşırı uyum olup olmadığını test verisinin modeldeki akışından anlayabilirsiniz.

Bir sonraki sefere

Bir sonraki sefere, aşırı uyumu ve onun makine öğrenmesindeki temel uzlaşmalarla ilişkisini inceleyeceğiz.

Sorularınız veya düşüncelerinizi duymayı çok isteriz. @r2d3us hesabına tweet atabilir ya da mail adresinden bize ulaşabilirsiniz team@r2d3.us.

Son olarak, çeviri için Ayşegül Pekel'e (LinkedIn) teşekkür ederiz.


Twitter'dan bizi takip edin

...or Facebook...

Makine öğrenmesine görsel başlangıç

Posted by R2D3 on Facebook

Ya da e-maillinizi bırakın.

Posts from R2D3.us


Footnotes}

  1. Makine öğrenmesi konseptleri disiplinlerarası olduğu için (bilgisayar bilimleri, istatistik, mühendisik, psikoloji v.b) farklı isimlendirmeler de olabilir.
  2. Burada da gördüğümüz gibi, tek bir özellik için bile en iyi ayrım noktası, San Francisco ve New York’taki evleri tam olarak ayıramamaktadır.
  3. Bilgisayarların istatiksel öğrenme tekniklerinde çok iyi olmalarının sebebi bilgisayarların yineleyen işleri hızla ve sıkılmadan yapabiliyor olmalarıdır.
  4. TBurada bahsedilen algoritma greedy algoritmasıdır, çünkü greedy algoritması baştan sona bir yaklaşımla veriyi ayırır. Diğer bir deyişle, her altkümeyi o nokta için en homojen şekilde ayırabilecek değişkeni arar.
  5. Farenizi noktaların üzerine getirerek, ağaçtan nasıl geldiklerini görebilirsiniz.
  6. Küçük ipucu: Sistematik hata/varyans uzlaşmasına değineceğiz.