Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark Platform

Nonnegative matrix factorization (NMF) has been introduced as an efficient way to reduce the complexity of data compression and its capability of extracting highly interpretable parts from data sets, and it has also been applied to various fields, such as recommendations, image analysis, and text cl...

Full description

Bibliographic Details
Main Authors: Bing Tang, Linyao Kang, Li Zhang, Feiyan Guo, Haiwu He
Format: Article
Language:English
Published: Hindawi Limited 2021-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/2021/8841133
id doaj-6e1a1d89f79d45f4a4761ad6cb4c8dcc
record_format Article
spelling doaj-6e1a1d89f79d45f4a4761ad6cb4c8dcc2021-07-02T18:06:41ZengHindawi LimitedScientific Programming1058-92441875-919X2021-01-01202110.1155/2021/88411338841133Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark PlatformBing Tang0Linyao Kang1Li Zhang2Feiyan Guo3Haiwu He4School of Computer Science and Engineering, Hunan University of Science and Technology, Xiangtan 411201, ChinaSchool of Computer Science and Engineering, Hunan University of Science and Technology, Xiangtan 411201, ChinaSchool of Computer Science and Engineering, Hunan University of Science and Technology, Xiangtan 411201, ChinaSchool of Computer Science and Engineering, Hunan University of Science and Technology, Xiangtan 411201, ChinaShandong Computer Science Center (National Supercomputer Center in Jinan), Jinan 250014, ChinaNonnegative matrix factorization (NMF) has been introduced as an efficient way to reduce the complexity of data compression and its capability of extracting highly interpretable parts from data sets, and it has also been applied to various fields, such as recommendations, image analysis, and text clustering. However, as the size of the matrix increases, the processing speed of nonnegative matrix factorization is very slow. To solve this problem, this paper proposes a parallel algorithm based on GPU for NMF in Spark platform, which makes full use of the advantages of in-memory computation mode and GPU acceleration. The new GPU-accelerated NMF on Spark platform is evaluated in a 4-node Spark heterogeneous cluster using Google Compute Engine by configuring each node a NVIDIA K80 CUDA device, and experimental results indicate that it is competitive in terms of computational time against the existing solutions on a variety of matrix orders. Furthermore, a GPU-accelerated NMF-based parallel collaborative filtering (CF) algorithm is also proposed, utilizing the advantages of data dimensionality reduction and feature extraction of NMF, as well as the multicore parallel computing mode of CUDA. Using real MovieLens data sets, experimental results have shown that the parallelization of NMF-based collaborative filtering on Spark platform effectively outperforms traditional user-based and item-based CF with a higher processing speed and higher recommendation accuracy.http://dx.doi.org/10.1155/2021/8841133
collection DOAJ
language English
format Article
sources DOAJ
author Bing Tang
Linyao Kang
Li Zhang
Feiyan Guo
Haiwu He
spellingShingle Bing Tang
Linyao Kang
Li Zhang
Feiyan Guo
Haiwu He
Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark Platform
Scientific Programming
author_facet Bing Tang
Linyao Kang
Li Zhang
Feiyan Guo
Haiwu He
author_sort Bing Tang
title Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark Platform
title_short Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark Platform
title_full Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark Platform
title_fullStr Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark Platform
title_full_unstemmed Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark Platform
title_sort collaborative filtering recommendation using nonnegative matrix factorization in gpu-accelerated spark platform
publisher Hindawi Limited
series Scientific Programming
issn 1058-9244
1875-919X
publishDate 2021-01-01
description Nonnegative matrix factorization (NMF) has been introduced as an efficient way to reduce the complexity of data compression and its capability of extracting highly interpretable parts from data sets, and it has also been applied to various fields, such as recommendations, image analysis, and text clustering. However, as the size of the matrix increases, the processing speed of nonnegative matrix factorization is very slow. To solve this problem, this paper proposes a parallel algorithm based on GPU for NMF in Spark platform, which makes full use of the advantages of in-memory computation mode and GPU acceleration. The new GPU-accelerated NMF on Spark platform is evaluated in a 4-node Spark heterogeneous cluster using Google Compute Engine by configuring each node a NVIDIA K80 CUDA device, and experimental results indicate that it is competitive in terms of computational time against the existing solutions on a variety of matrix orders. Furthermore, a GPU-accelerated NMF-based parallel collaborative filtering (CF) algorithm is also proposed, utilizing the advantages of data dimensionality reduction and feature extraction of NMF, as well as the multicore parallel computing mode of CUDA. Using real MovieLens data sets, experimental results have shown that the parallelization of NMF-based collaborative filtering on Spark platform effectively outperforms traditional user-based and item-based CF with a higher processing speed and higher recommendation accuracy.
url http://dx.doi.org/10.1155/2021/8841133
work_keys_str_mv AT bingtang collaborativefilteringrecommendationusingnonnegativematrixfactorizationingpuacceleratedsparkplatform
AT linyaokang collaborativefilteringrecommendationusingnonnegativematrixfactorizationingpuacceleratedsparkplatform
AT lizhang collaborativefilteringrecommendationusingnonnegativematrixfactorizationingpuacceleratedsparkplatform
AT feiyanguo collaborativefilteringrecommendationusingnonnegativematrixfactorizationingpuacceleratedsparkplatform
AT haiwuhe collaborativefilteringrecommendationusingnonnegativematrixfactorizationingpuacceleratedsparkplatform
_version_ 1721324864365658112