Makine öğrenmesi algoritmalarında kullanılan paralel hesaplama yaklaşımlarının zaman ve bellek performanslarının kıyaslanması
Comparison of time and memory performance of parallel computing approaches used in machine learning algorithms
Yazar: GİZEN MUTLU
Danışman: DOÇ. DR. ÇİĞDEM ACI
Mersin Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Destek vektör makineleri = Support vector machines ; K-En Yakın Komşu Algoritması = K-Nearest Neighbor Algorithm ; Makine öğrenmesi = Machine learning ; Sınıflandırma = Classification

Özet:
Destek Vektör Makinesi (DVM) yöntemi, yüksek doğruluk sağladığı için popüler makine
öğrenme algoritmalarından biridir. K En Yakın Komşu (K Nearest Neighbor, KNN) yöntemi de basitliği nedeniyle en çok kullanılan makine öğrenme algoritmalarından biridir. Ancak, çoğu makine öğrenimi algoritmasında olduğu gibi, DVM ve KNN algoritmalarının zaman ve bellek (Random Access Memory, RAM) açısından kaynak tüketimi, veri kümesi büyüdükçe doğrusal olarak artar. Bu çalışmada iki farklı paralel makine öğrenmesi yaklaşımı ele alınmıştır. İlk olarak, TUKNN ve GPU-SME-KNN algoritmalarının, performansları 520, 5110, 32.560 ve 319.797 örnek içeren veri kümeleri kullanılarak (yani, Diyabet, İnme Tahmini, Yetişkinler, Kalp Hastalığı) seri KNN algoritmasıyla karşılaştırılmıştır. Bu veri kümeleri üzerinde çalıştırılan algoritmaların sonuçlarına göre, sırasıyla TUKNN ve GPU-SME-KNN algoritmalarının seri KNN algoritmasından ortalama olarak 7,8 kat ve 506 kat daha hızlı olduğu gözlemlenmiştir. TUKNN'nin ortalama RAM tüketimi %1,19'dur. GPU-SME-KNN algoritmasının ortalama RAM tüketimi %5,1 oranında artmaktadır. İkinci olarak, ele alınan DVM algoritmasında da ağırlık maliyet hesaplamasını optimize etmek için, Sıralı Minimal Optimizasyon (SMO) ile Stokastik Gradyan İniş (Stochastic Gradient Descent, SGD) algoritmalarını birleştiren paralel hibrit bir algoritma önerilmiştir. Önerilen hibrit SVM-SMO-SGD algoritmasının performansı, Diyabet, İnme Tahmini, Yetişkinler, Kalp Hastalığı veri kümeleri kullanılarak klasik SMO ve Hesaplamalı Birleşik Cihaz Mimarisi (Compute Unified Device Architecture, CUDA) tabanlı yaklaşımlarla karşılaştırılmıştır. Sonuçlara göre seri SVM-SMO-SGD, klasik SMO algoritmasına göre zaman açısından 5,09 kat, RAM tüketimi açısından da 1,04 kat daha verimlidir. Paralel SVM-SMO-SGD algoritması ise zaman açısından klasik SMO algoritmasından 127,75 kat daha hızlıdır. Ayrıca RAM tüketiminde 1,9 kat daha verimlidir.
Tüm algoritmaların genel doğruluğu, diyabet veri kümesinde %87, inme tahmini veri kümesinde %95, yetişkinler veri kümesinde %82 ve kalp hastalığı veri kümesinde %92'dir.

Abstract:
The Support Vector Machine (SVM) method is one of the popular machine learning algorithms
as it provides high accuracy. Due to its simplicity, the K Nearest Neighbor (KNN) method is also one of the most used machine learning algorithms. However, as with most machine learning algorithms, the resource consumption of SVM and KNN algorithms in terms of time, and Random Access Memory (RAM) increase linearly as the dataset grows. In this study, two different machine learning methods are discussed. First, the performances of TUKNN and GPU-SME-KNN algorithms are compared with the serial KNN algorithm using datasets containing 520, 5110, 32,560 and 319,797 samples (Diabetes, Stroke Prediction, Adults, Heart Disease). According to the results of the algorithms run on these datasets, it has been observed that the TUKNN and GPU-SME-KNN algorithms are on average 7.8 times and 506 times faster than the sequential KNN algorithm, respectively. TUKNN's average RAM consumption is 1.19%. Average RAM consumption of GPU-SME-KNN algorithm increases by 5.1%. In another discussed SVM algorithm, a parallel-hybrid algorithm combining Sequential Minimal Optimization (SMO) and Stochastic Gradient Descent (SGD) algorithms is proposed to optimize the calculation of weight costs. The performance of the proposed SVM-SMO-SGD algorithm was compared with classical SMO and Compute Unified Device Architecture (CUDA) based approaches using Diabetes, Stroke Prediction, Adults and Heart Disease. According to the results, sequential SVM-SMO-SGD is 5.09 times more efficient in terms of time and 1.04 times more efficient in RAM, than the classical SMO algorithm. The parallel SVM-SMO-SGD algorithm is 127.75 times faster than the classical SMO algorithm in terms of time. It is also 1.9 times more efficient in RAM consumption. The overall accuracy of all algorithms is 87% in the diabetes dataset, 95% in the healthcare stroke prediction dataset, 82% in the adults dataset, and 92% in the heart disease dataset.