Makine öğrenmesi, bilgisayar sistemlerindeki veri tabanlı deneyimlerle öğrenme yeteneğini tanımlayan yapay zeka (AI) alanının bir parçasıdır. İngilizcesi “Machine Learning” olan bu kavram kısaca “ML” olarak ifade edilir. Makine öğrenmesinde bilgisayar programlarının yeni veri ile karşılaştığında gelişmesi, büyümesi ve değişmesine odaklanmaktadır. Veri madenciliğine benzer bir süreci vardır. Bu iki sistemde de herhangi bir örüntü bulabilmek için araştırma yapılmaktadır. Tek farkı ise veri madenciliğinde veriler insanlar tarafından anlaşılmak için çıkartılmalıdır. Ancak makine öğrenmesinde programın kendi anlayışını geliştirmek için mevcut veriler kullanılmaktadır. Yani tespit edilen örüntüler ile programların alması gereken aksiyonları ayarlanmaktadır. Bu süreçte bilgisayar sistemlerindeki açık talimatlar yerine algoritma ve istatiksel modeller geliştirilmektedir. Bu sistemler büyük miktarda var olan veriyi işleyebilmek ya da bir düzen oluşturabilmek için makine öğrenimi algoritmalarının kullanılması gerekmektedir. Bu sayede girdilerin veri kümesi sonuçları daha doğru tahmin edilmektedir. Örnek olarak tıbbi ortamda çekilen birden fazla tarama görüntüleri ve görüntülere karşılık gelen teşhisler saklandığında görüntüler belirli bir rahatsızlığı belirleyebilecek şekilde ayarlanabilmesi gösterilebilir.
Makine öğrenimine farklı bir açıdan bakıldığında kod yazmaya gerek duymadan belli bir veri kümesi hakkında genel algoritmalar oluşturma şeklinde de tanımlanabilmektedir. Genel algoritmalar veriler ile beslendiğinde, bu verilere dayanarak kendi mantığını oluşturmaktadır. Makine öğrenmesi verilerdeki örüntüleri tanımlamak, tahmin yürütmek, sınıflandırmak veya optimize etmek gibi birden farklı görevleri bulunmaktadır. Bunlara bağlı olarak da görüntü tanıma, veri getirme, duygu analizi, dolandırıcılık tespiti yapma ya da müşteri alışveriş önerileri sunma gibi işlemlerde kullanılabilmektedir. Kullanım amacına göre makine öğrenmesinin farklı türleri devreye girebilmektedir. Bu türler iki ana kategori altında tanımlanmaktadır. Bunlardan ilki gözetimli öğrenme ikincisi ise gözetimsiz öğrenmedir. Gözetimli öğrenmede model girdi çıktı parametreleri ile etiketlenen veri kümesi üzerinde eğitim ve işlem yapılır. Gözetimsiz öğrenmesinde ise, etiketlere sahip olmayan veri kümelerin önceden bilinmeyen örüntü modellerini bulmak için kullanılır. Kısacası verilerdeki yapı ve desenleri tespit etmek için etiketsiz veriler kullanılmaktadır. Bu ana kategorilerin yanında yarı gözetimli ve güçlendirme öğrenmesi de bulunmaktadır. Bunlardan yarı gözetimli öğrenme; etiketlenmemiş verilerin kullanımının fazla olduğu etiketli verilerin kullanımının az olduğu sistemlerdir. Güçlendirme öğrenmesi ise odak araştırma ve kullanma arasında denge kurmak üzerine bir sistemdir. Yani girdi çıktı değerleri önemli değildir ve standart verilerin düzeltilmesine gerek yoktur.