Öneri sistemlerinde veri seyrekliği problemine derin öğrenme yaklaşımı
A deep learning approach to the problem of data sparsity in recommendation systems
Yazar: ECEM BÖLÜK
Danışman: DR. ÖĞR. ÜYESİ MUSTAFA ÖZGÜR CİNGİZ
Bursa Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Derin öğrenme = Deep learning ; Makine öğrenmesi = Machine learning ; Yapay zeka = Artificial intelligence ; Öneri sistemleri = Suggestion systems

Özet:
Öneri sistemleri ile ilgili çalışmalar hem akademide hem de endüstri de oldukça yoğun bir şekilde ilgi görmektedir. Öneri sistemleri kullanıcıların geçmişteki tercihlerinden hareketle gelecekteki tercihlerini tahmin eden sistemlerdir. Bilgi teknolojilerinin gelişmesi ile birlikte şirketler müşterilerden çok fazla veri sağlarlar. Bu verileri müşteri deneyimlerini iyileştirme ve satışlarını arttırmak için öneri sistemlerinde kullanırlar. Fakat kullanıcılar her zaman tercihlerini bu şirketlerle paylaşmayabilir. Bu durum, öneri sistemleri tasarlanırken karşılaşılan en büyük sorunlardan biri olan veri seyrekliğine neden olur. 
Veri seyrekliği kullanıcı öğe matrisinde derecelendirme bilgisinin çok az olduğu durumlarda gerçekleşir. Bu durum öneri sistemleri için çok seyrek kullanıcı öğe matrisine neden olur. Veri seyrekliği problemini çözmek için çalışmalarda meta verilerden yararlanılarak seyrek kullanıcı öğe matrisi yeniden yapılandırılmaya çalışılmıştır. Fakat bu çözüm modelleri daha karmaşık hale getirmekte ve veri gizliliği nedeniyle her zaman meta verilere ulaşmak pek mümkün olmamaktadır. Derin öğrenme algoritmalarından otomatik kodlayıcılar, kısıtlı Boltzmann makineleri ve üretici çekişmeli ağlar sadece seyrek kullanıcı öğe matrisini kullanarak seyrek kullanıcı öğe matrisi içerisindeki verilerden öğrendiği iç görülerden hareketle bu seyrek matrisi yeniden doldurarak veri seyrekliği probleminin çözülmesini sağlar. 
Bu tezde derin öğrenme algoritmalarından Temel Otomatik Kodlayıcı, Gürültü Giderici Otomatik Kodlayıcı, Seyrek Otomatik Kodlayıcı ve Varyasyonel Otomatik Kodlayıcı olmak üzere dört farklı otomatik kodlayıcı, Kısıtlı Boltzmann Makineleri ve Üretici Çekişmeli Ağlar olmak üzere altı farklı algoritma kullanılarak veri seyrekliğine karşı performansları karşılaştırılmıştır. Veri seti olarak %27 ve %74,5 seyrek veri içeren üç farklı Jester veri setleri ve %93,6 ve %95,4 seyrek veri içeren iki farklı Movielens veri seti olmak üzere beş farklı seyrek kullanıcı öğe matrisi içeren veri setleri kullanılmıştır. Jester veri setleri kullanılarak geliştirilen öğe tabanlı modeller, kullanıcı tabanlı modellere göre daha fazla başarı gösterdiği gözlemlenmiştir. Jester veri seti üzerinde yapılan analizlere göre öğe tabanlı modellerde en başarılı algoritma Seyrek Otomatik Kodlayıcılar olurken, kullanıcı tabanlı modellerde en başarılı algoritmanın Temel Otomatik Kodlayıcılar olduğu gözlemlenmiştir. Movielens veri setlerinde ise kullanıcı tabanlı ve öğe tabanlı modellerin performansları algoritmaya göre değişiklik gösterse de çok büyük bir performans farkı olmadığı gözlemlenmiştir. Movielens veri setinde her iki modelde ve değerlendirme metriğinde en başarılı performans gösteren algoritmanın Temel Otomatik Kodlayıcılar olduğu gözlemlenmiştir.

Abstract:
Studies on recommendation systems are of great interest both in academia and industry. Recommendation systems are systems that predict future preferences of users based on their past preferences. With the development of information technologies, companies provide a lot of data from customers. They use this data in their recommendation systems to improve their customer experience and increase their sales. However, users may not always share their preferences with these companies. This causes data sparsity, which is one of the biggest problems when designing recommender systems.
Data sparsity occurs when there is very little rating information in the user item matrix. This causes a very sparse user item matrix for recommendation systems. In order to solve the data sparsity problem, the sparse user item matrix was tried to be restructured by using metadata in the studies. However, this solution complicates the models and it is not always possible to access metadata due to data privacy. Autoencoders, Restricted Boltzmann Machines and Generative Adversarial Networks, which are deep learning algorithms, use only the sparse user item matrix and re-populate this sparse matrix based on the insights learned from the data in the sparse user item matrix, thereby solving the data sparsity problem.
In this thesis, performances of deep learning algorithms are compared against data sparsity by using four different autoencoders, namely Vanilla Autoencoder, Denoising Autoencoder, Sparse Autoencoder and Variational Autoencoder, six different algorithms, Restricted Boltzmann Machines and Generative Adversarial Networks. Three different Jester datasets containing 27% and 74.5% sparse data, and two different Movielens datasets containing 93.6% and 95.4% sparse data, five different sparse user item matrices were used as datasets. Item-based models developed using jester datasets have been observed to be more successful than user-based models. According to the analyzes made on the Jester dataset, it was observed that the most successful algorithm in item-based models was Sparse Autoencoders, while the most successful algorithm in user-based models was Vanilla Autoencoders. In Movielens datasets, although the performances of user-based and item-based models vary according to the algorithm, it has been observed that there is not a big performance difference. In the Movielens dataset, it was observed that the most successful algorithm in both models and evaluation metric was Vanilla Autoencoders.