Yapay zeka , makine öğrenimi , derin öğrenme ve algoritma kelimeleri çok sık birbirleri ile karıştırılıp yanlış anlaşılmaktadır. Terimlerin anlamı, doğru ve net bilinmediğinde birbirleri yerine yanlış alanlarda kullanılır, problem çözümlerinde karmaşıklığa yol açar. Bu yanlış anlaşılmalar bir dereceye kadar kabul edilebilir. Bununla birlikte, Yapay zeka, Makine öğerinimi, Derin öğrenme ve algoritma, kendilerine sabit bir anlam atanacak kadar uzun zamandır var olan dört terimdir. Bu yazımızda sizlere bu dört terimi doğru ve anlaşılır biçimde anlatmaya çalışacağız.
Algoritma Nedir?
Bir bilgisayara ne yapacağını söylemek için kod yazılımını kullanılırız. Bu kodu yazmak için algoritmaya ihtiyaç duyarız. Diğer bir deyişle, algoritma, bir sorunu çözmek için izlenecek kuralların listesidir. Algoritmaların çoğu insanın düşündüğünden daha basittir. Bazen tek bir if → then deyiminden oluşabilirler. Örnek vermek gerekirse, Eğer bu düğmeye basılırsa, Bu eylemi gerçekleştirin.
Algoritma, “if” ifadesinden sonra basit bir sıra veya daha karmaşık matematiksel denklemlerden oluşan bir sıra olabilir. Bir algoritmanın karmaşıklığı, yürütmesi gereken her bir adımın karmaşıklığına ve algoritmanın yürütmesi gereken adımların sayısına bağlıdır[1]. Bunun için gündelik hayattan çok basit bir örnek verebiliriz. Bir algoritmanın en belirgin örneklerinden biri yemek tarifidir. Yemek pişirirken de aynı algoritmada olduğu gibi, bir dizi talimatlar listesine sahip olup her bir adımı zamanında ve yerinde gerçekleştirmeye çalışırız. Örneğin bir kek pişirmek istediğimizde her bir malzemeyi adım adım ekler ve talimatlara uyarak işin sonunda lezzetli bir kek elde ederiz.
Bir algoritmanın özelliklerinden biri, bir talimat listesi olduğundan, sırayla gerçekleşen adım adım işlemlerin olmasıdır. Çoğu zaman, adımların verildiği sıra büyük fark yaratabilir. Kek örneğindeki tarifin adımlarını yeniden sıraladığımızı ve fırını önceden ısıtmadan keki fırına koyduğumuzu varsayalım. Bu işlem kekimizin istenilen kalitede olmamasına sebep olurdu! Bu nedenle adımların sıralaması çok önemlidir.
Makine Öğrenimi Nedir?
Makine öğrenimi (Machine Learning-ML), sistemlere açıkça Programlama uygulamadan ede edilen deneyimlerden otomatik olarak öğrenme ve geliştirme yeteneği sağlayan yapay zeka uygulamasıdır. Makine öğrenimi, verilere erişebilen ve öğrenmeyi kendileri için kullanabilen bilgisayar programlarının geliştirilmesine odaklanır.
Öğrenme süreci, verdiğimiz örneklere dayanarak verilerdeki kalıpları aramak ve gelecekte daha iyi kararlar vermek için örnekler, doğrudan deneyim veya talimatlar gibi gözlemler veya verilerle başlar. Birincil amaç, bilgisayarların insan müdahalesi veya yardımı olmadan otomatik olarak öğrenmelerini sağlamak ve eylemleri buna göre ayarlamaktır.
Makine Öğrenimi Metodları:
Makine öğrenimi algoritmaları genellikle denetlenen veya denetlenmeyen olarak kategorize edilir.
Denetimli makine öğrenme algoritmaları (supervised ML), geçmişte öğrenilenleri gelecekteki olayları tahmin etmek için etiketli örnekler kullanarak yeni verilere uygulayabilir. Bilinen bir eğitim veri kümesinin analizinden başlayarak, öğrenme algoritması çıktı değerleri hakkında tahminler yapmak için çıkarımsal bir işlev üretir. Sistem, yeterli eğitimden sonra herhangi bir yeni girdi için hedef sağlayabilir. Öğrenme algoritması aynı zamanda çıktısını doğru, amaçlanan çıktıyla karşılaştırabilir ve modeli buna göre değiştirmek için hataları bulabilir[2].
Denetimli Makine Öğrenme Algoritmalarının Uygulandığı Problem Türleri:
- Sınıflandırma (Classification):
Sınıflandırma, girdi verilerinin kategorisini veya sınıfını bulmaya çalışır. Bu işlemi gerçekleştirmek için önceden nesne hakkında verilere sahip olması gerekir. Verilerden kastettiğimiz, sınıflandırmak istediğimiz nesneleri birbirinden ayırt edebileceğimiz özelliklerdir.
Şekil.1.Denetimli makine öğrenme algoritması- sınıflandırma örneği [3]
Örneğin, yukarıdaki resmi ele alalım; Önce veriler sisteme yüklenilir. Veriler elma ve kap kekten oluşmaktadır. Toplamda her iki nesne içinde 100 verimizin olduğunu varsayalım. Genellikle bu verilerin %80’i eğitim verisi (Training Data) için ve geri kalan %20 veri test verisi (Test Data) olarak kullanılır. Veriler nesnelerin özelliklerini taşır örneğin renk, boyut, kalınlık vb. Bu özelliklerden yola çıkarak sistemimiz belli başlı algoritmalar kullanarak her iki nesneyi eğitim verisi ile sınıflandırır. Daha sonra test verileri ile sistemin doğru çalışıp çalışılmadığı kontrol edilir.
- Regresyon/Tahminleme (Regression)
Regresyonda, hedefimiz verdiğimiz giriş değerleri için (yani verilerimiz) bir fonksiyon bulmaktır. Burada çıkış değeri (hedef sonuç) sürekli bir sayıdır. Regresyon algoritmaları bir işlevi verilen veri noktalarına uydurmaya çalışır ve en uygun montaj fonksiyonunu bulduktan sonra bu özelliği giriş özelliklerinden çıkış değerlerini hesaplamak için kullanır.
Örneğin, grafikte X ve Y ekseni arasında doğrusal benzeri bir korelasyon olduğunu kolayca görebiliriz. Bu nedenle bu grafiğe Y = aX + b gibi bir işlevi sığdırabiliriz. En iyi a ve b değerlerini aradıktan sonra. Yeni gelen veriler için yeni değerler tahmin edebileceğiz [3].
Şekil.2. Denetimli makine öğrenme algoritması-regresyon örneği [4]
NOT:
- Sınıflandırma probleminde hedeflediğimiz çıkış kategoriktir. Mesela hava durumunu ele alırsak beklediğimiz cevap şu şekilde olmalı “güneşli mi?” “güneşsiz mi?” veya farklı bir örnekte “evet” “hayır” gibi kategorik sonuçları amaçlarız.
- Regresyon probleminde çıkış her zaman sayısaldır. Örneğin bir arabanın sahip olduğu özelliklere göre hızını tahmin etmek istersek hedef sonucumuz sayısal olmalıdır.
Buna karşılık, eğer eğitmek için kullanılan bilgiler ne sınıflanabilir ne de etiketlenebilirse bu gibi durumlarda denetimsiz makine öğrenme algoritmaları kullanılır. Denetimsiz öğrenme, etiketlenmemiş verilerden gizli bir yapıyı tanımlamak için sistemlerin nasıl bir işlev çıkarabileceğini inceler. Sistem doğru çıktıyı bulamıyor, ancak verileri araştırıyor ve etiketlenmemiş verilerden gizli yapıları tanımlamak için veri kümelerinden çıkarımlar yapabiliyor [2].
NOT: Denetimsiz öğrenme, kümeleme problemlerinde kullanılır. Kümele işlemi bir nevi denetimli öğrenmedeki sınıflandırmaya benzer ancak daha az bilgiye sahip olduğumuz bir durumu belirtir. Örneğin, şekil 1’deki nesnelerin ne olduğunu bilmediğimiz bir durum söz konusu olsun yeterli bilgiye sahip olmadığımız için sistemi eksik veri ile beslemiş olacağız.
Yapay Zeka Nedir?
Yapay zekanın (Artificial İntelegance-Al) ne olduğuna atlamadan önce, yapay zeka ile ML arasında net bir ayrım olmadığını belirtmeliyiz. Makine öğrenimi aslında yapay zekanın bir parçasıdır. Bununla birlikte, Yapay zekayı, öngörülemeyen koşullarla başa çıkabilen bir dizi algoritma olarak tanımlıyoruz. Makine öğreniminden farkı, yapılandırılmamış verilerle beslenebilmesinden ve hâlâ işlev görebilmesinden kaynaklıdır.
Yapay zeka, insan zekasını taklit edebilen bir bilgisayar sistemi yapan bilgisayar bilimi alanıdır. “Yapay” ve “zeka” olmak üzere iki kelimeden oluşur. Bu, “insan yapımı bir düşünme gücü” anlamına gelir. Yapay zeka sisteminin önceden programlanmasını gerektirmez, bunun yerine kendi zekasıyla çalışabilecek algoritmaları kullanır. Derin öğrenme sinir ağları gibi makine öğrenme algoritmalarını içerir [5].
Tablo.1.Yapay Zeka ve Makine Öğrenimi Arasındaki Temel Bazı Farklar [5]
Yapay Zeka | Makine Öğrenimi |
Yapay zeka, bir makinenin insan davranışını simüle etmesini sağlayan bir teknolojidir. | Makine öğrenimi, bir makinenin açık bir şekilde programlama yapmadan geçmiş verilerden otomatik olarak öğrenmesini sağlayan bir AI alt kümesidir. |
Yapay zekada insana benzer herhangi bir görevi yerine getirmek için akıllı sistemler yapıyoruz. | ML’de, belirli bir görevi yerine getirmesi ve doğru bir sonuç vermesi için verileri makinelere öğretiyoruz. |
Öğrenme, akıl yürütme ve kendi kendini düzeltme içerir. | Yeni verilerle tanıtıldığında öğrenme ve kendi kendine düzeltme içerir. |
AI tamamen yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış verilerle ilgilenir. | Makine öğrenimi yapılandırılmış ve yarı yapılandırılmış verilerle ilgilenir. |
Derin Öğrenme Nedir?
Derin öğrenme (Deep Learning-DL), makine öğrenmenin bir alt kümesidir. Genellikle insanlar derin öğrenme terimini kullandıklarında, derin yapay sinir ağlarına atıfta bulunurlar. Derin yapay sinir ağları; görüntü tanıma, ses tanıma, öneri sistemleri, doğal dil işleme vb. birçok önemli sorun için yeni kayıtları doğru bir şekilde ayarlayan bir dizi algoritmadır. Örneğin, derin öğrenme DeepMind’in tanınmış AlphaGo’sunun bir parçasıdır. 2016’nın başlarında Go’da eski dünya şampiyonu Lee Sedol’u ve 2017’nin başlarında mevcut dünya şampiyonu Ke Jie’yi yenen algoritmadır.
Derin, teknik bir terimdir. Bir sinir ağındaki katman sayısını ifade eder. Sığ bir ağın bir gizli katmanı vardır, derin bir ağın ise birden fazla katmanı vardır. Birden fazla gizli katman, derin sinir ağlarının sözde özellik hiyerarşisindeki verilerin özelliklerini öğrenmesine izin verir, çünkü daha basit özellikler (örneğin bir çizgi) oluşturmak için basit özellikler (örn. İki piksel) bir katmandan diğerine yeniden birleşir. Birçok katmana sahip ağlar, giriş verilerini (özellikleri), birkaç katmana sahip ağlardan daha matematiksel işlemlerden geçirir ve bu nedenle eğitim için daha fazla hesaplama gerektirir. Hesaplamalı yoğunluk, derin öğrenmenin ayırt edici özelliklerinden biridir ve derin öğrenme modellerini eğitmek için yeni bir çip çağrısı GPU’ların talep edilmesinin bir nedenidir [6].
Şekil .3. Derin Öğrenme Örneği[7]
Referanslar:
[1] Berendsen. B., What’s The Difference Between Artificial Intelligence, Machine Learning and Algorithms, https://widgetbrain.com/difference-between-ai-ml-algorithms/
[2] Expert System Team., What is Machine Learning? A definition, https://expertsystem.com/machine-learning-definition/
[3] Tümer. C., Machine Learning Basics with Examples — Part 2 Supervised Learning, https://medium.com/@canburaktumer/machine-learning-basics-with-examples-part-2-supervised-learning-e2b740ff014c
[4] Grace-Martin. K., Linear Regression for an Outcome Variable with Boundaries, https://www.theanalysisfactor.com/linear-regression-outcome-boundaries/
[5]Difference between Artificial intelligence and Machine learning, https://www.javatpoint.com/difference-between-artificial-intelligence-and-machine-learning
[6] Nicholson. C., Artificial Intelligence (AI) vs. Machine Learning vs. Deep Learning, https://pathmind.com/wiki/ai-vs-machine-learning-vs-deep-learning
[7] Vázquez. F., Deep Learning made easy with Deep Cognition, https://becominghuman.ai/deep-learning-made-easy-with-deep-cognition-403fbe445351