Makine Öğrenmesi

menu icon

Makine Öğrenmesi

Makine öğrenmesi, deneyimden ders çıkaran ve zaman içinde karar alma ya da tahmine dayalı doğruluğu iyileştiren uygulamalara odaklanır.

Makine öğrenmesi nedir?

Makine öğrenmesi, bu amaçla programlanmadan verilerden öğrenen ve zaman içinde doğruluğu iyileştiren uygulamalar oluşturmaya odaklı bir yapay zeka (AI) dalıdır. 

Veri biliminde algoritma, istatistiki işlem adımları sırasıdır. Makine öğrenmesinde algoritmalar, yeni verilere dayalı olarak kararlar almak ve tahminlerde bulunmak için yüksek hacimde verilerdeki kalıpları ve özellikleri bulmak için 'eğitilir'. Algoritma ne kadar iyiyse, daha çok veriyi işleme aldığından tahminler ve kararlar da o kadar doğru hale gelir.

Bugün makine öğrenmesi örneklerini çevremizde her yerde görüyoruz. Dijital asistanlar, sesli komutlarınıza yanıt olarak web ortamında arama yapar ve müzik çalar. Web siteleri, daha önce satın aldıklarımız, izlediklerimiz ya da dinlediklerimize göre ürün, film ve şarkı önerilerinde bulunur. Biz vaktimizi daha yararlı şeylere ayırırken robot süpürgeler evimizde yerleri süpürür. İstenmeyen e-posta detektörleri, istenmeyen e-postaların gelen kutularımıza ulaşmasını engeller. Medikal görüntü analizi sistemleri, hekimlerin gözden kaçabilecek tümörleri tespit etmesine yardımcı olur. İlk sürücüsüz araçlar da yollarda.

Daha fazlasını da bekleyebiliriz. Büyük veriler her geçen gün arttıkça, hesaplama daha güçlü ve ulaşılabilir maliyetli hale geldikçe ve veri bilimcileri daha yetenekli algoritmalar geliştirmeye devam ettikçe makine öğrenmesi, özel hayatlarımızda ve çalışma hayatlarımızda verimliliği kat kat artıracak. 

Makine öğrenmesi nasıl çalışır?

Bir makine öğrenmesi uygulaması (ya da modeli) oluşturmak için dört temel adım vardır. Bunlar genellikle kendileri için model geliştirilmekte olan profesyonellerle yakın bir işbirliği içinde olan veri bilimcileri tarafından gerçekleştirilir.

Adım 1: Bir eğitim verileri kümesi seçin ve hazırlayın

Eğitim verileri, makine öğrenmesinin, çözümlemek için tasarlandığı sorunu çözmek üzere içine alacağı verilerin veri kümesi örneğidir. Bazı durumlarda eğitim verileri etiketlenmiş verilerdir, bu 'etiketlemenin' amacı modelin tanımlamak için ihtiyaç duyduğu sınıflandırmaları ve özellikleri öne çıkarmaktır. Diğer veriler etiketsizdir ve modelin kendi başına bu özellikleri çıkarması ve sınıflandırmaları ataması gerekir.

Her iki durumda da eğitim verilerinin, eğitimi etkileyebilecek dengesizlikler veya sapmalar bakımından kontrol edilip, tekilleştirilip, rastgele seçilerek düzgün şekilde hazırlanması gerekir. Ayrıca şu şekilde 2 alt kümeye bölünmelidir: Uygulamanın eğitimi için kullanılacak eğitim alt kümesi ve test edilip geliştirilmesi için kullanılacak değerlendirme alt kümesi.

Adım 2: Eğitim verileri kümesinde çalıştırılacak bir algoritma seçin

Algoritma yine, istatistiki işleme adımlarından oluşan bir kümedir. Algoritmanın türü, eğitim verileri kümesindeki verilerin türüne (etiketli veya etiketsiz) ve miktarına ve çözülecek olan sorunun türüne bağlıdır.

Etiketli verilerle kullanılacak makine öğrenmesi algoritmalarının yaygın görülen türleri:

  • Regresyon algoritmaları: Lineer ve lojistik regresyon, verilerdeki ilişkileri anlamak için kullanılan regresyon algoritmalarına örnektir. Lineer regresyon, bağımsız bir değişken değerine göre bağımlı bir değişkenin değerini tahmin etmek için kullanılır. Lojistik regresyon, bağımlı değişkenin yapısı gereği ikili olduğu durumda kullanılabilir: A ya da B. Örneğin, bir lineer regresyon algoritması, bir satış elemanının eğitimi veya kaç yıllık deneyimi olduğu (bağımsız değişkenler) temeline dayanarak o kişinin yıllık satışlarını (bağımlı değişken) tahmin etmek için eğitilebilir. Destek vektör makinesi adı verilen başka bir regresyon algoritması türü de bağımlı değişkenlerin sınıflandırılmasının daha zor olduğu durumlarda yararlı olur.
  • Karar ağaçları: Karar ağaçları, bir karar kuralları grubuna dayalı olarak önerilerde bulunmak için sınıflandırılmış verileri kullanır. Örneğin, belirli bir atın yarışı ilk üçte bitireceği şekilde bahis oynamanızı öneren bir karar ağacı, atla ilgili (yaşı, kazanma yüzdesi, soyu gibi) verileri kullanabilir ve bir eylem veya karar önerisinde bulunmak için bu faktörlere kurallar uygular.
  • Örnek tabanlı algoritmalar: En iyi örnek tabanlı algoritma örneği K-en yakın komşu veya k-nn örneğidir. Bir veri noktasının diğer veri noktalarına yakınlığına göre bir grubun veya başka bir grubun üyesi olma olasılığını tahmin etmek için sınıflandırmayı kullanır.

Etiketsiz verilerle kullanılacak algoritmalar şunları içerir:

  • Kümeleme algoritmaları: Kümeleri gruplar olarak düşünün. Kümeleme, benzer kayıt gruplarının belirlenmesine ve kayıtların ait oldukları gruba göre etiketlenmesine odaklanır. Bu, gruplar ve özellikleri hakkında önceden bilgi sahibi olmadan yapılır. K-means, TwoStep ve Kohonen kümeleme algoritmaları türlerindendir.
  • Birliktelik algoritmaları: Birliktelik algoritmaları verilerdeki kalıpları ve ilişkileri bulur ve birliktelik kuralları adı verilen, sıkça görülen "if-then" (eğer-ise) ilişkilerini tespit eder. Bunlar veri madenciliğinde kullanılan kurallara benzer.
  • Nöral ağlar: Nöral ağ, verilerin alındığı bir giriş katmanına sahip, katmanlı bir hesaplama ağını tanımlayan bir algoritmadır; hesaplamaların yapıldığı en az bir gizli katman, girişler hakkında farklı sonuçlar üretir ve çıkış katmanında her sonuca bir olasılık atanır. Derin bir nöral ağ, her biri art arda önceki katmanın sonuçlarını iyileştiren, birden çok gizli katmanlı bir ağı tanımlar. (Daha fazla bilgi için aşağıdaki "Derin öğrenme" bölümüne bakın.)

Adım 3: Modeli yaratmak için algoritmanın eğitilmesi

Algoritmanın eğitimi; algoritma boyunca değişkenlerin çalıştırılmasını, çıkışın oluşması gereken sonuçlarla karşılaştırılmasını, daha doğru bir sonuç üretebilecek algoritma içindeki tarafların ve ağırlıkların uyarlanmasını ve algoritma çoğu zaman doğru sonuç getirinceye kadar değişkenlerin yeniden çalıştırılmasını içeren, tekrarlayan bir süreçtir. Sonuç olarak eğitilen, doğru algoritma, makine öğrenmesi modelidir. Makine öğrenmesi konusuna hakim olanların bile "algoritma" ve "model" sözcüklerini yanlış kullandığı düşünüldüğünde bu, önemli bir ayrımdır.

Adım 4: Modelin kullanılması ve geliştirilmesi 

Son adım, zaman içinde doğruluğunun ve etkinliğinin artması için, en iyi senaryoda, modelin yeni verilerle kullanılmasıdır. Yeni verilerin nereden geldiği, çözülmekte olan soruna bağlıdır. Örneğin, istenmeyen e-postaların saptanması için tasarlanmış bir makine öğrenmesi modeli e-posta iletilerini içine alırken, bir robot süpürgenin arkasındaki makine öğrenmesi modeli, odadaki yeni objeler veya taşınan mobilyalarla gerçek etkileşimden doğan verileri kullanır.

Makine öğrenmesi yöntemleri

Makine öğrenmesi yöntemleri (makine öğrenmesi stilleri olarak da adlandırılır) 3 ana kategoriye ayrılır.

Bu yaklaşımlar arasında farklılıkları ayrıntılarıyla incelemek için "Supervised vs. Unsupervised Learning: What's the Difference?" başlıklı makaleye göz atın.

Gözetimli makine öğrenmesi            

Gözetimli makine öğrenmesi, etiketli veri kümesiyle kendi kendini eğitir. Yani, veriler makine öğrenmesi modelinin tespit etmesi için oluşturulan ve modelin verileri sınıflandırmasının beklendiği şekilde sınıflandırılabilen bilgilerle etiketlenir. Örneğin, safkan Alman Çoban köpeklerini tanımlamak üzere tasarlanmış bir bilgisayar görüşü modeli, çeşitli etiketli köpek resimlerinden oluşan bir veri kümesiyle eğitilebilir.

