🤖 MAKİNE ÖĞRENMESİNE GİRİŞ

Hilal Gözütok Şakar
İyi Programlama
Published in
6 min readMar 5, 2021

Merhabalar !

Alana hızlıca giriş yaptıysanız, makine öğrenmesi konusunda literatür taraması yaparken kafanız bir tık karıştıysa, nerden başlayacağınızı bilemiyorsanız doğru yerdesiniz!

Bu yazımda makine öğrenmesi alanında derinleşirken kendi yolculuğumda öğrendiğim bilgileri sizlerle paylaşacağım bir seriye başlıyorum.🎈

Keyifli okumalar dilerim…

O zaman makine öğrenmesinin tanımıyla en temelden başlayalım.

🔍Nedir Bu Makine Öğrenmesi ?

Dünyada pek çok data mevcut. Text, resim, müzik, video… Giderek sayısı artan bu dataların bir şekilde anlamlandırılması gerekiyor. Bu dataları anlamlandırmayı matematiksel ve istatistiksel olarak insanlar yapabilir mi ? Evet yapabilir. Ama insanların ömrü boyunca yapabileceği şeyleri bir makine 3–5 saniyede halledebilir. Bu yüzden makinelere ihtiyaç duyuyoruz.

Datadan anlam çıkarmamızı sağlayan makineler bunu yaparken machine learning algoritmalarını kullanırlar.

İnsan hayata bebeklikten başlar, bazı şeyleri öğrenir ve ömrü boyunca bazı görevleri vardır. Makine öğrenmesini de bu yönüyle insana benzetebiliriz. Makineler istatistiği ve bilgisayar bilimlerini kullanarak belli görevleri öğrenebilir.

Peki bunu nasıl yapıyor?

Makine Öğrenimi Yaklaşımları

Tahmine dayalı modellerin doğruluğunun artırılması için makine öğrenimi teknikleri gereklidir. Ele alınan iş sorununun türüne bağlı olarak, verilerin tipine ve hacmine göre farklı yaklaşımlar vardır.

Supervised Learning — Unsupervised Learning
  • Supervised Learning (Gözetimli Öğrenme)
  • Unsupervised Learning(Gözetimsiz Öğrenme)
  • Reinforcement Learning (Pekiştirmeli Öğrenme)

1) “Supervised Learning” Nedir?

Gözetimli öğrenme insan zekası, gözlem ve bilinen sonuçlar tarafından yönlendirilir. Başka bir deyişle, bir algoritmaya “doğru” ve “yanlış” arasındaki farkı söyleriz ve onlardan, kendilerine yeni bilgiler sorulduğunda bu sonuçları taklit etmelerini isteriz. Bir gözetmen veya öğretmenin varlığında gerçekleşen öğrenmeye benzetilebilir.

İyi oluşturulmuş bir algoritma ile makine, kalıpları deşifre etmek ve kendi verimliliğini artırmak için bir model oluşturabilecek ve zamanla daha doğru hale gelebilecek.

Bu tür öğrenmedeki en büyük olumsuzluk, algoritmaya her benzersiz durumu nasıl ele alacağını doğru bir şekilde öğretmek için tüm anormallikleri ve uç durumları içeren yeterli veriye sahip olmaktır.

Gözetimli öğrenme, kullanılan tahmin yöntemine göre daha da bölünebilir.

- Supervised Learning Nasıl Çalışır?

Örneğin, iş yerinizden eve gitmenizin ne kadar süreceğini tahmin etmenize yardımcı olacak bir makine eğitmek istiyorsunuz. Burada, bir dizi etiketli veri oluşturarak başlarsınız. Bu veriler şunları içerir:

  • Hava koşulları
  • Günün belirli saati
  • Tatiller
  • Seçilen rota

Tüm bu detaylar sizin girdilerinizdir. Çıktı, belirli bir günde eve dönmek için geçen süredir.

İçgüdüsel olarak, dışarıda yağmur yağarsa eve gitmenizin daha uzun süreceğini bilirsiniz. Ancak makinenin verilere ve istatistiklere ihtiyacı var.

Şimdi, kullanıcının işe gidip gelme zamanını belirlemesine yardımcı olan bu örneğin gözetimli bir öğrenme modelini nasıl geliştirebileceğinizi görelim. Oluşturmanız gereken ilk şey bir eğitim veri kümesidir. Bu eğitim seti, toplam işe gidip gelme süresini ve hava durumu, zaman vb. gibi ilgili faktörleri içerecektir. Bu eğitim setine göre, makineniz yağmur miktarı ile eve gitmek için harcayacağınız süre arasında doğrudan bir ilişki olduğunu görebilir.

Yani, ne kadar çok yağmur yağarsa, evinize geri dönmek için o kadar uzun süre araba kullanacağınızı belirler. İşten ayrıldığınız zaman ile yolda olacağınız zaman arasındaki bağlantıyı da görebilir.

