ML101: Makine öğrenmesi nedir?

ML101: Makine öğrenmesi nedir?

ML101 serisinin ilk yazısında makine öğrenmesi ya da bir diğer tabiriyle machine learning kavramına giriş yapıyor ve bir makine öğrenmesi projesinin hangi süreçleri içerdiğini ele alıyoruz.
Cem İstanbullu27 May 2022

Python ile Derin Öğrenme kitabının yazarı François Chollet yapay zekayı, “normalde insanlar tarafından yerine getirilen düşünsel faaliyetleri otonom hale getirme” olarak tanımlamıştır. Yapay zeka, makine öğrenmesi ve derin öğrenmeyi kapsayan oldukça geniş bir alandır ve ilk olarak 1950 yılında Alan Turing tarafından, “akıllı” ve “akılsız” makine kavramı ile ortaya atılmıştır. Bir makinenin "akıllı" bir makine statüsü alabilmesi için, makinenin insanı ve makineyi birbirinden ayırabilmesi gerektiği kabul edilmiştir. Bir yapay zeka uygulamasının her zaman makine öğrenimi algoritması içermesi ise gerekmemektedir. Örneğin bir insanın makineyi yenmesinin imkansız olduğu tic-tac-toe oyunu, minimax yöntemi uygulanarak akıllı bir sisteme dönüştürülebilir. Ancak daha karmaşık problemlerin çözümü için makine öğrenmesi ihtiyacı ortaya çıkmıştır.

Makine öğrenmesi, bir sistemin büyük ölçekli gözlemler yoluyla bilgiyi edinme, bütünleştirme ve bu bilgiyle programlanmak yerine yeni bilgiler öğrenerek kendini geliştirme ve genişletme becerisini ifade eder. Makine öğrenmesi, deneysel verileri kullanılabilir modellere dönüştürmek için hesaplama algoritmalarının kullanılmasına dayanan bir çalışma alanı olup, geleneksel istatistik ve yapay zeka topluluklarından doğmuştur. Yöntem, önceden belirlenen kurallar çerçevesinde girdi verisi ile bir çıktının üretildiği geleneksel programlamanın aksine, girdi ve çıktılar arasındaki bağlantının kurularak kuralların üretilmesine dayanmaktadır.

Derin öğrenme ise birbirini takip eden katmanlardan daha kapsamlı çıktılar elde ettiğimiz makine öğreniminin bir alt basamağıdır. Klasik makine öğrenimi algoritmaları genelde 1 veya 2 katmandan oluşurken derin öğrenme modelleri yüzlerce katmandan oluşabilen yapıların tasarlanabildiği matematiksel modellerdir.

Peki kısaca makine öğrenmesi nedir?

Makine öğrenimi, verileri keşfederek kalıpları tanımlayan ve büyük verilerdeki değişkenler arasındaki ilişkiyi öğrenen, bilgisayarların programlanmadan çalışmasının sağlandığı algoritmaların ve istatistiksel modellerin bilimsel çalışmasıdır. Makine öğrenimi genellikle bir dizi örnekten bir yol öğrenen mantıksal veya ikili işlemlere dayalı otomatik hesaplama yöntemleridir.

 

Neden makine öğrenmesine ihtiyaç duyuyoruz?

Yapay zekanın bu dalı, sistemlerin verilerdeki kalıpları tanımlamasını, kararlar almasını ve gelecekteki sonuçları tahmin etmesini sağlayan, insanların uzun yıllarda çözebilecekleri (veya hiçbir zaman çözemeyecekleri) büyük miktardaki veriyi analiz ederek yorumlar. Temelde daha hızlı ve genellenebilir bir çaba içerisinde öğrenme girişimidir ancak elde edilen çıktı minimum insan müdahalesi içerir.

Veri tanımlı bir model veya bir dizi kuralla tanımlanabilen hemen hemen her görev, makine öğrenimi ile otomatikleştirilebilir, büyük veriden kural çıkararak programlama makine öğrenimine bırakılabilir. Bu, daha önce yalnızca insanların gerçekleştirebileceği süreçlerde zaman ve insan gücünden tasarruf ederek şirketlerin bilinmezlikleri azaltmalarını sağlamıştır.

 

Makine öğrenmesi nasıl hayata geçer?

Birçok matematikçi ve programcı, büyük veri setlerine sahip problemin çözümünü bulmak için çeşitli yaklaşımlar uygular. Makine öğrenmesi, bir problemin çözülmesi için farklı algoritmalara dayanabilir. Veri bilimciler bir problemi çözmek için kullanılabilecek en uygun algoritma türünü seçerek veriyi algoritmanın isteyeceği şekilde hazırlar. Kullanılan algoritmanın türü, çözülmek istenen problemin cinsi ve değişkenlerin sayısı gibi özelliklere bağlı olarak değişmektedir. 

 

Makine öğrenmesi süreci hangi aşamaları içerir?

Algoritma fark etmeksizin, her makine öğrenimi süreci benzer adımlardan geçmektedir.

  1. Problem belirleme: Neyi öngörmeniz gerektiğine ve bu tahminleri yapmak için ne tür gözlem verilerine sahip olmamız gerektiğine göre makine öğrenimi problemini netleştirin.
  2. Veri toplama: Yapılandırılmış (veri tabanından alınmış tablolu net veri gibi) veya yapılandırılmamış (düz paragraf metni gibi) verileri toplayarak bir veri seti oluşturun.
  3. Veri hazırlama: Verileri makine öğrenimi için uygun şekilde hazırlayın. Veriler arası anlamlı değişkenler oluşturun.
  4. Model seçimi: Tahmin etmek için model seçmek önemli bir adımdır. Probleminizi en iyi temsil edecek ve verilerinize uygun olan modeli seçin.
  5. Eğitim-Doğrulama-Test verilerinin ayrılması: Veriler, modelin çıktıyı öngörme yeteneğini kademeli olarak geliştirir. Veri setini eğitim, validasyon ve test verisi olarak ayırın. Modelinizi eğitim ve doğrulama verilerinizle eğitip, test veriniz ile doğrulayın.
  6. Değerlendirme: Değerlendirme, modelimizi eğitim için hiç kullanılmamış verilere karşı test etmemize izin verir. Eğitim sonuçlarınızı geliştirmeler ve yorumlamalar için kullanın.
  7. Parametre ayarlama : Elde edilen sonuçların değerlendirilmesinin ardından sonuçların daha da iyileştirilip iyileştirilemeyeceğine bakılması gerekmektedir. En iyi sonuçların elde edildiği uygun parametreleri ayarlayarak sonuçları iyileştirin.
  8. Tahmin: Modelin görmediği veriler ile tahmin yapın.

 

Makine öğrenmesi nerelerde kullanılıyor?

Makine öğrenmesi, internet arama motorlarında, istenmeyen postaları ayıklamak için e-posta filtrelerinde, kişiselleştirilmiş önerilerde bulunmak için web sitelerinde, dolandırıcı tespit etmek için bankacılık sektöründe, sağlık alanında kanserli hücre tespitinde ve telefonlarımızdaki ses tanıma gibi birçok uygulamada kullanılmaktadır.


Konu ile ilgili daha detaylı bilgiye erişmek ve  FLO, Iyzico, THY gibi alanında öne çıkan firmaların verileri ile projeler geliştirmek için Miuul’un Makine Öğrenmesi eğitimini veya Data Scientist Path kariyer yolculuğu programını inceleyebilirsiniz.

 

Kaynaklar

Miuul topluluğunun bir parçası ol!

Abone ol butonuna tıklayarak Miuul'dan pazarlama ve haber içerikleri almayı onaylıyorum.