Gözetimli makine öğrenmesi, diğer makine öğrenmesi yöntemlerine göre daha az eğitim verisi gerektirir ve eğitimi daha kolay hale getirir; çünkü modelin sonuçları gerçek etiketli sonuçlarla karşılaştırılabilir. Ancak düzgün şekilde etiketlenmiş verilerin hazırlığı için yüksek maliyet gerekir ve eğitim verileriyle çok yakından bağlantılı ve taraflı olup yeni verilerdeki varyasyonları ele alamayacak bir model yaratma veya aşırı uyumlu bir model tehlikesi vardır.

Gözetimli öğrenme hakkında daha fazla bilgi edinin.   

Gözetimsiz makine öğrenmesi

Gözetimsiz makine öğrenmesi, çok çok fazla miktarda etiketsiz verileri alır ve insan müdahalesi olmadan, verilerin gerçek zamanlı olarak etiketlenmesi, sıralanması ve sınıflandırılması için gereken anlamlı özellikleri çıkarmak için algoritmaları kullanır. Bu öğrenme türü, kararların ve tahminlerin otomasyonundan ziyade verilerdeki insanların gözünden kaçabilecek kalıpların ve ilişkilerin tespit edilmesiyle ilgilidir. Örneğin, istenmeyen e-posta tespitini düşünelim. İnsanlar hayatları boyunca veri bilimcilerinden oluşan bir ekibin etiketlemek veya sınıflandırmak isteyebileceğinden çok daha fazla e-posta oluşturur. Gözetimsiz bir öğrenme algoritması, çok büyük hacimlerdeki e-postaları analiz edebilir ve istenmeyen e-postaları belirten özellikleri ve kalıpları ortaya çıkarabilir (ve zaman içinde istenmeyen e-postaları bulma konusunda kendini her geçen gün geliştirebilir).

Gözetimsiz öğrenme hakkında daha fazla bilgi edinin.

Yarı gözetimli öğrenme 

Yarı gözetimli öğrenme, gözetimli ve gözetimsiz tür arasında bir orta yol sunar. Eğitim süresince daha büyük, etiketsiz veri kümesinden sınıflandırma ve özellik ayıklamaya yardımcı olmak için daha küçük hacimli, etiketli veri kümesini kullanır. Yarı gözetimli öğrenme, gözetimli bir öğrenme algoritmasını eğitmek için yeterli etiketlenmiş veriye sahip olmama (veya yeterli miktarda veriyi etiketleyecek kapasitede olmama) sorununu çözebilir. 

Pekiştirmeli makine öğrenmesi

Pekiştirmeli makine öğrenmesi, gözetimli öğrenmeye benzer bir davranışsal makine öğrenmesi modelidir, ancak algoritma örnek veriler kullanılarak eğitilmez. Bu model, deneme yanılma yöntemiyle öğrenir. Belirli bir sorun için en iyi öneriyi ya da ilkeyi geliştirmek üzere başarılı sonuçlar dizisi pekiştirilir.

2011'de Jeopardy! kazananı olan IBM Watson® buna iyi bir örnek. Sistem bir yanıt verilip verilmeyeceğine (veya duruma göre soru), panoda hangi karenin seçileceğine ve özellikle çifte bahislerde ne kadar girileceğine karar vermek için pekiştirmeli öğrenmeyi kullandı.

Pekiştirmeli öğrenme hakkında daha fazla bilgi edinin.    

Derin öğrenme

Derin öğrenme, makine öğrenmesinin bir alt grubudur (her derin öğrenme makine öğrenmesi kapsamına girer, ancak makine öğrenmesi her zaman derin öğrenme değildir). Derin öğrenme algoritmaları insan beyninin öğrenme şeklini öğrenmek için tasarlanmış yapay bir nöral ağı tanımlar. Derin öğrenme modelleri, sonuçları sürekli olarak uyarlamak ve geliştirmek için her ardışık katmanda ağırlıkları ve sapmaları uygulayan, birden çok hesaplama katmanından geçen çok miktarda veri gerektirir.

Derin öğrenme modelleri genellikle gözetimsiz veya yarı gözetimlidir. Pekiştirmeli öğrenme modelleri de derin öğrenme modelleri olabilir. Evrişimli nöral ağlar (CNN) ve yinelenen nöral ağlar (RNN) dahil bazı derin öğrenme modeli türleri, bilgisayar görüşü, doğal dil işleme (konuşma tanıma dahil) ve sürücüsüz otomobiller gibi alanlarda ilerleme kaydedilmesini sağlar. 

Farklı kavramların birbiriyle olan ilişkisini daha derinlemesine incelemek için "AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?" blog gönderisine bakın.

Derin öğrenme hakkında daha fazla bilgi edinin.                                                               