Akşam 6'ya ne kadar yakınsanız eve gitmeniz o kadar uzun sürer. Makineniz, etiketlenmiş verilerinizle bazı ilişkileri bulabilir.

Öğrenme Aşamaları

2) “Unsupervised Learning” Nedir?

Unsupervised öğrenme gözetimsiz olarak da çevrilen, kulağa biraz başıboş bırakılmış gibi gelen yöntemdir. Aslında öyle bir durum yoktur. Burada yapılmaya çalışılan verilen inputları kullanarak bunlar arasındaki patternları, gizli kalmış detayları yakalamak.

İlk bakışta, gözetimsiz öğrenme gizemli geliyor. Hangi çıktıların doğru veya yanlış olduğuna dair bir talimat yok. Makinelerin eline geçen verileri yorumlamada onlara rehberlik edecek bir insan yok (algoritmanın orijinal yazarının rehberliği dışında). Ancak, zor problemlerde pek iyi sonuçlara ulaşamayabilirsiniz.

- Unsupervised Learning Nasıl Çalışır?

Örneğin bir bebeği ve ailesinin köpeğini ele alalım. Bebek, evlerindeki köpeği tanıyor. Birkaç hafta sonra eve farklı bir bir köpek getirildiğini varsayalım ve bebekle oynamaya çalışsın. Bebek, bu köpeği daha önce görmedi. Ancak birçok özelliğinden (2 kulak, göz, 4 ayak üzerinde yürüme) bu yeni köpeğin evcil köpeği gibi olduğunu bilir.

Bu, size öğretilmeyen ancak verilerden öğrendiğiniz gözetimsiz öğrenmedir. (Bu örnekte köpekle ilgili verileri bebeğin öğrenmesi gibi) Eğer gözetimli öğrenme olsaydı, ailenin bebeğe bunun bir köpek olduğunu öğretmesi gerekirdi.

3) “Reinforcement Learning” Nedir?

Pekiştirmeli öğrenme, davranışçılıktan esinlenen, öznelerin bir ortamda en yüksek ödül miktarına ulaşabilmesi için hangi eylemleri yapması gerektiğiyle ilgilenen bir makine öğrenmesi yaklaşımıdır. Bu problem, genelliğinden ötürü oyun kuramı, kontrol kuramı, yöneylem araştırması, bilgi kuramı, benzetim tabanlı eniyileme ve istatistik gibi birçok diğer dalda da çalışılmaktadır.

Pekiştirmeli öğrenme, doğru girdi/çıktı eşleşmelerinin verilmemesi ve optimal olmayan eylemlerin dışarıdan düzeltilmemesi yönleriyle gözetimli öğrenmeden ayrışır.

-Reinforcement Learning Nasıl Çalışır?

Pekiştirmeli öğrenme, farklı bir hedefe sahip bir algoritma ve bu hedefe ulaşmak için önceden belirlenmiş bir kurallar dizisi programlayarak çalışır. Veri bilimciler, algoritmayı, nihai hedefe yönelik faydalı bir eylem gerçekleştirdiğinde pozitif ödül almaya, bu hedeften uzaklaştıran bir eylem gerçekleştirdiğinde de ceza alacak şekilde programlar.

Hangi Öğrenme Tipini Kullanmalıyım ?

Gözetimli öğrenmenin en kötü tarafı eğitim verisi oluşturmaktır. Eğitim verisi sayesinde bir makine öğrenmesi metodu ile (yüzlerce metot var) bir fonksiyon üretilir. Bu fonksiyon ile yeni gelen veriler tahmin edilmeye çalışılır. Gözetimli öğrenmenin en zaman alıcı kısmı bu eğitim verisinin hazırlanması kısmıdır. Kötü hazırlanmış bir eğitim verisinin çok kötü tahminler yapacağını unutmayın. Eğitim verisi hazırlarken 2–3 kişinin gözetiminden geçmesinde yarar vardır.

Sınıflandırılmamış büyük hacimde veri gerektirdiğinde, gözetimsiz öğrenme kullanılır. Gözetimsiz öğrenmede eğitim verisi olmadığı için grupları algoritma (unsupervised öğrenme için de onlarca algoritma vardır) öğrenmeye çalışır. Bu bölümdeki algoritmalar verileri gruplayarak yeni veriyi en uygun gruba atamaya çalışır. Eğitim verisi olmadığı için uygulaması kolaydır.

Pekiştirmeli öğrenmenin mevcut kullanım örnekleri arasında oyun, kaynak yönetimi, kişiselleştirilmiş öneriler ve robotik yer alır. Oyun, muhtemelen pekiştirmeli öğrenmenin en yaygın kullanım alanıdır. Çok sayıda oyunda insanüstü performans elde etme yeteneğine sahiptir. Yaygın bir örnek, Pac-Man oyununda görülebilir.

İş problemine, veri türüne ve hacmine bağlı olarak ihtiyaçlarınızı belirleyip, seçim yaparken bu farklılıkları göz önünde bulundurabilirsiniz.

Serinin bir sonraki bölümünde görüşmek üzere!

--

--