Özellikle alışveriş sitelerine, spotify veya youtube gibi uygulamalara ya da film/dizi izleme amacıyla netflix gibi bir siteye giriyorsanız bir yerlerde mutlaka “sizin için önerilenler”, ”bunu beğenenler bunu da beğendi”, ”sizin zevklerinize göre” ibaresini görmüşsünüzdür. Beni en beğendiğim şarkılara, filmlere ve dizilere kavuşturmuştur bu ibare.
Bir gün yine bu şekilde çok hoşuma giden bir şarkı keşfettiğimde merak ettim. Bu iş nasıl oluyordu? Konuyu biraz irdelediğimde bunun işbirlikçi filtreleme (collaborative filtering) denilen öneri sistemlerinden kaynaklandığını gördüm. İşbirlikçi filtrelemeyi anlamak için öncelikle öneri sistemlerine bakmamız gerekli.
Öneri sistemi özellikle ticari uygulamalarda kullanılan tercihi yahut beğeniyi tahmin etmeyi amaçlayan bir bilgi filtreleme sistemi (insanları istenmeyen bilgilerden kurtarmak için tasarlanan sistemler, information filtering systems) alt sınıfıdır. Öneri sistemleri 3 ana sisteme ayrılır: içerik bazlı (content-based), hibrit ve işbirlikçi öneri sistemi (filtreleme).
İçerik tabanlı filtrelemeden işbirlikçi filtrelemenin en büyük farkı içerik tabanlı filtreleme öneriyi içerik benzerliğine göre sunarken işbirlikçi filtreleme ise ilgi benzerliğine göre öneride bulunur. İşbirlikçi filtreleme ilk defa David Goldberg tarafından Tapestry adlı bir öneri sistemiyle ortaya atılır. Sonrasında ise hızla yayılır. Kendi içinde user-user (kullanıcı bazlı) ve item-item (öğe bazlı) işbirlikçi filtreleme olarak iki ana başlığa ayrılır. İşbirlikçi filtreleme benzerlik hesaplaması, komşuluk seçimi ve tahmin hesaplama olmak üzere 3 basamaktan oluşur.
BENZERLİK HESAPLAMASI
Benzerlik hesaplamasında en yaygın yöntem Pearson korelasyon katsayısı ve kosinüs benzerliğidir.
Kosinüs Benzerliği

Matematiksel olarak baktığımızda kosinüs benzerliği iki vektör arasındaki açının kosinüsünü ölçmek için kullanılır. Ayrıca kosinüs benzerliği, büyüklüğe bakılmaksızın benzerliğine karar vermek için kullanılan bir ölçme yöntemidir.
Kosinüs benzerliğini kullanırken kullanıcıların değerlendirmeleri vektör olarak tanımlanırken benzerlik iki vektör arasındaki açının kosinüs değeriyle tanımlanır. Benzerlik değeri 0 ile 1 arasındadır.
Pearson Korelasyon Katsayısı
Pearson koralasyon katsayısını kullanırken kosinüs benzerliğindeki kullanıcı değerlendirme vektörünün yerine kullanıcı tercih vektörü geçer. Benzerlik 1 ile -1 arasında değer alır.
KOMŞULUK SEÇİMİ
Daha önce bulduğumuz benzerlik değerlerini yakın komşuyu bulmak için kullanırız. Komşuluk seçim değerlerinde en çok eşik değer ve k en yakın komşu yöntemleri kullanılır. Eşik değer yönteminde belli bir benzerlik değerinin üstündeki değerler hesaplamaya katılır. K en yakın komşu yönteminde ise en yüksek benzerlik değerindeki k komşu seçilir.
TAHMİN HESAPLAMA
Tahmin hesaplama üçüncü ve son aşamadır. Komşuluk seçiminden sonra komşuların değerlendirmeleri hesaplanır. Yani kullanıcının komşuları aracılığıyla ürüne olabilecek ilgisi hesaplanmaya çalışılır. Bu yöntemde bir kullanıcının benzer değerlendirmelere sahip olduğu saptanan kullanıcı ile diğer değerlendirmelerinin de benzer olacağı düşünülür.
Kaynakça ve İleri Okuma:
Homepage
https://md.ekstrandom.net/pubs/cf-survey.pdf
https://www.researchgate.net
https://www.machinelearningplus.com
https://realpython.com