Gerçek dünyadan makine öğrenmesi kullanım senaryoları

En başında da söz edildiği gibi makine öğrenmesi her yerdedir. Günlük yaşamda karşılaşabileceğiniz birkaç makine öğrenmesi örneği:

  • Dijital asistanlar: Apple Siri, Amazon Alexa, Google Assistant ve diğer dijital asistanların arkasında, bilgisayarların yazılı ve sözlü verileri işlemesini ve tıpkı insanlar gibi insan dilini "anlamasını" sağlayan bir makine öğrenme uygulaması olan doğal dil işleme (NLP) özelliğinin gücü vardır. Doğal dil işleme, aynı zamanda GPS ve konuşma tanıma (konuşma-metin) yazılımları gibi sese dayalı uygulamaları destekler.
  • Öneriler: Derin öğrenme modelleri Amazon, Netflix, Spotify, ve diğer perakende, eğlence, seyahat, iş arama ve haber hizmetlerinin sunduğu "bunlar da beğenildi" ve "sizin için" gibi önerileri getirir.
  • Bağlamsal çevrimiçi reklam: Makine öğrenmesi ve derin öğrenme modelleri, bir web sayfasının yalnızca konusunu değil, aynı zamanda yazarın görüşü veya tutumu gibi nüanslar dahil tüm içeriği değerlendirebilir ve ziyaretçinin ilgi alanlarına göre reklamlar sunabilir.
  • Sohbet robotları: Sohbet robotları girilen metni yorumlamak ve uygun yanıtlar sağlamak için kalıp tanıma, doğal dil işleme ve derin nöral ağlardan oluşan bir kombinasyonu kullanabilir.
  • Sahteciliğin tespiti: Makine öğrenmesi regresyon ve sınıflandırma modelleri, çalınan kredi kartı kullanımı sırasında yüksek sayıda yanlış pozitife sahip; çalınmış ya da risk altındaki finansal verilerin suç amaçlı kullanımını tespit etme konusunda nadiren başarılı olan, kurallara dayalı sahtecilik saptama sistemlerinin yerini aldı.
  • Siber güvenlik: Makine öğrenmesi olası tehditleri tespit etmek, güvenlik analistlerine danışmanlık yapmak ve müdahaleyi hızlandırmak için olay raporlarından, uyarılardan, blog gönderilerinden vb. kaynaklardan istihbarat elde edebilir.
  • Medikal görüntü analizi: Dijital tıbbi görüntüleme verilerinin türü ve hacminde görülen ciddi artışın sonucunda destekleyici tanılar için daha çok bilgi ortaya çıkarken verilerin okunmasındaki insan hatası olasılığı da artar. Evrişimli nöral ağlar (CNN), yinelenen nöral ağlar (RNN) ve diğer derin öğrenme modelleri, doğru tanıların desteklenmesine yadımcı olmak için medikal görüntülerden bilgi ve özellik elde edilmesinde her geçen gün daha başarılı olduğunu kanıtlıyor.
  • Sürücüsüz otomobiller: Sürücüsüz otomobiller, makine öğrenmesinin yeteneklerini sergilemesini gerektirir. Araç etrafındaki ortamda bulunan nesneleri sürekli olarak belirlemesi, nasıl değişeceğini veya hareket edeceğini tahmin etmesi, sürücünün gideceği yerin yanı sıra araca nesnelerin çevresinde de rehberlik etmesi gerekir. Yukarıda bahsedilen makine öğrenmesi ve derin öğrenme algoritmasının hemen her biçimi, sürücüsüz bir otomobilde bir şekilde rol oynar.

Makine öğrenmesi ve IBM Cloud

IBM Watson Machine Learning, makine öğrenmesi yaşam döngüsünü baştan sona destekler. Makine öğrenmesi modellerini, verileriniz nerede olursa olsun oluşturmanızı ve hibrit çok bulutlu ortamınızda her yerde devreye almanızı sağlayan, çeşitli ürünler olarak mevcuttur. 

IBM Cloud Pak for Data'daki IBM Watson Machine Learning, kurumsal veri bilimi ve yapay zeka ekiplerinin bulut tabanlı veriler ve yapay zeka platformunda yapay zekayı geliştirme ve devreye alma sürecini hızlandırmanıza yardımcı olur. IBM Cloud ortamında yönetilen bir hizmet olan IBM Watson Machine Learning Cloud, modellerin masaüstünde deney aşamasından üretim iş yükleri için devreye alınması aşamasına geçişinin en hızlı yoludur. Makine öğrenmesi devreye alımlarını ölçeklemek isteyen daha küçük çaplı ekipler için, IBM Watson Machine Learning Server özel veya genel bir bulutta basit kurulum olanağı sunar.

Başlamak için IBMid'ye kaydolun ve IBM Cloud hesabınızı oluşturun.