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...
Main Authors: | , , , , |
---|---|
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 |