Kategoriler
Makine Öğrenmesi

Makine öğrenmesi nedir?

Yapay zeka teknolojilerinin bel kemiği. Makine derken kastımız ne? Bugün kullandığımız hangi teknolojiler makine öğrenmesi yöntemini kullanıyor?

Makine öğrenmesi teknolojisi, bilimi ya da sanatı, birçok şekilde elimizin altında. Bu yüzden makine öğrenmesi nedir sorusunu cevaplarken her gün kullandığımız bir örnekten yola çıkacağım.

Belki farkında değilsinizdir. Aynı kelimeyi aramanıza rağmen Google, size ve bir başkasına farklı arama sonuçları gösterebilir. Mesela yılanlara meraklı biri, arama çubuğuna piton (python) yazdığınızda karşısına çıkan sayfalarla, ben piton yazdığımda karşıma çıkan sayfalar aynı olmayacaktır.

Yılanlara meraklı, (daha doğrusu Google’ın yılanlara meraklı olabileceğini tahmin ettiği) biri python kelimesini aradığında karşısına büyük ihtimalle piton yılanıyla ilgili sayfalar çıkar. Ben yazdığımda ise karşıma python isimli programlama diliyle ilgili sayfalar çıkıyor.

Yani Google, bir kullanıcısı piton kelimesini aradığında, onun aslında ne hakkında arama yaptığını, yılanlar hakkında mı yoksa programlama dilleri hakkında mı, tahmin edebiliyor.

Makine öğrenmesi her gün elimizin altında…

Facebook’un fotoğraflardaki yüzleri tanıyarak etiketlemesi, alışveriş sitelerinin önerileri, Instagram’da karşımıza çıkan ve “bunu aradığımı nasıl bildi?” diye paranoya yaptığımız reklamlar, makine öğrenmesi teknolojilerini kullanıyor. Üstelik hep böyle “boş” işlerle de uğraşmıyor, kanserli hücreleri tespit etmek için geliştirilen ve kullanılan makine öğrenmesi modelleri de var.

Peki makine öğrenmesi nedir?

Öncelikle şunu açıklığa kavuşturalım, kavramdaki makine kelimesinden kasıt bir robot ya da fabrikalarda görebileceğimiz endüstriyel bir makine değil. Bir yazılım. İstatistiksel modelleri kullanan, bazen insan beynini fazlasıyla amatör biçimde taklit etmeye çalışan bir bilgisayar programı.

Makine öğrenmesini anlatan akademik literatür, en azından benim hem okulda hem sonradan karşıma çıkanlar, konuya çoğunlukla insanın öğrenme biçimlerinden başlar. İnsanın nasıl öğrendiğinden algoritmalara uzanan bir yolculuktan sonra, makine öğrenmesine gelir. Ve benim Türkçeye çevirmek istemediğim şöyle tanımlarla son bulur:

A Computer Program

is said to learn from experience E with respect

to some class of tasks T and performance measure P,

if its performance at tasks in T, as measured by P, improves with experience E.

T: Set of tasks t

E: Examples T

P: Global performance (quality measure)

Bu yukardaki tanım, Tom M. Mitchell’in Makine Öğrenmesi kitabından alıntı. Ben de Berlin Üniversitesi’nden, “Yapay Zekanın Modern Yöntemleri – Makine Öğrenmesi” ders notlarından aldım.

Makine öğrenmesi nedir sorusunun en basit cevabı

Böyle tanımlar da elbette güzel ama makine öğrenmesini yeni öğrenen biri için en kolay tanımı, Google’dan Yufeng G. yapıyor ve makine öğrenmesini basitçe şöyle tanımlıyor:

“Soruları cevaplamak için verileri kullanmak.”

Ya da, verileri kullanarak soruları cevaplamak.

Bu tanımla aynı zamanda makine öğrenmesinin temelde nasıl çalıştığını açıklıyor. 

Yufeng G.’nin What is Machine Learning? makalesinden alınmıştır.

Makine öğrenmesinde bilgisayara, bir soruya cevap verebilmesi için, elindeki o konuya özel verileri kullanmasını ve yeni verilerle çalıştıkça da performansını geliştirmesini öğretiyoruz. 

Başka bir deyişle, bize en doğru cevabı verebilmesi için, ona verdiğimiz örnek verileri kullanarak doğru cevaba ulaşmaya çalışmasını, doğru ya da yanlış cevaba ulaştıkça da, bu sonuca göre kendini geliştirip daha doğru cevaplar vermesini öğretiyoruz.

Burada aklınıza şu soru gelebilir: 

Bunun normal bir bilgisayar programından ne farkı var?

Farkı şu:

Normal bir bilgisayar programı net olarak belirlenmiş kurallarla rutin işlemler yapar ve rutin sonuçlar çıkartır. 

Makine öğrenmesi modeli ise, elindeki verileri kullanarak kendi kurallarını yaratır/öğrenir ve olasılığa dayalı cevabını verir.

Şöyle daha açık olacak, yazının başına dönelim.

Google’ın arama mekanizması, makine öğrenmesi modeliyle değil de klasik bir bilgisayar programı gibi çalışsaydı, arama satırına piton yazan herkese aynı sonuç sayfasını çıkartırdı. 

Ama elindeki veriden, yani benim önceki Google aramalarımdan, Youtube’da izlediğim videolardan, Gmail hesabımdaki maillerden topladığı veriye bakarak, benim yılan olan olan pitonla değil de, programlama dili olan pitonla ilgilendiğimi tahmin etti ve ve bana öncelikle o sayfaları gösterdi. Yani benden topladığı verilerle, benim verilerime benzer verileri olan başkalarının aramalarıyla ilgili geçmiş tecrübelerini de hesaba katarak, benim neyi aradığımı tahmin etti.

Klasik bilgisayar programıyla bunu yapamazsınız.

Peki… Makine öğrenmesi bunu nasıl yapıyor? Aşağıdaki yazıda basitçe onu anlatmaya çalıştım.

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

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir