Ana Sayfa / Yazılım / Deep Learning (Derin Öğrenme) Nedir ?
Deep Learning
Deep Learning

Deep Learning (Derin Öğrenme) Nedir ?

Deep Learning Nedir ?

Kodlama programlarımıza, bilgisayarlarımıza veri aktarmayı sağlıyor. Günümüzde yaklaşık 100 programlama dili mevcut ve bu dillerin hepsi insanların ihtiyacını karşılayacak niteliktedir. İnsan beyni her zaman gelişmeye yatkın bir organdır. Bir süreden sonra kodlamanın sağladığı veri aktarma yetersiz kalınca bu sefer yapay zekaların kendi kendine bir şeyleri öğrenmesine yarayan bir sistem geliştirdiler. Bunun ismi de Deep Learning yani Derin Öğrenme‘dir.

Yapay Sinir Ağları Nedir ?

Deep Learning yeni bir kavram değildir. Uzun zamandır derin öğrenme üzerinde bolca çalışmalar yapılmıştır. Derin öğrenme aslında insan beyninden ilham alarak geliştirilmiştir. Deep learning yapay sinir ağlarının geliştirilmesi ile ortaya çıktı. Bu sinir ağları bir veya iki katmanlı olarak geliştirilmiştir.

Basit Yapay Sinir Ağı
                              Basit Yapay Sinir Ağı

 

Yukarıda gördüğünüz yapay bir basit sinir ağı. Görseldeki sinir ağı basit bir ağ olsa da birçok ihtimal değerlendirmeye alınmıştır. Resimdeki “input layer” kısmı verinin alındığı bölümdür, “hidden layer” verinin işlendiği bölümdür, “output layer” ise verinin karar aşamasını temsil ediyor. Bu sinir ağının verinin artması, içteki karar verme bölümlerinin çoğaltılması ve sonuç bölümünün daha zengin hale getirilmesi sonucunda Deep Learning oluşur.

Aşağıdaki grafik grafik günümüzde veri miktarının artmasıyla beraber Derin öğrenmenin basit yapay sinir ağlarıyla oluşturulan öğrenme algoritmalarından nasıl daha iyi sonuç verdiğini ortaya koyuyor.

Deep Learning Grafiği
Deep Learning Grafiği

Deep Learning Uygulama Alanları

Derin öğrenme günümüzde pek çok farklı sektörde kullanılmaktadır. Örnek vermek gerekirse otomotiv sektöründe sensör verilerine dayanan sürücüsüz araçlar, tıpta teşhis uzmanlarına duyulan bağımlılığı ortadan kaldırarak emar taramalarındaki kanser belirtilerini tespit edilmesi, pazarlamada duygu analizi fotoğraf ve videoları inceleyerek gerçek zamanlı duygu tespiti yapılması gibi uygulama alanları mevcuttur.

Deep Learning Algoritmaları

1) Decision Trees

Karar ağaçları, kaynakların, risklerin, yapılacak tercihlerin, konulacak hedeflerin belirlenmesinde şansa bağlı olan karar noktalarının incelenmesini sağlayan tekniktir.

Yaklaşık olarak fotoğraftaki gibi bir yapıya sahip olan karar ağaçları, iç düğümlerine girdi alarak bu girdiler sonucunda bir dış düğüm (öneri) sunar. Çoğu zaman asgari sayıda evet/hayır sorusuna sahip iç girdilerden meydana gelmektedir. Mantıklı sonuca ulaşmak için sistematik bir yaklaşım imkanı sunmaktadır.

2) Naïve Bayes Classification

Naïve Bayes sınıflandırması olasılık ilkelerine göre tanımlanmış bir dizi hesaplama ile, sisteme sunulan verilerin sınıfını yani kategorisini tespit etmeyi amaçlar.

Naïve Bayes sınıflandırmasında sisteme belirli bir oranda öğretilmiş veri sunulur (Örn: 100 adet). Öğretim için sunulan verilerin mutlaka bir sınıfı/kategorisi bulunmalıdır. Öğretilmiş veriler üzerinde yapılan olasılık işlemleri ile, sisteme sunulan yeni test verileri, daha önce elde edilmiş olasılık değerlerine göre işletilir ve verilen test verisinin hangi kategoride olduğu tespit edilmeye çalışılır. Elbette öğretilmiş veri sayısı ne kadar çok ise, test verisinin gerçek kategorisini tespit etmek o kadar kesin olabilmektedir.

Bazı günlük hayat uygulamaları:

  • Bir e-mail’in spam mı olduğunu belirleme
  • Yazılmış makalelerin türünü ortaya koyma (teknoloji, spor vb.)
  • Bir metin parçasını kontrol edip olumlu mu olumsuz mu olduğunu belirleme
  • Yüz tanıma yazılımları

3) Ordinary Least Squares Regression

En küçük kareler yöntemi, birbiriyle ilişkilendirilmiş iki farklı fiziksel büyüklüğün birbirine olan matematiksel bağımlılığını, mümkün olan en gerçek sonuca ulaştıracak bir denklem halinde belirtmek amacıyla kullanılan gerileme yöntemidir.

Basitçe ifade etmek gerekirse X ve Y birbirine bağımlı fiziksel büyüklükler olsun. İkisi arasındaki ilişki Y = aX + b gibi bir denklemle ifade edilsin. Bizim amacımız a ve b değerlerini mümkün olduğu kadar gerçek değerlerine yaklaştırmaktır.

