View : 784 Download: 0

인메모리 빅데이터 시스템 기반에서 다차원 증분 가능한 텐서 분해 기법

Title
인메모리 빅데이터 시스템 기반에서 다차원 증분 가능한 텐서 분해 기법
Other Titles
Multi-aspect incremental tensor decomposition method based on in-memory big data systems
Authors
양혜경
Issue Date
2020
Department/Major
대학원 컴퓨터공학과
Publisher
이화여자대학교 대학원
Degree
Doctor
Advisors
용환승
Abstract
As multi-dimensional data are generated at high speeds, research areas, such as recommender system, user pattern analysis, and web log analysis, have recently focused on tensor analyses. This is because the three-dimensional tensor analysis can help identify latent patterns and factors. For example, a two-dimensional matrix that comprises a user and an item can identify patterns that are similar to a person buying a product. A three-dimensional tensor, which comprises a user, an item, and time, can consider time. To identify latent patterns and factors, we therefore need to investigate tensor decomposition. However, this decomposition complicates the calculation process more than matrix factorization and singular value decomposition because practical tensor datasets are large and sparse. In addition, the existing tensor decomposition tools are MATLAB-based and Hadoop-based. MATLAB-based tensor decomposition cannot handle large datasets because of running on a single machine. Recently distributed tensor decomposition algorithms have been produced by Hadoop based algorithms. Hadoop-based however has the problem of slow computation. This is due to the frequent disk I/O that occurs during iterative operations. Therefore, we propose tensor decomposition algorithm based on in-memory big data systems. In this study, we introduce three algorithms that decompose the static tensor and we also introduce two incremental tensor decomposition algorithms that can reduce the recalculation cost when a new tensor is added. Our algorithms aim at fast processing of large data on in-memory and efficient memory usage. In this study, the static tensor decomposition algorithms are three types of algorithms. First, S-PARAFAC is a static tensor decomposition algorithm that handles tensor decomposition by reducing the Map process, i.e., reduces distribution in-memory big data system. The second algorithm is IM-PARAFAC, which is a method of dividing a large tensor into sub-tensors. The third static tensor decomposition algorithm is InParTen2-Static, which enables rapid tensor decomposition in the IoT environment and introduces an algorithm that can process a large amount of data without subdividing it into sub-tensors. In addition, this paper proposes two incremental tensor decomposition algorithms that decompose an added tensor without re-decomposition. The first incremental tensor decomposition algorithm is InParTen, which considers time-axis increase in the existing threedimensional tensor; however, when the real tensor data are added, not only does the time axis increase, but also other axes increase. We therefore propose the InParTen2 algorithm, which is a multi-aspect incremental tensor decomposition method. In this study, we evaluate the performance of three in-memory big data-based tensor decomposition algorithms and two incremental tensor decomposition algorithms. Our tensor decomposition algorithms are possible at a much faster than existing distributed tensor decomposition tools, and our tensor decomposition algorithm exhibits accuracy similar to existing tensor decomposition tools.;다차원 형태의 데이터들이 하루에도 빠른 속도로 생성되면서 기존의 2차원 텐서에 한정되어 분석되어왔던 추천 시스템, 사용자 패턴 분석, 웹 로그 분석 등과 같은 연구 분야에서 2차원 데이터가 아닌 3차원 이상의 데이터인 텐서를 이용한 연구들이 최근 주목받고 있다. 텐서란 3차원 이상의 고차원 배열로 2차원 행렬 형태의 데이터보다 더 많은 잠재 패턴과 잠재 요소를 찾을 수 있다. 예를 들어, (사용자, 아이템)으로 구성된 2차원의 행렬에서는 어떤 사용자가 비슷한 사용자인지, 그리고 어떤 사용자가 어떤 아이템을 구매할 것인지에 대한 패턴을 파악할 수 있었다면, (사용자, 아이템, 시간)으로 구성된 3차원 텐서는 시간까지 고려하여 어떤 사용자, 어떤 아이템을 무슨 시간에 구매할 것과 같은 패턴을 찾을 수 있다. 하지만 텐서는 2차원 행렬보다 크고 데이터가 희소한 형태로 이루어져 있기 때문에 잠재 패턴과 잠재 요소를 찾기 위해서는 텐서 분해가 필요하다. 텐서 분해는 행렬 분해, 특이 값 분해보다 연산이 복잡하고 텐서가 행렬보다 크고 희소한 형태이기 때문에 행렬 데이터를 분석하는 것 보다 어렵다. 그뿐만 아니라 기존의 텐서 분해 도구들은 대부분 단일 시스템 환경 기반으로 동작하는 MATLAB으로 구현되어 큰 데이터를 처리하는데 어려움이 있다. 최근 하둡을 이용한 분산 텐서 분해 기법들이 등장하여 큰 데이터도 처리하게 되었지만, 반복 연산 시 발생하는 빈번한 디스크 입출력으로 인해 연산이 느리다는 단점이 있다. 따라서 본 논문에서는 하둡 기반의 텐서 분해 도구의 연산 속도에 대한 단점을 보완한 인 메모리 빅 데이터 시스템 기반의 텐서 분해 알고리즘들을 제안한다. 본 논문에서 제안하는 텐서 분해 알고리즘은 전체 텐서를 분해하는 알고리즘 3가지와 새로운 텐서가 추가되었을 때, 재계산 비용을 줄이는 증분 텐서 분해 알고리즘 2가지를 소개한다. 본 알고리즘들은 인 메모리상에서 큰 데이터를 빠르게 처리하고 효율적인 메모리 사용을 목표로 한다. 먼저 본 논문에서 제시하는 전체 텐서 분해 알고리즘은 S-PARAFAC, IM-PARAFAC, InParTen2-Static으로 나누어진다. 첫 번째 전체 텐서를 분해하는 알고리즘인 S-PARAFAC으로 텐서에서 0이 아닌 값과 Map/Reduce의 과정을 줄여서 텐서 분해를 처리하는 방법으로 분산 인 메모리 빅 데이터 상에서 텐서 분해 방법에 대해 기술한다. 두 번째는 큰 텐서를 서브 텐서(sub-tensor)로 나누어 분해하는 방법인 IM-PARAFAC을 소개한다. 마지막으로 전체 텐서 분해 방법인 InParTen2-Static방법은 사물 인터넷 환경에서도 빠르게 텐서 분해가 가능하도록 하며, 서브 텐서로 나누지 않고도 큰 데이터를 처리할 수 있는 알고리즘을 소개한다. 본 논문에서는 고정된 텐서만 아니라 기존 텐서에 새로운 텐서 데이터가 추가되었을 때, 재분해하지 않고 추가된 텐서만을 분해하는 증분 텐서 분해 알고리즘을 2가지 방법으로 제안한다. 첫 번째 증분 텐서 방법은 InParTen으로 기존 3차원 텐서에서 시간 축만 증가하는 것을 고려한 방법이다. 하지만 실제 텐서 데이터가 추가될 때 시간 축 뿐 아니라 다른 축들도 증가하게 된다. 따라서 모든 축이 증가하는 경우 또한 고려한 다중 증분 텐서 분해 방법인 InParTen2 알고리즘을 제안한다. 본 논문에서는 인 메모리 빅 데이터 시스템 기반의 텐서 분해 알고리즘 3가지에 대한 성능 평가와 증분 텐서 분해 알고리즘 2가지에 대한 성능 평가를 각각 진행하였다. 기존의 분산 텐서 분해 도구들보다 월등하게 빠른 속도로 텐서 분해가 가능하였으며, 기존의 텐서 분해 도구들과 유사한 결과로 텐서 분해가 가능한 것을 파악하였다.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 컴퓨터공학과 > Theses_Ph.D
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

BROWSE