MAKİNE ÖĞRENMESİ

tarafından
250
MAKİNE ÖĞRENMESİ

Makine öğrenmesi, bir bilgisayara programlanmadan nasıl öğrenileceğini ve davranacağını öğretmeyi amaçlayan bir bilgisayar bilimi alanıdır. Daha özel olarak, makine öğrenmesi, programların deneyim yoluyla öğrenmesini sağlayan modeller oluşturup uyarlamayı içeren veri analizine bir yaklaşımdır. Makine öğrenmesi, tahmin etme yeteneklerini geliştirmek için modellerini uyarlayan algoritmaların oluşturulmasını içerir.

Makine öğrenmesi algoritmalarının tümü, daha fazla veri kümesi işlerken öğrenmeyi ve geliştirmeyi amaçlar. Bu algoritmaların çözdüğü görevleri sınıflandırmanın bir yolu, sisteme ne kadar geri bildirim sunduklarıdır. Bu sebepten, makine öğrenmesi farklı sınıflandırmalara ait algoritmalar içermektedir. Bu algoritmalardan bazıları:

Makine Öğrenmesi, veri kümesi

Denetimli Öğrenme:

Makine öğrenmesi araştırmacılarının çoğunluğu denetimli öğrenmeyi kullanır. Denetimli öğrenmede sınıf kavramı vardır. Daha doğrusu iyi/kötü, evet/hayır, hayvan/bitki  gibi kavramlar vardır ve bu kavramlar tahmin edilmeye çalışılır. Tahmin edilmeden önce aşağıdaki örnek tablodaki gibi kurallar oluşturulur.

Makine Öğrenmesi, Denetimli Öğrenme, kavramlar, kurallar

Oluşturulan kurallar kapsamında tahmin için Can’ın Yüksek Onur Belgesi alıp almadığı bilgisi tahmin edilebilir. Aynı zamanda burada algoritma  öğrenme süreci de söz konusudur. Çünkü tahmin sonucuna ulaşmak için öğrenme sürecini denetleyen bir öğretmen olması gerekmektedir. Algoritma kabul edilebilir bir performans seviyesine ulaştığında öğrenme durur.

Genellemek gerekirse giriş verisi x değeri olarak alındığında, bu veriler için çıkış değişkenleri (y) tahmin edilebilir. Veri eklenmesi ya da çıkarılması durumunda algoritmadan yeniden eğitilmesi gerekir. Bu da giriş ve çıkış değişkenlerinin değerlerinin değişmesini sağlar. Böylece tahmin süreci değişebilir.

Denetimli öğrenme problemleri sınıflandırma (classification) ve regresyon (regression) problemleri olarak daha fazla gruplandırılabilir.

Sınıflandırma:

Sınıflandırma belirli bir veri kümesi içerisindeki verileri çeşitli sınıflara dağıtarak çıkış değişkenini oluşturur. Çıkış değişkeni, “evet” veya “hayır”, “insan” veya “insan değil” gibi bir kategoride değerler bulundurur.

Regresyon:

 Regresyon, verileri sınıfları kullanmak yerine sürekli gerçek değerlere ayırmak için bir model veya işlev bulma süreci diyebiliriz. Sürekli bir miktarın tahminini yapabilirken sınıflandırma tahminleri yapamaz. Çıkış değişkeni “dolar” veya “ağırlık” gibi  bir gerçek değerdir.

Denetimsiz Öğrenme:

Yalnızca giriş verisi olarak alınan x’in olduğu ve karşılık gelen çıkış değişkenlerine sahip olunmayan bir öğrenmedir. Burada amaç eldeki verileri artırarak daha fazla bilgi edinmek ve verilerle genel yapıyı modellemektir.

Denetimsiz öğrenmenin denetimli öğrenmeden farkı, sonuç ve öğretmen olmamasıdır. Algoritmalar verilerin yapısını öğrenmek ve modellemek için kendi planlarına bırakılmıştır.

Aşağıdaki örneğe bakıldığında Youtube kanalında daha fazla takipçisi olan kişilerin daha yüksek maaş alıp almadığı anlaşılmak istenilebilir. Eldeki girdinin(Youtube takipçileri) çıktıya(maaş) yol açması gerekir ve bu ilişkinin ne olduğunu anlamak için bilgi alınır.