Yaklaştırma işlemi için önceden elde edilmiş (xi ve yi) veri çiftleri vardır. Bu değerleri kartezyen denklemde tek tek işaretleriz ve ardından üzerlerinden düz bir çizgi çekmeye çalışırız. Büyük olasılıkla hiçbir zaman böyle bir çizgi elde edemeyiz. Bizim amacımız bu noktada devreye girer ve veri çiftlerine mümkün olan en yakın uzaklıktaki çizgiyi tespit etmeye çalışırız.

En küçük kareler yöntemi, denklemden elde edilen Y değerleri ile ölçüm sonucu elde edilmiş gerçek Y değerlerinin farklarını bulup, karelerini hesaplayıp bu değeri mümkün olduğunca küçültmeye çalışır.

 

Yukarıdaki grafikte mavi noktalar testler sonucunda oluşmuş X ve Y değerlerini ifade eder. Kırmızı çizgi ise en küçük kareler yöntemi kullanılarak elde edilmiş en gerçeğe yakın denklemin oluşturduğu noktalar kümesini gösterir.

4) Logistic Regression

Logistic regression genel olarak bağımlı ve bağımsız değişkenler arasındaki ilişkiyi, en az değişken ile en iyi uyuma sahip olacak biçimde tanımlamayı hedefleyip, kabul edilebilir bir model kurar. Model sayesinde mevcut problemin hangi gruba ait olduğunun tespiti de yapılabilir.

Kullanım alanı olarak gerçek hayattaki hemen hemen her problem verilebilir.

Bir suç hakkında verilerin toplanıp analiz edildikten sonra suçun kimin tarafından işlendiğinin tespiti, sağlık verilerinin toplanıp ardından hastalığın ne olduğuna ve derecesine dair tespitler, günlük trafik akışına ait verilerin toplanıp hangi yolların hangi kullanıcılar tarafından daha çok kullanıldığı, hangi saatlerde en yoğun/en az yoğun olduğu tespiti gibi akla gelebilecek çoğu problemde kullanılır.

5) Support Vector Machines

Support Vector Machines de kümeleme/sınıflandırma problemleri için kullanılan bir yöntemdir. Sınıflandırma için iki farklı sınıfın arasına bir çizgi çekeriz. Bu sınır çizgisi iki farklı sınıfın üyelerine de en uzak bölge olmak durumundadır. SVM bu sınır çizgisinin çekilme biçimini belirler.

Öncelikle iki gruba da yakın iki farklı çizgi çizilir ardından bu çizgiler birbirlerine yakınlaştırılıp tek bir çizgi haline getirilmeye çalışılır.

Genel olarak elde bulundurulan uzayda sınıflandırma için lineer bir karar mekanizması bulunamamış ise, başka bir çok boyutlu uzaya taşınıp, lineer karar mekanizmasını elde etmek amacıyla kullanılır.

Machine learning algoritmalarında ikinci yaklaşım olan Unsupervised Learning (gözetimsiz öğrenme) metodu işaretlenmemiş veri üzerinden bilinmeyen bir yapıyı tahmin etmek için fonksiyon kullanır. Burada girdi verisinin hangi sınıfa ait olduğu belirsizdir. Bu metodun ortaya çıkardığı sonuçlardan, öncesinde bilgi verilmediği için, kesin doğruluk beklenmemektedir.

6) Clustering Algorithms

Demetleme algoritmaları olarak bilinirler. Demet, benzer nesnelerden oluşan grup anlamına gelir. Nesnelerin niteliklerinden faydalanarak veri içindeki benzerlikleri tespit ederek benzer verileri gruplama işlemidir.

Oluşturulmuş hemen hemen her demetleme algoritması birbirinden farklıdır. Birkaç örnek kullanım aşağıdaki gibidir.

  1. Ağırlık merkezi temelli algoritmalar
  2. Bağlılık temelli algoritmalar
  3. Yoğunluk temelli algoritmalar
  4. Olasılıksal algoritmalar (Probabilistic)
  5. Boyut azaltma algoritmaları
  6. Sinirsel ağlar / Derin öğrenme algoritmaları

7) Principal Component Analysis

Temel bileşen analizi demetleme algoritmalara verdiğimiz örneklerden, boyut azaltma algoritmalarına girmektedir. Elde bulundurulan iki bilgi arasında bir bağlantı varsa bu bağlantı yardımıyla iki bilgiden birini elimizde tutarız diğerini kaybederiz. Sonrasında kaybedilen bilgi gerekli olursa bağıntı ve birinci bilgiyi kullanıp kaybedilen bilgiye erişebiliriz.

Bazı PCA uygulamaları öğrenim kolaylığı ve görsellik için verileri sıkıştırmayı hedefler.

Deep Learning Nasıl Öğrenilir ?

Deep Learning konusu ile ilgili Türkçe kaynak sayısı çok az ve derin öğrenmenin yüzeyinden anlatımlar mevcuttur. Derin öğrenmeyi tam anlamıyla öğrenebilmeniz için İngilizce bilmeniz işinizi bir hayli kolaylaştıracaktır.

 

 

İçerik admin

HTML & CSS & PHP & Python Kodlama Dillerini Bilen Dijital Pazarlamada Kendini Geliştirmiş Bir Webmaster Ayrıca Kod Sihirbazı Siteninin Kurucusu

Bir yorum

  1. teşekkürler, bu yararlı makaleniz için.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir