Makine Öğrenimi Nedir?

Bir sistemin, çeşitli algoritmalar kullanarak yinelemeli olarak verilerden öğrenmesini ve kesin modeller üreten eğitim verilerinden öğrenerek sonuçları tahmin etmesini sağlayan bir yapay zeka (AI) biçimidir.

Makine öğrenimine giriş

Açıkça söylenmeden ne yapacağını bulan bilgisayarlara sahip olmak, insanların uzun zamandır hayal ettiği bir şey.

Müdahaleye gerek kalmadan tüm sürüşü gerçekleştirecek, yayaları ve çukurları belirleyecek ve sizi hedefinize güvenli bir şekilde ulaştırmak için ortamdaki değişikliklere hızlı ve verimli bir şekilde yanıt verecek, içinde sürebileceğiniz (tabii ki sürücü koltuğunda) bir araba fikri pratikte makine öğrenimidir.

Nasıl çalışıyor? Önce yalnızca iş verilerini analiz ederek başlayalım.

Makine Öğrenimi, işletmelerin büyük miktarda veriyi anlamlandırmasına ve bunlardan öğrenmesine olanak tanıyan bir yapay zeka türüdür. Örneğin Twitter’ı ele alalım. Internet Live Stats'a göre, Twitter kullanıcıları her gün yaklaşık 500 milyon Tweet gönderiyor ve bu da yılda yaklaşık 200 milyar tweet'e denk geliyor. Bu kadar çok tweet’i analiz etmek, kategorilere ayırmak, sıralamak, öğrenmek ve herhangi bir tahminde bulunmak insani sınırlar dahilinde değildir.

Makine öğrenimi, işletmelerin değerli bilgiler elde etmesi için önemli ölçüde çalışma gerektirir. Makine öğreniminden en iyi şekilde yararlanmak için temiz verilere sahip olmanız ve bununla ilgili hangi soruyu sormanız gerektiğini bilmeniz gerekir. Ardından işinize fayda sağlayacak en iyi modeli ve algoritmayı seçebilirsiniz. Makine öğrenimi basit veya kolay bir süreç değildir. Başarı titiz çalışmayı gerektirir.

Makine öğreniminin bir yaşam döngüsü vardır:

  • Anlayış. Neden makine öğrenimini kullanmak istiyorsunuz? Ne yapmak ya da ne öğrenmek istiyorsunuz?
  • Veri toplama ve temizleme. İhtiyacınız olan miktarda veriye sahipsiniz ve ihtiyacınız olan bilgileri size vermek için gerektiği kadar temiz.
  • Özellik seçimi.  Bir makine öğrenimi modeli geliştirmek için makine öğrenimine akış sağlamanız gereken verileri belirlemenizi içerir. Kullanılan algoritmaya bağlı olarak, özelliklerin seçimine yardımcı olan farklı yöntemler bulunur. Örneğin, bir karar ağacı algoritması kullanacağınızı varsayalım. Bu durumda, analist veya modelleme aracı, modelinizi oluşturmak için bu verilerin kullanılması gerekip gerekmediğini belirlemek adına veritabanındaki sütunlara bir "ilginçlik puanı" uygulayabilir.
  • Model seçimi. Verilerde belirli şeyleri işlemek ve aramak için eğitilmiş dosyanın (modelin) seçimi. Bir modele birlikte çalışması için bir algoritma verilir. Test verileri ikisini birleştirir ve sonuçlarını geliştirir.
  • Eğitim ve ayar. Modelin sizin için bulduğu sonuçlar, sorularınıza cevap almanızı sağlayacaktır.
  • Kullanıma hazır olup olmadığını veya birkaç adım geriye gidip hedeflerinize ulaşmak için modelinizi, özelliğinizi, algoritmanızı veya verilerinizi iyileştirmeniz gerekip gerekmediğini belirlemek için modelin ve algoritmanın değerlendirilmesi.
  • Eğitimli modelin üretimde kullanımı.
  • Üretimde mevcut modelin çıktısının gözden geçirilmesi

Makine Öğrenimi ne için kullanılıyor? Makine öğrenimi uygulamaları

Makine öğrenimi, işletmelerin verilerini anlaması ve bu verilerden öğrenmesinin bir yoludur. Bir işletme bunu çok sayıda alt alan için kullanabilir. Kullanım durumu, bir şirketin satışları iyileştirmeye, bir arama özelliği sağlamaya, ürünlerine sesli komutları entegre etmeye veya kendi kendine giden bir araba geliştirmeye çalışıp çalışmadığına bağlıdır.

Makine öğrenimi alt alanları

Makine öğrenimi, günümüz iş dünyasında harika bir kullanım yelpazesine sahiptir ve yalnızca zamanla artabilir ve gelişebilir. Makine öğreniminin alt alanlarının birkaçı, sosyal medya ve ürün önerileri, görüntü tanıma, sağlık teşhisleri, çeviriler, konuşma tanıma ve veri madenciliğidir.

Facebook, Instagram, LinkedIn gibi sosyal medya platformları, beğendiğiniz paylaşımlara göre, sayfa takip etmeniz veya gruplara katılmanız için öneriler yaparken makine öğrenimini kullanırlar. Başkalarının beğendiği paylaşımların geçmiş verileri ya da sizin beğendiğiniz paylaşımların benzerleri bu önerilerin size yapılmasını ya da sizin akışınıza eklenmesini sağlar.  

Makine öğrenimini bir e-ticaret sitesinde, geçmiş alışverişleri, aramaları ve başka kullanıcıların sizinkilerine benzer eylemlerini kullanarak ürün önerileri yapması mümkündür.

Makine öğreniminin günümüzdeki önemli bir kullanımı da görüntü tanımadır. Sosyal medya platformları, Makine öğrenimini kullanarak fotoğraflarınızdaki kişileri etiketlemeyi tavsiye eder. Polisler, görseller ve videolardaki şüphelileri ararken bu özelliği kullanırlar. Havaalanları, dükkanlar ve kapı zillerine takılan çok sayıda kamera ile suçu kimin işlediği veya suçlunun nereye gittiği tespit edilebilir.

Sağlık alanında teşhisler makine öğreniminin iyi kullanımlarından biridir. Kalp krizi gibi bir durumdan sonra geriye gidilerek kaçırılan uyarı işaretleri gözden geçirilebilir. Doktorlar veya hastaneler tarafından kullanılan bir sistem, girdilerden (davranışlar, test sonuçları ve semptomlar) çıktılara bağlantıları kontrol etmek için (örnek olarak kalp krizi) geçmişteki sağlık kayıtlarından faydalanabilir. Doktorlar not ve test sonuçlarını sisteme yüklediğinde, makine kalp krizi belirtilerini insanlardan çok daha güvenilir bir şekilde tespit edebilir, böylece hasta ve doktor kalp krizini önlemek için değişiklikler yapabilir.

Web sayfalarındaki ya da mobil platform uygulamalardaki dil çevirileri makine öğreniminin bir başka örneğidir. Bazı uygulamalar diğerlerine göre daha iyi bir iş çıkarır. Bu, kullanılan makine öğrenimi modelleri, teknikleri ve algoritmalarından kaynaklanır.

Makine öğreniminin günlük kullanımlarından bir başkası da banka kartları ve kredi kartlarıdır. Makine öğreniminin kolayca tespit edebileceği, insanların ise, eğer fark edebilirlerse, bulmak için uzun bir zaman harcayacağı dolandırıcılık işaretleri vardır. İncelenen ve etiketlenen (dolandırıcılık olsun ya da olmasın) çok sayıda işlem, gelecekte makine öğreniminin tek bir işlemde sahtekarlığı tespit etmeyi öğrenmesini sağlayabilir. Makine öğrenimini, veri madenciliği hayati önem taşır.

Veri madenciliği

Veri madenciliği, tahminde bulunmak veya büyük veri içerisindeki kalıpları keşfetmek için kullanılan bir tip makine öğrenimidir. Veri madenciliğinde kötü amaçlı bir saldırgan ya da çalışan olsun yararlı bir veri parçası bulmak için verilerinize ayrıntılı bir şekilde girmesine gerektirmez. Aksine süreç, gelecekte doğru kararlar vermeniz için verilerdeki kalıpları keşfetmeyi içerir.

Örneğin bir kredi kartı şirketini ele alalım. Bir kredi kartına sahipseniz, öyle ya da böyle bir noktada bankanız sizi şüpheli bir eylemden dolayı uyarmıştır. Banka nasıl oluyor da bu kadar çok eylemi tespit edip, neredeyse anında bir uyarı yolluyor? Sürekli veri madenciliği bu dolandırıcılık korumasına olanak tanıyor. 2020 yılının başında, yalnızca ABD’de kullanıma sunulan kart sayısı 1,1 trilyonu aşmıştı. Bu kartlarla yapılan işlemler, ileride yaşanabilecek şüpheli işlemleri tespit edebilmek, madencilik ve desen aramaları için gerekli veriyi üretiyor.

Derin Öğrenme

Derin öğrenme sinir ağlarına dayalı özel bir makine öğrenimi türüdür. Bir sinir ağı, insan beynindeki nörönların bir karar verirken ya da bir şeyi anlarken kullandığı işlevleri taklit ederek çalışır Örneğin, altı yaşındaki bir çocuk yüzüne bakarak annesini karşıdan karşıya geçen nöbetçiden ayırt edebilir, çünkü beyni göz açıp kapayıncaya kadar saç renginden yüz özelliklerine kadar kadar birçok ayrıntıyı hızlı bir şekilde analiz eder. Makine analizi bunu derin öğrenme biçiminde taklit eder

Bir sinir ağı 3 veya 5 katmanlıdır. Bir girdi katmanı, birden üçe kadar gizli katman ve bir çıktı katmanı içerir. Gizli katmanlar, çıktı katmanı veya sonuca tek tek ulaşacak şekilde kararları verir. Saç rengi nedir? Göz rengi nedir? Yara izi var mı? Katman sayısı 100 civarına ulaştığı zaman buna derin öğrenme adı verilir.

Makine Öğrenimi Türleri

Temelde, denetlemeli, yarı denetlemeli, denetlemesiz ve destekli olmak üzere 4 adet makine öğrenimi algoritması bulunur. Makine öğrenimi uzmanları günümüzde kullanılan makine öğrenimi algoritmalarının yüzde 70’inin denetmeli olduğunu düşünüyor. Denetlemeli algoritmalar, bilinen ya da etiketli veri kümeleriyle çalışırlar. Örneğin kedi ve köpek resimleri. İki hayvan tipi tanınır, böylece yöneticiler algoritmaya vermeden önce görselleri etiketleyebilir.

Denetlemesiz makine öğrenimi algoritmaları bilinmeyen veri setlerinden öğrenir. Örneğin Tiktok videoları. Tik Tok'ta o kadar çok konu içeren o kadar çok video var ki, etiketleme olmadığından bunlardan bir algoritmayı denetimli bir şekilde eğitmek imkansızdır.

Yarı denetlemeli makine öğrenimi algoritmaları bilinen ve işaretli olan küçük bir veri setiyle eğitilmiştir. Daha sonra eğitimine devam etmesi için daha büyük ve etiketlenmemiş bir veri kümesine uygulanır.

Desteklenmiş makine öğrenimi algoritmaları başlangıçta eğitilmemiştir. Deneme yanılma yöntemiyle öğrenirler. Bir yığın taşı yönlendirmeyi öğrenen bir robotu düşünün. Her başarısız olduğunda neyin işe yaramadığını öğrenir ve başarılı oluncaya kadar davranışını değiştirir. Bir köpeğin eğitimini ve çeşitli emirleri öğrenmesi için verilen ödülleri düşünün. Pozitif destek ile köpek, olumsuz bir yanıt gelinceye kadar emirleri uygulamaya ve davranışını değiştirmeye devam eder.  

Denetimli ve denetimsiz makine öğrenimi

Denetimli makine öğrenimi

Kalıp bulmak için bilinen, yerleşmiş ve sınıflandırılmış veri kümelerini kullanır. Kedi ve köpek resimleri düşüncesini biraz genişletelim Milyonlarca görsel arasında tutulan ve binlerce farklı hayvan içeren devasa bir veri kümesine sahipsiniz. Hayvan türleri bilindiğine göre, anlamak ve öğrenmek için vermeden önce makine öğrenimine sağlamadan önce bunlar gruplanabilir ve etiketlenebilir.

Denetimli algoritma, girdileri çıktılarla ve görseli hayvan türünün etiketiyle karşılaştırır. Bir süre sonra yeni fotoğraflarda karşılaştığı belirli türde hayvanları tanımayı öğrenir.

Denetimsiz makine öğrenimi

Denetimsiz makine öğrenimi algoritmaları günümüzdeki spam filtrelerine benzer. Başlangıçta yöneticiler spam filtrelerini spamı anlamaları için e-postalardaki belirli kelimeleri aramaya programlayabilirler. Bu artık mümkün değil. Bu yüzden denetimsiz makine öğrenimi bu durumda iyi çalışır. Denetimsiz makine öğrenimi algoritması kalıpları aramak için etiketlenmemiş epostalar ile beslenir. Bu kalıplar bulundukça, üretim ortamındaki spamın ne olduğunu ve spamı tanımlamayı öğrenir.

Makine öğrenimi teknikleri

Makine öğrenimi teknikleri problemleri çözer. Karşılaştığınız problem göre, belirli bir makine öğrenimi tekniği seçersiniz İşte 6 yaygın örnek.

Regresyon tekniği

Regresyon iç pazar fiyatlarını ya da aralık ayında Minnesota’da bir kar küreğinin en uygun satış fiyatını tahmin etmek için kullanılabilir. Regresyon, fiyatın ne kadar artarsa artsın ortalama fiyatına geri döneceğini söyler. Zaman zaman ev fiyatları artsa da, geri dönüşün yaşanacağı bir ortalama fiyat bulunur. Zaman/Fiyat grafiği çizerek fiyatın ortalamasını bulabilirsiniz. Kırmızı çizgi grafik boyunca devam ettikçe, gelecek tahminleri yapılabilir

Sınıflandırma

Sınıflandırma, verileri bilinen kategorilere ayırmak için kullanılır. Tahmin edilebilecek iyi müşteriler (her zaman geri gelirler ve daha fazla para harcarlar) veya başka bir yerde alışveriş yapacağı tahmin edilen müşteriler arıyor olabilirsiniz. Zaman içinde geriye bakıp her müşteri sınıflandırması için tahmin edici unsurlar bulabilirseniz, bunu mevcut müşterilere uygulayarak hangi gruba uyacaklarını tahmin edeceksiniz. Böylece daha iyi ticaret yapabilir, mevcut müşterileri düzenli müşterilere dönüştürebilirsiniz Bu denetimli makine öğrenimine iyi bir örnektir.

Kümeleme

Kümeleme tekniği sınıflandırmanın aksine denetimsiz makine öğrenimidir Kümelemede, sistem nasıl gruplandırılacağı bilinmeyen verileri nasıl gruplandıracağını bulur. Bu makine öğrenimi türü, sağlık görselleri analizi, sosyal ağların analizi ve anomalileri tespit etmek için mükemmeldir.

Google, YouTube videoları, Play uygulamaları ve Müzik parçaları gibi ürünlerde genelleştirme, veri sıkıştırma ve gizliliğin korunması için kümeleme kullanır.

Anomali tespiti

Bir sürüdeki kara koyunu tespit etmek gibi aykırı değerler ararken anormallik tespiti kullanılır. Yüksek miktardaki veriler incelenirken, insanların bu tarz anormallikleri bulması imkansızdır. Ancak bir veri bilimcisi, birçok hastaneden gelen tıbbi faturaları verilerini kullanarak anormallik tespiti yaparak faturalandırmayı gruplandırmanın bir yolunu bulabilir. Dolandırıcılıkların gerçekleştiği yerlerde bir takım aykırılıklar keşfedebilir.

Market sepeti analizi

Market sepeti analizi gelecek için tahminler yapılmasını sağlar. Basit bir örnek verirsek, müşteriler dana kıyma, domates ve taco gibi ürünleri sepetlerine koyarsa, peynir ve ekşi kremayı da ekleyeceklerini tahmin edebilirsiniz. Bu tahminler, internet üzerinden alışveriş yapanlara unuttukları eşyalar için değerli öneriler yaparak veya bir dükkandaki ürünleri gruplayarak ek kazanç sağlamak için kullanılabilir.

MIT’den iki professor bu yaklaşımı “başarısızlığın habercisi”ni keşfetmek için kullandılar. Görünüşe göre, bazı müşteriler başarısız olan ürünleri tercih ediyor. Tespit edebilirseniz, bir ürünü satmaya devam edeceğinize karar vermek ve doğru alıcılara olan satışı artıracak doğru pazarlamayı bulmak için kullanabilirsiniz

Zaman serisi verileri

Zaman serisi verileri, çoğumuz hakkında, genellikle bileklerimize taktığımız fitness izleyicileriyle toplanır. Kalp atışlarımızı, dakikada veya saatte kaç adım attığımızı ve bazıları oksijen satürasyonu verilerini topluyor Bu veri ile birinin ne kadar koşacağını tahmin etmek mümkün olabilir. Makineler hakkında veri toplamak ve zamana dayalı titreşim seviyesi, desibel gürültü seviyesi ve basınç verileri ile başarısızlık ihtimali tahmin edilebilir.

Makine eğitimi algoritmaları

Makine öğrenimi veri ile öğreniyorsa bir algoritmayı istatiksel olarak önemli veriyi bulmak ve öğrenmek için nasıl tasarlarsınız? Makine öğrenimi algoritmaları, denetimli, denetimsiz veya destekli makine öğrenimini destekler.

Veri mühendisleri, makine öğrenimine veya verilerdeki önemli şeyleri bulmaya izin veren kodlar olan algoritmaları yazar.

Bir kaç yaygın algoritmalaya göz atalım. İşte günümüzde en çok kullanılan 5 örnek.

  • Doğrusal regresyon algoritmaları, bağımsız ve bağımlı değişkenleri bir grafiğe uydurarak ve ortalama ve ya eğilim bulmak için düz bir çizgi çizerek bir ilişki kurar. Merriam-Webster regresyonu, bir veya birden fazla bağımsız değişkenin belirli değerlerinin olduğu koşulu altında rastgele değişkenin ortalama değerini hesaplayan fonksiyon olarak tanımlar. Bu tanım lojistik regresyon için de geçerlidir.
Makine Öğrenimi Algoritması
  • Lojistik(yani logit) regresyon doğrusal regresyon gibi değişkenleri grafiğe yerleştirir ama çizgi doğrusal değildir. Bu çizgi sigmoid bir fonksiyondur.
Lojistik Regresyon
  • Denetimli makine öğreniminde karar ağacı sık kullanılan bir algoritmadır. Bu, sürekli ve kategorik değişkenler ile veriyi tanımlamak için kullanılır.
Karar Ağacı diyagramı
  • Vektör Destek Makinesi iki en yakın veri noktasına dayalı bir hiper düzlem çizer. Bu, sınıfları ötekileştirerek veriyi ayırır. Veriyi n boyutlu olarak sınıflar. N, farklı özellik sayısını temsil eder.
Hyperlane diyagramı
  • Naïve bayes belirli bir sonucun oluşma ihtimalini hesaplar. Çok etkilidir ve çok yönlü sınıflandırma modellerinden daha üstündür. Bir Naïve Bayes sınıflandırma modeli verilen bir özelliğin belirli başka bir özellikle ilgisinin olup olmadığını anlar.
Naïve Bayesian modeli

Makine öğrenme modelleri

Makine öğrenimi türlerini (denetimli, denetimsiz vb.) birleştirdikten sonra, teknikler ve algoritmalar ve sonuç eğitilmiş bir dosyadır. Dosyaya yeni bir veri girilebilir ve kalıpları algılayıp tahminlerde bulunabilir ya da gerektiğinde işletme, yönetici ve müşteri adına kararlar verebilir.

Makine öğrenimi için en iyi diller

Makine öğrenimi dilleri, sistemin öğrenmesi için talimatların nasıl yazılacağıdır. Her dil, başkalarına rehberlik etmek ya da öğrenmeye yardım etmek için bir kullanıcı topluluğuna sahiptir. Makine öğrenimi kullanımı için ,her dilin kütüphaneleri bulunur.

GitHub’ın 2019 yılında gerçekleştirdiği En iyi 10 anketine göre işte en iyi 10 programlama dili.

  • Python
  • C++
  • JavaScript
  • Java
  • C#
  • Julia
  • Shell
  • R
  • TypeScript
  • Scala - Büyük veri etkileşimleri için kullanılan bir dil.


Python makine öğrenimi

Python en yaygın makine öğrenimi dilidir. İşte detaylı bilgiler.

Adını Mont Python’dan alan Python, yorumlanmış, açık kaynaklı, nesne merkezli bir dildir. Yorumlanmış olduğu için, Python sanal makinesi tarafından çalıştırılmadan önce bayt kodlarına dönüştürülür.

Python’I makine öğrenimi için tercih edilir yapan çeşitli özellikler vardır.

  • Şu anda kullanılabilir bir çok güçlü paket. Numpy, Scipy, Panda gibi belirli makine öğrenimi paketleri bulunur.
  • Prototipler kolayca ve hızlıca hazırlanabilir.
  • İşbirliğine imkan tanıyan farklı araçlar içerir.
  • Bir veri bilimcisi, modellemeden makine öğrenimi çözümlerini güncellemeye geçerken, Python tercih edilen dil olmaya devam edebilir. Bir veri bilimci, yaşam döngüsü boyunca ilerlerken dil değiştirmek zorunda değildir.

Kaynaklar