Makine Öğrenmesi, Denetimsiz Öğrenme, Denetimsiz öğrenmede sonuç olmadığı için belirli bir sonuca ulaşılamaz.

Yıldızlar verilerin olduğu noktalardır ve girdi ve çıktıların nasıl bir yol izlemesi gerektiğini belirler. Ancak denetimsiz öğrenmede sonuç olmadığı için belirli bir sonuca ulaşılamaz. Yani sonuçta belirlenen maaş miktarı söz konusu değildir.

Denetimsiz öğrenme problemleri kümeleme (clustering) ve ilişki (association) problemleri olarak daha fazla gruplandırılabilir.

Kümeleme:

Kümeleme, verilerdeki kümelenmeleri oluştururlar. Algoritmanın kaç kümesini değiştirdiğini değiştirebilir. Bu da grupların ayrıntı düzeyini ayarlamaya yardımcı olur. Sosyal medya hesapları takipçilerinin değişmesi durumuna göre gruplanması örnek olarak verilebilir.

İlişki:

Denetimsiz öğrenmede verilerin analizi ve tahmini için ilişkilendirme yapılır. İlişki sonucu analiz edilen veriler için en iyi tahmini oluştururlar. Programcıların makine öğrenmesi yapabilen programlar oluşturmak için ilişkilendirme yapması örnek olarak verilebilir.

Sınıflandırma ve regresyon algoritmalarına geçmeden önce bilinmesi gereken bir dizi terim listesi:

1. Model:

Model sadece eğitim sürecinde oluşturulan bir nesnedir. Makine öğrenmesi algoritmalarına eğitim verileri sağlandıktan sonra veriler öğrenir ve eğitim modeli oluşur.

2. Eğitim ve Test Verisi:

Öğrenme algoritmalarına sağlanan verilere eğitim veri seti, tahminlerin yapıldığı verilere de test veri seti adı verilir. Bu veriler üzerinde eğitim modelinin doğruluğu kontrol edilir.

3. Aşırı Öğrenme(Overfitting) ve Eksik Öğrenme(Underfitting):

Makine öğrenmesinde eğer model, eğitim için kullanılan veri seti üzerinde gereğinden fazla çalışıp artık ezber yapmaya başlarsa aşırı öğrenme(overfitting) olma ihtimali artar. Eğitim sürecinde veriler ezberlendiği için test sürecinde çok düşük doğrulama değerleriyle sonuçlanabilir.

Aşırı öğrenmenin tam tersi olarak eksik öğrenme(underfitting), eğer model eğitim sürecinde yetersiz öğrenmeye sahipse hem eğitim hem de test verileri üzerinde hata oranını artırır.

Doğru veri analizi yapabilmek için her iki öğrenme probleminden de kaçınmak gerekir.

4. Varyans ve Bias:

Varyans, gerçek değer ile tahmin edilen değerin birbirinden ne kadar bağımsız olduğunu gösterir. Bunun sebebi ise modelin eğitim veri setinde performansının iyi olup test ve doğrulama gibi eğitilmemiş veri setlerinde düşük performans sağlamasından kaynaklıdır.

Bias ise gerçek değerlerin tahmin edilen değerlerden ne kadar uzak olduğunu gösterir. Bias düşük olduğunda gerçek değerler tahmin edilen değerlere yakındır.

Makine Öğrenmesi, Varyans ve Bias

Yüksek Bias Düşük Varyans: Modeller tutarlı, ancak hata oranı yüksektir.
Yüksek Bias Yüksek Varyans : Modeller hem hatalı hem de tutarsızdır .
Düşük Bias Düşük Varyans: Modeller ortalama olarak doğru ve tutarlıdır. Modellerde amaç bu sonucu elde etmektir.
Düşük Bias Yüksek Varyans: Modeller bir dereceye kadar doğrudur ancak ortalamada tutarsızdır. Veri setinde ufak bir değişiklik yapıldığında büyük hata oranına neden olmaktadır.

Makine öğrenmesi konusunda daha fazla bilgi için Hands-On Machine Learning with Scikit-Learn and TensorFlow adlı kitabı inceleyebilirsiniz. Kitap linki için: https://www.lpsm.paris/pageperso/has/source/Hand-on-ML.pdfhttps://www.lpsm.paris/pageperso/has/source/Hand-on-ML.pdf