KR20160066395A - 행렬 분해 모델 기반 데이터 분석 방법 및 장치 - Google Patents

행렬 분해 모델 기반 데이터 분석 방법 및 장치 Download PDF

Info

Publication number
KR20160066395A
KR20160066395A KR1020140170732A KR20140170732A KR20160066395A KR 20160066395 A KR20160066395 A KR 20160066395A KR 1020140170732 A KR1020140170732 A KR 1020140170732A KR 20140170732 A KR20140170732 A KR 20140170732A KR 20160066395 A KR20160066395 A KR 20160066395A
Authority
KR
South Korea
Prior art keywords
product
data
analysis model
model
matrix
Prior art date
Application number
KR1020140170732A
Other languages
English (en)
Other versions
KR101635283B1 (ko
Inventor
최승진
김용덕
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020140170732A priority Critical patent/KR101635283B1/ko
Publication of KR20160066395A publication Critical patent/KR20160066395A/ko
Application granted granted Critical
Publication of KR101635283B1 publication Critical patent/KR101635283B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

행렬 분해 모델 기반 데이터 분석 방법 및 장치가 개시된다. 본 발명에 따른 데이터 분석 방법은, 적어도 하나의 제1 상품에 대하여 미리 수집된 선호도 데이터 및 미리 수집되지 않은 적어도 하나의 제2 상품에 대한 선호도 데이터를 산출하기 위한 보조 데이터가 나타내는 사전 분포를 기반으로 분석 모델을 생성하는 단계, 분석 모델을 구성하는 복수의 변수들을 기반으로 사후 분포를 추론하여 분석 모델을 학습하는 단계 및 학습된 분석 모델을 기반으로 제2 상품에 대한 최종 선호도를 결정하는 단계를 포함한다. 본 발명에 의하면 행렬 분해 알고리즘의 협업 필터링의 성능 저하를 방지할 수 있고, 다양한 입력 행렬이 존재하는 멀티 모달 데이터를 분석할 수 있다.

Description

행렬 분해 모델 기반 데이터 분석 방법 및 장치{METHOD FOR ANALYZING DATA BASED ON MATRIX FACTORIZATION MODEL AND APPARATUS THEREFOR}
본 발명은 행렬 분해 모델을 기반으로 데이터를 분석하는 기술에 관한 것으로, 더욱 상세하게는 사용자와 관련된 정보로 구성된 멀티 모달 데이터를 분석하는 방법 및 장치에 관한 것이다.
인터넷(internet)과 스마트(smart) 통신 기술의 발달로 인해 사용자는 손쉽게 상품에 대한 정보를 얻을 수 있게 되었다. 반면, 이러한 기술의 발달은 사용자에게 지나치게 많은 양의 정보를 제공함으로, 상품 선택에 소요되는 시간이 장시간으로 이어지는 문제를 발생시켰다. 이에 따라, 사용자에게 불필요한 정보를 필터링(filtering)하여 구매율이 높은 상품만을 제공하는 개인 맞춤형 기술 및 추천 시스템이 요구되고 있다.
과거의 추천 시스템은 단순한 규칙 기반 알고리즘을 활용하여 사용자의 기호 정보를 고려한 상품을 추천하는 수준에 불과했다. 이후, 기술의 발달로 추천 시스템은 기계 학습(machine learning) 및 데이터 마이닝(data mining) 기법을 활용하여 사용자의 행동 패턴과 성향을 분석하게 되었다. 이를 통해, 추천 시스템은 사용자가 선호할 것으로 예상되는 정보 및 컨텐츠를 추천하게 되었다.
현재, 이러한 추천 시스템을 구현하기 위해 다양한 기법들이 개발되고 있다. 그 중 협업 필터링(collaborative filtering)이 가장 널리 사용되는 추천 기법으로 알려져 있다. 협업 필터링은 예를 들어, Amozon.com, Netfli.com 등과 같은 e-비즈니스 사이트에서 널리 활용되고 있다. 협업 필터링은 사용자가 각 상품에 부여한 선호도 정보를 기반으로 비슷한 선호 패턴을 가지는 다른 사용자들을 분석하여 추천하는 기법이다. 예를 들어, 아래의 표 1을 참조하여 설명할 수 있다.
Figure pat00001
상기 표 1은 사용자-상품 선호도 행렬의 일 예를 나타낸다. 사용자 선호도를 1, 2, 3, 4, 5의 다섯 단계로 부여할 수 있는 추천 시스템이라고 가정한다. 협업 필터링은 표 1의 "?" 부분을 정확하게 예측하는 것을 의미한다.
이러한, 협업 필터링을 위해 가장 널리 사용되는 방법은 행렬 분해(matrix factorization) 모델을 사용하는 방법이다. 행렬 분해 모델(예를 들어, SVD(singular value decomposition), PCA(principal components analysis), LDA(latent dirichlet allocation), ICA(independent component analysis), NMF(non-negative matrix factorization), MDS(multidimensional scaling), LLE(locally linear embedding) 등)은 다변량 데이터 분석에서 가장 기본이 되는 방법으로서, 차원 축소, 특징점 추출 및 선택, 클러스터링(clustering) 및 보다 고차원적인 분석을 위한 전처리 등의 용도로 다양한 분야에서 활용되고 있다.
또한, 행렬 분해 모델은 네트워크를 구성하는 노드들 간의 2차원적 관계(pair-wise relationship)를 분석하는데 유용하여, LSA(latent semantic analysis), PLSA(probabilistic latent semantic analysis), NMF, HITS(hypertext induced topic selection)와 같은 다양한 행렬 분해 모델들이 텍스트 마이닝(text mining), 웹 마이닝, 정보 검색 분야에서 널리 사용되어 왔다.
반면, 추천 시스템에 대해서는 행렬 분해 모델이 Netflix Prize 등장 이전까지 다른 접근 방법들의 보조적인 수단으로만 사용되었다. 그러나, 사용자-영화 평가 행렬에 존재하는 대다수의 누락값을 처리하는데 가중치 고려 행렬 분해 모델의 유용성이 밝혀지면서, 행렬 분해 모델은 유사 이웃(nearest neighborhood) 방법과 더불어 협조 필터링 기반 추천 시스템의 근간이 되는 방법으로 급속히 자리잡게 되었다.
행렬 분해 모델은 사용자-상품 선호도 행렬의 관측 값에만 정의된 복원 오차를 교대 최소 제곱법(alternating least squares) 또는 확률적 기울기 하강법(stochastic gradient descent) 알고리즘의 단계를 최소화 할 수 있다는 장점이 있다. 그러나, 이러한 방식은 과적합(overfitting) 방지를 위해 규칙화(regularization) 파라미터, 학습율(learning rate) 및 반복 횟수 등의 튜닝 과정이 필요하다.
반면, 베이지안 추론에 기반한 베이지안 행렬 분해(Bayesian Matrix Factorization) 모델은 튜닝 과정 없이도 높은 정확도를 갖는 모델 학습을 할 수 있다. 그러나, 기존의 베이지안 행렬 분해 학습 알고리즘은 높은 계산 복잡도(예를 들어, 차원에 세제곱 비례)로 인해 수백만의 사용자로부터 수집된 수십억 개의 평가 기록의 구성된 대규모 데이터를 분석하는데 적합하지 않다.
이러한, 행렬 분해 모델을 사용하는 협업 필터링은 기본적으로 추천 대상이 되는 상품에 대한 사용자의 선호도 정보가 요구되지만, 시스템에 신규로 가입한 사용자나 새로 등록된 상품의 경우 미리 주어진 선호도 정보가 없어 추천을 수행하는데 어려움이 발생한다. 이러한, 상황을 콜드 스타트(cold-start) 상황이라고 할 수 있다.
사용자의 상품에 대한 선호도 표기의 과정 자체가 사용자의 적극적인 행동에 기반한 것이므로, 선호도 표기에 소극적인 사용자가 다수 존재하는 일반적인 추천 시스템에서 이러한 문제는 빈번히 발생하여 전체적인 추천의 성능을 저하시킨다. 또한, 사용자에게 자주 노출되지 않은 상품의 경우 추천될 기회가 없어 계속해서 선호도 표기가 되지 않은 채로 남는 문제가 있다.
따라서, 선호도 표기를 사용자에게 강제할 수 없는 일반적인 상황에서 콜드 스타트 문제가 발생한 경우, 이를 해결하기 위해 선호도 정보 외에 추가적인 부가 정보를 활용하여 추천을 수행할 필요가 있다. 이러한, 부가 정보로 쓰이는 대표적인 정보로는 사용자의 성별, 연령층, 거주 지역 등의 인구통계학적 정보(demographic information), 사용자의 소셜 네트워크(social network) 상에서의 인맥 정보 및 대상 상품이 예를 들어, 영화인 경우 영화의 장르, 출연 배우, 감독 등의 내용 정보(content information)가 있다. 즉, 행렬 분해 모델은 협업 필터링을 위해 가장 널리 사용되는 기법이지만, 이와 같은 다양한 종류의 대규모 입력 행렬이 요구되는 경우에는 적합하지 않은 문제점이 있다.
상기한 바와 같은 문제점을 극복하기 위한 본 발명의 목적은 다양한 종류의 입력 행렬이 존재하는 멀티 모달 데이터를 분석하는 행렬 분해 모델 기반 데이터 분석 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 다양한 종류의 입력 행렬이 존재하는 멀티 모달 데이터를 분석하는 행렬 분해 모델 기반 데이터 분석 장치를 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 방법은, 행렬 분해 모델을 분석하는 장치에서 수행되는 데이터 분석 방법으로, 적어도 하나의 제1 상품에 대하여 미리 수집된 선호도 데이터 및 미리 수집되지 않은 적어도 하나의 제2 상품에 대한 선호도 데이터를 산출하기 위한 보조 데이터가 나타내는 사전 분포를 기반으로 분석 모델을 생성하는 단계, 상기 분석 모델을 구성하는 복수의 변수들을 기반으로 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계 및 상기 학습된 분석 모델을 기반으로 상기 제2 상품에 대한 최종 선호도를 결정하는 단계를 포함한다.
여기서, 상기 분석 모델은, 상기 선호도 데이터 및 상기 보조 데이터를 포함하는 멀티 모달 데이터가 나타내는 행렬 분해 모델의 사전 분포를 결정하는 복수의 변수들 각각이 확률 변수로 변환되어 생성될 수 있다.
여기서, 상기 분석 모델을 생성하는 단계는, 상기 제1 상품 및 제2 상품의 추천 대상 사용자와 관련된 정보에서 사용자 특징을 획득하는 단계, 상기 사용자 특징을 선형 변환하여 제1 잠재 변수를 산출하는 단계, 상기 제1 상품 및 제2 상품과 관련된 정보가 나타내는 상품 특징을 획득하는 단계, 상기 상품 특징을 선형 변환하여 제2 잠재 변수를 산출하는 단계 및 상기 제1 잠재 변수 및 상기 제2 잠재 변수를 기반으로 상기 분석 모델을 생성하는 단계를 포함할 수 있다.
여기서, 상기 분석 모델을 학습하는 단계는, 상기 분석 모델이 나타내는 행렬을 구성하는 복수의 요소들 각각의 확률 변수를 분해하는 단계, 상기 분해된 각각의 확률 변수에 대하여 로그 우도 함수의 하한 함수를 최대화하는 보조 함수를 산출하는 단계 및 상기 산출된 보조 함수를 기반으로 상기 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계를 포함할 수 있다.
여기서, 상기 확률 변수를 분해하는 단계는, 상기 행렬을 구성하는 복수의 요소들 각각에 대하여 평균장 어림 방식을 기반으로 상기 확률 변수를 분해할 수 있다.
여기서, 상기 보조 함수를 산출하는 단계는, 상기 로그 우도 함수의 값이 미리 설정된 임계값 보다 작아지는 경우까지, 상기 보조 함수에 포함된 복수의 파라미터들을 순차적으로 갱신하여 상기 보조 함수를 산출할 수 있다.
여기서, 상기 상기 보조 함수를 산출하는 단계는, 상기 복수의 파라미터들을 상기 행렬의 열 단위로 분산하여 갱신할 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 장치는, 행렬 분해 모델을 기반으로 데이터를 분석하는 장치로서, 프로세서 및 상기 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령이 저장된 메모리를 포함하고, 상기 적어도 하나의 명령 프로그램은, 적어도 하나의 제1 상품에 대하여 미리 수집된 선호도 데이터 및 미리 수집되지 않은 적어도 하나의 제2 상품에 대한 선호도 데이터를 산출하기 위한 보조 데이터가 나타내는 사전 분포를 기반으로 분석 모델을 생성하는 단계, 상기 분석 모델을 구성하는 복수의 변수들을 기반으로 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계 및 상기 학습된 분석 모델을 기반으로 상기 제2 상품에 대한 최종 선호도를 결정하는 단계를 수행하도록 실행 가능하다.
여기서, 상기 분석 모델은, 상기 선호도 데이터 및 상기 보조 데이터를 포함하는 멀티 모달 데이터가 나타내는 행렬 분해 모델의 사전 분포를 결정하는 복수의 변수들 각각이 확률 변수로 변환되어 생성될 수 있다.
여기서, 상기 분석 모델을 생성하는 단계는, 상기 제1 상품 및 제2 상품의 추천 대상 사용자와 관련된 정보에서 사용자 특징을 획득하는 단계, 상기 사용자 특징을 선형 변환하여 제1 잠재 변수를 산출하는 단계, 상기 제1 상품 및 제2 상품과 관련된 정보가 나타내는 상품 특징을 획득하는 단계, 상기 상품 특징을 선형 변환하여 제2 잠재 변수를 산출하는 단계 및 상기 제1 잠재 변수 및 상기 제2 잠재 변수를 기반으로 상기 분석 모델을 생성하는 단계를 포함할 수 있다.
여기서, 상기 분석 모델을 학습하는 단계는, 상기 분석 모델이 나타내는 행렬을 구성하는 복수의 요소들 각각의 확률 변수를 분해하는 단계, 상기 분해된 각각의 확률 변수에 대하여 로그 우도 함수의 하한 함수를 최대화하는 보조 함수를 산출하는 단계 및 상기 산출된 보조 함수를 기반으로 상기 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계를 포함할 수 있다.
여기서, 상기 확률 변수를 분해하는 단계는, 상기 행렬을 구성하는 복수의 요소들 각각에 대하여 평균장 어림 방식을 기반으로 상기 확률 변수를 분해할 수 있다.
여기서, 상기 보조 함수를 산출하는 단계는, 상기 로그 우도 함수의 값이 미리 설정된 임계값 보다 작아지는 경우까지, 상기 보조 함수에 포함된 복수의 파라미터들을 순차적으로 갱신하여 상기 보조 함수를 산출할 수 있다.
여기서, 상기 상기 보조 함수를 산출하는 단계는, 상기 복수의 파라미터들을 상기 행렬의 열 단위로 분산하여 갱신할 수 있다.
상술한 바와 같은 행렬 분해 모델 기반 데이터 분석 방법은 행렬 분해 알고리즘의 협업 필터링의 성능 저하를 방지할 수 있고, 다양한 입력 행렬이 존재하는 멀티 모달 데이터를 분석할 수 있다.
도 1은 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 방법을 나타내는 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 분석 모델을 생성하는 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 분석 방법에서 보조 데이터를 활용하는 행렬 분해 모델을 나타내는 개념도이다.
도 4는 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 장치를 나타내는 구성도이다.
도 5는 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 방법의 효과를 나타내는 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 방법을 나타내는 흐름도이고, 도 2는 본 발명의 일 실시예에 따른 분석 모델을 생성하는 방법을 나타내는 흐름도이고, 도 3은 본 발명의 일 실시예에 따른 데이터 분석 방법에서 보조 데이터를 활용하는 행렬 분해 모델을 나타내는 개념도이다.
도 1을 참조하면, 본 발명에 따른 데이터 분석 방법은 행렬 분해 모델(matrix factorization model)을 기반으로 데이터(data)를 분석하는 데이터 분석 장치에서 수행될 수 있다. 여기서, 데이터 분석 장치는 사용자의 상품에 대한 선호도를 기반으로 상품을 추천하는 장치를 의미할 수 있다. 구체적으로, 데이터 분석 장치는 상품에 대한 사용자의 선호도를 행렬 분해 모델을 기반으로 분석하여 상품을 추천할 수 있다.
예를 들어, 데이터 분석 장치는 사용자의 상품에 대한 선호도를 나타내는 행렬
Figure pat00002
을 기반으로 상품을 추천할 수 있다. 구체적으로, 데이터 분석 장치는 하기의 수학식 1이 나타내는 행렬 분해 모델을 기반으로 상품을 추천할 수 있다.
Figure pat00003
상기 수학식 1이 나타내는 행렬 분해 모델
Figure pat00004
는 j에 대한 사용자 i의 선호도를 의미할 수 있다. 여기서, 사용자 i는 복수의 상품들 중 일부에 대해서만 선호도를 표시하는 경우가 발생할 수 있다. 따라서, 상기 수학식 1이 나타내는 행렬 분해 모델
Figure pat00005
는 상품에 대한 사용자의 선호도가 존재하지 않는 상품을 포함할 수 있다. 여기서, 수학식 1의 Ω는 상품에 대한 사용자의 선호도가 존재하는 엔트리(entry)의 집합을 의미할 수 있다.
이후, 데이터 분석 장치는 행렬 분해 모델
Figure pat00006
로부터 사용자 성분 행렬
Figure pat00007
과 상품 성분 행렬
Figure pat00008
를 획득할 수 있다. 여기서, K는 행렬의 계수(rank)를 의미할 수 있다.
이후, 데이터 분석 장치는 획득된 사용자 성분 행렬 U 및 상품 성분 행렬 V를 기반으로 선호도가 존재하지 않는 상품에 대한 사용자의 선호도인 를 예측할 수 있고, 이에 기초하여 사용자에게 상품을 추천할 수 있다.
예를 들어, 데이터 분석 장치는 하기 수학식 2와 같이 나타낼 수 있는 목적 함수(objective function)을 최소화하는 방법으로 상기 수학식 1이 나타내는 행렬 분해 모델을 학습할 수 있다. 여기서, 목적 함수는, 행렬 분해 모델의 엔트리의 정규화된 제곱 오차(regularized squared error loss)들의 합으로 정의될 수 있다.
Figure pat00009
데이터 분석 장치는 상기 수학식 2와 같은 목적 함수를 예를 들어, 교대 최소 제곱법(alternating least squares) 또는 확률적 기울기 하강법(stochastic gradient descent)과 같은 방법을 기반으로 최소화할 수 있다. 상술한 바와 같은 방법을 통해, 데이터 분석 장치는 상품에 대한 사용자의 선호도를 예측할 수 있고, 이를 기반으로 상품을 사용자에게 추천할 수 있다. 이하에서는, 데이터 분석 장치에서 본 발명에 따른 데이터 분석 방법이 수행되는 구체적으로 설명될 것 이다.
먼저, 본 발명에 따른 데이터 분석 장치는 적어도 하나의 제1 상품에 대하여 미리 수집된 선호도 데이터 및 미리 수집되지 않은 적어도 하나의 제2 상품에 대한 선호도 데이터를 산출하기 위한 보조 데이터가 나타내는 사전 분포를 기반으로 분석 모델을 생성할 수 있다(S110).
구체적으로, 데이터 분석 장치는 제1 상품에 대한 사용자의 선호도 데이터 및 제2 상품의 선호도 데이터를 산출하기 위한 보조 데이터를 포함하는 멀티 모달 데이터(multi modal data)가 나타내는 행렬 분해 모델을 생성할 수 있다. 이후, 데이터 분석 장치는 생성된 행렬 분해 모델의 사전 분포를 결정하는 복수의 변수들 각각을 확률 변수로 변환하여 분석 모델을 생성할 수 있다. 이하에서, 도 2 및 도 3을 참조하여, 데이터 분석 장치에서 분석 모델이 생성되는 방법이 보다 구체적으로 설명될 것이다.
도 2를 참조하면, 데이터 분석 장치는 제1 상품 및 제2 상품의 추천 대상 사용자와 관련된 정보에서 사용자 특징을 획득할 수 있다(S111). 여기서, 사용자 특징은 제1 상품 및 제2 상품의 추천 대상인 사용자에 대한 특징을 의미할 수 있다. 예를 들어, 사용자 특징은 제1 상품 및 제2 상품의 추천 대상인 복수의 사용자들이 가지는 공통점을 의미할 수 있으며, 사용자의 연령, 사용자의 성별, 사용자의 직업 등과 같은 것을 의미할 수 있다. 또한, 데이터 분석 장치는 이러한 사용자 특징을 벡터(vector)의 표현이 가능한 특징 공간상에 벡터로 표현할 수 있다. 예를 들어, 데이터 분석 장치는 사용자 특징으로 나타난 복수의 사용자들 간의 공통점이 많을수록 크기가 큰 벡터로 표현할 수 있다.
이후, 데이터 분석 장치는 사용자 특징을 선형 변환(linear transformation)하여 제1 잠재 변수(latent variable)를 산출할 수 있다(S112). 여기서, 잠재 변수는 직접 관찰되거나 측정될 수 없어 다른 변수에 기초하여 간접적으로 측정이 가능한 변수를 의미할 수 있다.
이후, 데이터 분석 장치는 제1 상품 및 제2 상품과 관련된 정보가 나타내는 상품 특징을 획득할 수 있다(S113). 예를 들어, 상품 특징은 제1 상품 및 제2 상품이 가지는 공통점을 의미할 수 있으며, 상품의 종류, 상품의 가격 등과 같은 것을 의미할 수 있다. 또한, 데이터 분석 장치는 상품 특징을 벡터의 표현이 가능한 특징 공간상에 벡터로 표현할 수 있다. 예를 들어, 데이터 분석 장치는 복수의 상품들 간의 공통점이 많을수록 크기가 큰 벡터로 표현할 수 있다. 이후, 데이터 분석 장치는 상품 특징을 선형 변환하여 제2 잠재 변수를 획득할 수 있다(S114).
이후, 데이터 분석 장치는 제1 잠재 변수 및 제2 잠재 변수를 기반으로 분석 모델을 생성할 수 있다(S115). 예를 들어, 데이터 분석 장치는 제1 잠재 변수가 나타내는 벡터 및 제2 잠재 변수가 나타내는 벡터를 내적(inner product)하여 분석 모델을 생성할 수 있다. 이하에서, 도 3을 참조하여 데이터 분석 장치에서 보조 데이터를 활용하여 분석 모델을 생성하는 구체적인 방법이 설명될 것이다.
도 3을 참조하면, 데이터 분석 장치는 보조 데이터를 활용하는 방법으로 베이지안 행렬 분해 모델(Bayesian Matrix Factorization Model)을 사용할 수 있다. 여기서, 보조 데이터는 상기에서 설명한 바와 같은, 선호도가 존재하지 않는 상품에 대한 사용자의 선호도를 예측하기 위한 데이터를 의미할 수 있다. 구체적으로, 베이지안 행렬 분해 모델을 구성하는 상품에 대한 사용자의 선호도는 하기 수학식 3과 같이 나타낼 수 있다.
Figure pat00010
여기서, 상기 수학식 3의
Figure pat00011
(70)는 상품에 대한 사용자의 선호도를 포함한 행렬 분해 모델을 의미할 수 있다. 또한, 수학식 3의
Figure pat00012
(20)는 각 사용자 i를 나타내는 잠재 변수를 의미할 수 있고,
Figure pat00013
(50)는 각 상품 j를 나타내는 잠재 변수를 의미할 수 있다. 또한, 베이지안 행렬 분해 모델은 상품에 대한 사용자의 선호도가 존재하지 않는 경우를 포함하고 있으므로, 이에 대한 불확실성으로 잡음(noise)
Figure pat00014
를 포함할 수 있다. 여기서, 베이지안 행렬 분해 모델은 잡음의 평균값을 '0'으로 가지며, 분산이
Figure pat00015
인 가우시안 분포(Gaussian distribution)를 따르는 것으로 가정한다.
이에 따라, 베이지안 행렬 분해 모델을 구성하는 상품에 대한 사용자의 선호도에 대한 우도(likelihood)는 하기의 수학식 4와 같이 나타낼 수 있다. 여기서, 우도는 상품에 대한 사용자의 선호도가 존재하지 않는 상품의 선호도에 대하여 예측되는 값을 의미할 수 있다.
Figure pat00016
또한, 보조 데이터를 활용하는 베이지안 행렬 분해 모델은 사용자와 상품 각각에 대한 보조 데이터가 하기의 수학식 5와 같이 나타낼 수 있는 것으로 가정한다.
Figure pat00017
여기서,
Figure pat00018
(30)는 각 사용자 i에 대한 보조 데이터를 나타내는 특징 벡터를 의미할 수 있다. 또한,
Figure pat00019
(60)는 각 상품 j에 대한 보조 데이터를 나타내는 특징 벡터를 의미할 수 있다. 베이지안 행렬 분해 모델은 하기의 수학식 6과 같이 사용자 성분 행렬 U 및 상품 성분 행렬 V가 보조 데이터로부터 선형 회귀 모델(linear regression model)을 기반으로 생성되는 것으로 가정한다.
Figure pat00020
여기서, 수학식 6의 A(10)는 각 사용자 i에 대한 잠재 변수를 나타내는
Figure pat00021
(20)의 회귀 계수 행렬(regression coefficient matrix)를 의미할 수 있고,
Figure pat00022
와 같이 표현될 수 있다. 또한, B(40)는 각 상품 j에 대한 잠재 변수를 나타내는
Figure pat00023
(50)의 회귀 계수 행렬을 의미할 수 있고,
Figure pat00024
와 같이 표현될 수 있다. 상기 수학식 6은 사용자 성분 행렬 및 상품 성분 행렬 간에 하기의 수학식 7과 같은 가우시안 사전 분포(Gaussian prior distribution)가 설정된 것을 의미할 수 있다. 또한, 베이지안 행렬 분해 모델은 회기 계수 행렬에 하기의 수학식 8과 같은 가우시안 사전 분포가 설정될 수 있다.
Figure pat00025
Figure pat00026
상술한 바와 같은 과정을 통해, 데이터 분석 장치는 상품에 대한 사용자의 선호도가 나타내는 사전 분포를 기반으로 분석 모델을 생성할 수 있다.
다시 도 1을 참조하면, 데이터 분석 장치는 보조 데이터를 활용하는 베이지안 행렬 분해 모델의 학습을 통해, 생성된 분석 모델을 구성하는 각 변수들의 집합인 Z={U,V,A,B}에 대하여 사전 분포를 나타내는 데이터인
Figure pat00027
를 반영하는 사후 분포를 추론할 수 있다.
구체적으로, 데이터 분석 장치는 분석 모델이 나타내는 행렬을 구성하는 복수의 요소들 각각의 확률 변수를 분해할 수 있다(S120). 여기서, 데이터 분석 장치는 분석 모델이 나타내는 행렬을 구성하는 복수의 요소들 각각에 대하여 평균장 어림 방식(mean-field approximation)을 기반으로 확률 변수를 분해할 수 있다.
이후, 데이터 분석 장치는 각각의 확률 변수에 대하여 로그 우도(log-likelihood) 함수의 하한(lower-bound) 함수를 최대화하는 보조 함수를 산출할 수 있다(S130). 여기서, 데이터 분석 장치는 로그 우도 함수의 값이 미리 설정된 임계값 보다 작아지는 경우까지, 보조 함수에 포함된 복수의 파라미터들을 순차적으로 갱신하여 보조 함수를 산출할 수 있다. 이때, 데이터 분석 장치는 복수의 파라미터들을 행렬의 열 단위로 분산하여 갱신할 수 있다.
이후, 데이터 분석 장치는 산출된 보조 함수를 기반으로 사후 분포를 추론하여 분석 모델을 학습할 수 있다(S140). 이하에서는, 데이터 분석 장치에서 보조 함수를 산출하고, 사후 분포를 추론하여 분석 모델을 학습하는 과정이 구체적으로 설명될 것이다.
먼저, 데이터 분석 장치에서 보조 함수를 산출하는 과정에서 사용되는 함수들인, 로그 우도 함수, 하한 함수 및 보조 함수들 간의 관계는 하기의 수학식 9와 같이 나타낼 수 있다.
Figure pat00028
상기 수학식 9의
Figure pat00029
는 로그 우도 함수를 의미할 수 있고,
Figure pat00030
는 하한 함수를 의미할 수 있고,
Figure pat00031
는 보조 함수를 의미할 수 있다. 여기서, 데이터 분석 장치는 보조 함수를 산출하는 과정의 계산 복잡도를 평균장 어림 방식을 적용할 수 있다. 구체적으로, 데이터 분석 장치에서 평균장 어림 방식을 적용하여 확률 변수를 분해한 것을 하기의 수학식 10과 같이 나타낼 수 있다.
Figure pat00032
이때, 확률 변수를 분해하는 과정에서, 계산 복잡도가 발생할 수 있으며, 계산 복잡도는 공간 복잡도(space complexity) 및 시간 복잡도(time complexity)를 의미할 수 있다. 여기서, 공간 복잡도는 하기의 수학식 11과 같이 나타낼 수 있고, 시간 복잡도는 하기의 수학식 12와 같이 나타낼 수 있다.
Figure pat00033
Figure pat00034
상기 수학식 11 및 수학식 12의 I는 분석 모델에 포함된 사용자의 수, J는 분석 모델에 포함된 상품의 개수, K는 분석 모델의 계수, Ω는 분석 모델에 포함된 선호도 기록의 개수, M은 사용자에 대한 보조 데이터를 나타내는 특징 벡터의 차원, N은 상품에 대한 보조 데이터를 나타내는 특징 벡터의 차원을 의미할 수 있다.
또한, 본 발명에 따른 데이터 분석 장치는 하기의 수학식 13과 같이 분석 모델을 나타내는 행렬의 원소 단위로 평균장 어림 방식을 적용하여 확률 변수를 분해할 수 있다.
Figure pat00035
여기서, 데이터 분석 장치는 하한 함수
Figure pat00036
를 최대화 시키는 해를 산출하여, 산출된 해를 분석 모델에 포함된 각각의 확률 변수에 대한 보조 함수
Figure pat00037
로 결정할 수 있다. 구체적으로, 데이터 분석 장치는 로그 우도 함수의 값이 미리 설정된 임계값 보다 작아지는 경우까지, 하기의 수학식 14 내지 수학식 21에 기초하여 각 보조 함수의 파라미터들을 순차적으로 갱신할 수 있다.
Figure pat00038
Figure pat00039
여기서, 상기 수학식 14는
Figure pat00040
에 대한 보조 함수를 의미할 수 있고, 상기 수학식 15의
Figure pat00041
에 대한 보조 함수의 파라미터 갱신 식을 의미할 수 있다. 여기서,
Figure pat00042
는 상품에 대한 사용자의 선호도가 존재하는 상품들의 집합을 의미할 수 있다.
Figure pat00043
Figure pat00044
여기서, 상기 수학식 16은
Figure pat00045
에 대한 보조 함수를 의미할 수 있고, 상기 수학식 17은
Figure pat00046
에 대한 보조 함수의 파라미터들 갱신 식을 의미할 수 있다. 여기서,
Figure pat00047
는 상품에 대한 사용자의 선호도가 존재하는 사용자들의 집합을 의미할 수 있다.
Figure pat00048
Figure pat00049
여기서, 상기 수학식 18은
Figure pat00050
에 대한 보조 함수를 의미할 수 있고, 상기 수학식 19는
Figure pat00051
에 대한 보조 함수의 파라미터들 갱신 식을 의미할 수 있다. 여기서,
Figure pat00052
은 행렬 F의 m번 째 열 벡터(row vector)를 의미할 수 있고,
Figure pat00053
Figure pat00054
의 k번 째 열 벡터를 의미할 수 있다.
Figure pat00055
Figure pat00056
여기서, 상기 수학식 20은
Figure pat00057
에 대한 보조 함수를 의미할 수 있고, 상기 수학식 21은
Figure pat00058
에 대한 보조 함수의 파라미터 갱신 식을 의미할 수 있다. 여기서, 은 행렬 G의 n번 째 열 벡터를 의미할 수 있고,
Figure pat00059
는 의 k번 째 열 벡터를 의미할 수 있다. 또한, 상기 수학식 14 내지 수학식 21에 포함된
Figure pat00060
는 하기의 수학식 22 내지 수학식 26와 같이 나타낼 수 있다.
Figure pat00061
Figure pat00062
Figure pat00063
Figure pat00064
Figure pat00065
여기서, 데이터 분석 장치는 상기 수학식 13과 같이 나타낼 수 있는 평균장 어림 방식을 적용할 수 있고, 상기 수학식 14 내지 수학식 21에 기초하여 파라미터들을 순차적으로 갱신할 수 있다. 이에 따라, 데이터 분석 장치는 하기의 수학식 27 및 수학식 28에 따른 복잡도를 가질 수 있다.
Figure pat00066
Figure pat00067
여기서, 상기 수학식 27은 공간 복잡도를 의미할 수 있고, 상기 수학식 28은 시간 복잡도를 의미할 수 있다. 또한, 상기 수학식 28의
Figure pat00068
는 행렬 F의 0이 아닌 원소의 개수를 의미할 수 있고,
Figure pat00069
는 행렬 G의 0이 아닌 원소의 개수를 의미할 수 있다.
데이터 분석 장치는 상술한 바와 같은 과정을 통해, 보조 함수를 산출할 수 있고, 산출된 보조 함수 기반으로 사후 분포를 추론하여 분석 모델을 학습할 수 있다.
이후, 데이터 분석 장치는 학습된 분석 모델을 기반으로 제2 상품에 대한 최종 선호도를 결정할 수 있다(S150). 즉, 데이터 분석 장치는 분석 모델의 학습하는 과정을 통해, 제2 상품에 대한 사용자의 선호도를 예측할 수 있고, 예측된 선호도를 제2 상품에 대한 사용자의 선호도로 결정할 수 있다.
본 발명에 따른 데이터 분석 장치는 상기와 같은 단계 S110 내지 단계 S150을 수행함으로써, 상품에 대한 사용자의 선호도를 예측할 수 있고, 예측된 선호도를 기반으로 사용자에게 상품을 추천하는 추천 시스템에 사용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 장치를 나타내는 구성도이다.
도 4를 참조하면, 데이터 분석 장치(400)는 도 1 내지 도 2를 참조하여 설명한 행렬 분해 모델 기반 데이터 분석 방법을 수행하는 장치를 의미할 수 있다. 데이터 분석 장치(400)는 적어도 하나의 프로세서(410), 메모리(420) 및 네트워크와 연결되어 통신을 수행하는 네트워크 인터페이스 장치(430)를 포함할 수 있다. 또한, 데이터 분석 장치(400)는 입력 인터페이스 장치(440), 출력 인터페이스 장치(450), 저장 장치(460) 등을 더 포함할 수 있다. 데이터 분석 장치(400)에 포함된 각각의 구성 요소들은 버스(bus)(470)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(410)는 메모리(420) 및/또는 저장 장치(460)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(410)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(420)와 저장 장치(460)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(420)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
프로세서(410)을 통해 실행되는 프로그램 명령은 제1 상품에 대한 선호도 데이터 및 선호도 데이터가 존재하지 않는 제2 상품의 선호도 데이터를 산출하기 위한 보조 데이터가 나타내는 사전 분포를 기반으로 분석 모델을 생성하는 단계, 분석 모델을 구성하는 복수의 변수들을 기반으로 사후 분포를 추론하여 분석 모델을 학습하는 단계, 및 학습된 분석 모델을 기반으로 제2 상품에 대한 최종 선호도를 결정하는 단계를 수행하도록 실행 가능할 수 있다.
여기서, 분석 모델은 선호도 데이터 및 보조 데이터를 포함하는 멀티 모달 데이터가 나타내는 행렬 분해 모델의 사전 분포를 결정하는 복수의 변수들 각각이 확률 변수로 변환되어 생성될 수 있다.
또한, 프로세서(410)을 통해 실행되는 분석 모델을 생성하는 단계는 제1 상품 및 제2 상품의 추천 대상 사용자와 관련된 정보에서 사용자 특징을 획득하는 단계, 사용자 특징을 선형 변환하여 제1 잠재 변수를 산출하는 단계, 제1 상품 및 제2 상품과 관련된 정보가 나타내는 상품 특징을 획득하는 단계, 상품 특징을 선형 변환하여 제2 잠재 변수를 산출하는 단계 및 제1 잠재 변수 및 제2 잠재 변수를 기반으로 분석 모델을 생성하는 단계를 포함할 수 있다.
또한, 프로세서(410)를 통해 실행되는 분석 모델을 학습하는 단계는 분석 모델이 나타내는 행렬을 구성하는 복수의 요소들 각각의 확률 변수를 분해하는 단계, 분해된 각각의 확률 변수에 대하여 로그 우도 함수의 하한 함수를 최대화하는 보조 함수를 산출하는 단계 및 산출된 보조 함수를 기반으로 사후 분포를 추론하여 분석 모델을 학습하는 단계를 포함할 수 있다.
또한, 프로세서(410)를 통해 실행되는 확률 변수를 분해하는 단계는 행렬을 구성하는 복수의 요소들 각각에 대하여 평균장 어림 방식을 기반으로 확률 변수를 분해할 수 있다.
또한, 프로세서(410)를 통해 실행되는 보조 함수를 산출하는 단계는 로그 우도 함수의 값이 미리 설정된 임계값 보다 작아지는 경우까지, 보조 함수에 포함된 복수의 파라미터들을 순차적으로 갱신하여 보조 함수를 산출할 수 있다. 여기서, 프로세서(410)를 통해 실행되는 보조 함수를 산출하는 단계는 복수의 파라미터들을 상기 행렬의 열 단위로 분산하여 갱신할 수 있다.
도 5는 본 발명의 일 실시예에 따른 행렬 분해 모델 기반 데이터 분석 방법의 효과를 나타내는 그래프이다.
도 5를 참조하면, 데이터 분석 장치에서 일반적인 데이터 분석 방법을 사용하여 상품에 대한 사용자의 선호도를 예측한 실험 결과와 본 발명에 따른 데이터 분석 방법을 사용하여 상품에 대한 사용자의 선호도를 예측한 실험 결과를 알 수 있다.
먼저 본 실험에 사용된 상품에 대한 사용자의 선호도 행렬(이하, '선호도 행렬'이라 칭함)은 480,189명의 사용자로부터 17,770개의 상품에 대한 100,480,507건의 선호도의 기록으로 구성되었다. 또한, 본 실험은 선호도 행렬의 100,480,507건의 선호도 기록 중 99,072,112건의 선호도 기록은 미리 저장된 상태로 설정하고, 나머지 1,408,396건의 선호도 기록을 예측한 결과에 대하여 실험하였다.
또한, 도 5에 도시된 그래프의 가로축(x축)은 분석 모델을 학습하는데 소요되는 시간을 의미할 수 있고, 세로축(y축)은 선호도의 예측에 대한 예측 성능을 평균 제곱근 오차로 나타낸 RMSE(Root Mean Square Error)을 의미할 수 있다. 아울러, 본 실험에서 보조 데이터를 활용하는 베이지안 행렬 분해 모델의 경우, 사용자에 대한 보조 데이터는 사용자의 근접 이웃 관계를 기반으로 하였으며, 상품에 대한 보조 데이터는 고객의 평가 여부를 표현하는 암시적 피드백(implicit feedback)을 기반으로 하였다.
또한, 그래프에 나타난 VBMFSI-CA(Variational Bayesian Matrix Factorization with Side Information-Coordinate Ascent)는 본 발명에 따른 보조 데이터를 활용하는 베이지안 행렬 분해 모델 및 본 발명에 따른 데이터 분석 방법을 사용한 실험 결과를 의미한다. 또한, VBMF-CA(Variational Bayesian Matrix Factorization-Coordinate Ascent)는 일반적인 베이지안 행렬 분해 모델에 본 발명에 따른 데이터 분석 방법을 사용한 실험 결과를 의미한다. 또한, VBMF-BCA(Variation Bayesian Matrix Factorization-Block Coordinate Ascent) 및 VBMF-GA(Variation Bayesian Matrix Factorization-Gradient Ascent)는 일반적인 베이지안 행렬 분해 모델에 일반적인 데이터 분석 방법을 사용한 실험 결과를 의미한다.
결과적으로, 본 발명에 따른 데이터 분석 방법을 사용하는 VBMFSI-CA 및 VBMF-CA는 일반적인 베이지안 행렬 분해 모델 및 일반적인 데이터 분석 방법을 사용하는 VBMF-BCA 및 VBMF-GA에 비하여 빠른 시간 내에 보다 정확한 성능을 나타내는 것을 알 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다
400 : 데이터 분석 장치
410 : 프로세서
420 : 메모리
430 : 네트워크 인터페이스 장치
440 : 입력 인터페이스 장치
450 : 출력 인터페이스 장치
460 : 저장 장치
470 : 버스

Claims (14)

  1. 행렬 분해 모델(matrix factorization model)을 분석하는 장치에서 수행되는 데이터(data) 분석 방법에 있어서,
    적어도 하나의 제1 상품에 대하여 미리 수집된 선호도 데이터 및 미리 수집되지 않은 적어도 하나의 제2 상품에 대한 선호도 데이터를 산출하기 위한 보조 데이터가 나타내는 사전 분포를 기반으로 분석 모델을 생성하는 단계;
    상기 분석 모델을 구성하는 복수의 변수들을 기반으로 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계; 및
    상기 학습된 분석 모델을 기반으로 상기 제2 상품에 대한 최종 선호도를 결정하는 단계를 포함하는 행렬 분해 모델 기반 데이터 분석 방법.
  2. 청구항 1에 있어서,
    상기 분석 모델은,
    상기 선호도 데이터 및 상기 보조 데이터를 포함하는 멀티 모달 데이터(multi modal data)가 나타내는 행렬 분해 모델의 사전 분포를 결정하는 복수의 변수들 각각이 확률 변수로 변환되어 생성되는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 방법.
  3. 청구항 1에 있어서,
    상기 분석 모델을 생성하는 단계는,
    상기 제1 상품 및 제2 상품의 추천 대상 사용자와 관련된 정보에서 사용자 특징을 획득하는 단계;
    상기 사용자 특징을 선형 변환(linear transformation)하여 제1 잠재 변수(latent variable)를 산출하는 단계;
    상기 제1 상품 및 제2 상품과 관련된 정보가 나타내는 상품 특징을 획득하는 단계;
    상기 상품 특징을 선형 변환하여 제2 잠재 변수를 산출하는 단계; 및
    상기 제1 잠재 변수 및 상기 제2 잠재 변수를 기반으로 상기 분석 모델을 생성하는 단계를 포함하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 방법.
  4. 청구항 1에 있어서,
    상기 분석 모델을 학습하는 단계는,
    상기 분석 모델이 나타내는 행렬을 구성하는 복수의 요소들 각각의 확률 변수를 분해하는 단계;
    상기 분해된 각각의 확률 변수에 대하여 로그 우도 함수(log-likelihood)의 하한(lower-bound) 함수를 최대화하는 보조 함수를 산출하는 단계; 및
    상기 산출된 보조 함수를 기반으로 상기 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계를 포함하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 방법.
  5. 청구항 4에 있어서,
    상기 확률 변수를 분해하는 단계는,
    상기 행렬을 구성하는 복수의 요소들 각각에 대하여 평균장 어림 방식(mean-field approximation)을 기반으로 상기 확률 변수를 분해하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 방법.
  6. 청구항 4에 있어서,
    상기 보조 함수를 산출하는 단계는,
    상기 로그 우도 함수의 값이 미리 설정된 임계값 보다 작아지는 경우까지, 상기 보조 함수에 포함된 복수의 파라미터들을 순차적으로 갱신하여 상기 보조 함수를 산출하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 방법.
  7. 청구항 6에 있어서,
    상기 상기 보조 함수를 산출하는 단계는,
    상기 복수의 파라미터들을 상기 행렬의 열 단위로 분산하여 갱신하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 방법.
  8. 행렬 분해 모델(matrix factorization model)을 기반으로 데이터(data)를 분석하는 장치로서,
    프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령(program command)이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령 프로그램은,
    적어도 하나의 제1 상품에 대하여 미리 수집된 선호도 데이터 및 미리 수집되지 않은 적어도 하나의 제2 상품에 대한 선호도 데이터를 산출하기 위한 보조 데이터가 나타내는 사전 분포를 기반으로 분석 모델을 생성하는 단계;
    상기 분석 모델을 구성하는 복수의 변수들을 기반으로 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계; 및
    상기 학습된 분석 모델을 기반으로 상기 제2 상품에 대한 최종 선호도를 결정하는 단계를 수행하도록 실행 가능한, 데이터 분석 장치.
  9. 청구항 8에 있어서,
    상기 분석 모델은,
    상기 선호도 데이터 및 상기 보조 데이터를 포함하는 멀티 모달 데이터(multi modal data)가 나타내는 행렬 분해 모델의 사전 분포를 결정하는 복수의 변수들 각각이 확률 변수로 변환되어 생성되는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 장치.
  10. 청구항 8에 있어서,
    상기 분석 모델을 생성하는 단계는,
    상기 제1 상품 및 제2 상품의 추천 대상 사용자와 관련된 정보에서 사용자 특징을 획득하는 단계;
    상기 사용자 특징을 선형 변환(linear transformation)하여 제1 잠재 변수(latent variable)를 산출하는 단계;
    상기 제1 상품 및 제2 상품과 관련된 정보가 나타내는 상품 특징을 획득하는 단계;
    상기 상품 특징을 선형 변환하여 제2 잠재 변수를 산출하는 단계; 및
    상기 제1 잠재 변수 및 상기 제2 잠재 변수를 기반으로 상기 분석 모델을 생성하는 단계를 포함하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 장치.
  11. 청구항 8에 있어서,
    상기 분석 모델을 학습하는 단계는,
    상기 분석 모델이 나타내는 행렬을 구성하는 복수의 요소들 각각의 확률 변수를 분해하는 단계;
    상기 분해된 각각의 확률 변수에 대하여 로그 우도 함수(log-likelihood)의 하한(lower-bound) 함수를 최대화하는 보조 함수를 산출하는 단계; 및
    상기 산출된 보조 함수를 기반으로 상기 사후 분포를 추론하여 상기 분석 모델을 학습하는 단계를 포함하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 장치.
  12. 청구항 11에 있어서,
    상기 확률 변수를 분해하는 단계는,
    상기 행렬을 구성하는 복수의 요소들 각각에 대하여 평균장 어림 방식(mean-field approximation)을 기반으로 상기 확률 변수를 분해하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 장치.
  13. 청구항 11에 있어서,
    상기 보조 함수를 산출하는 단계는,
    상기 로그 우도 함수의 값이 미리 설정된 임계값 보다 작아지는 경우까지, 상기 보조 함수에 포함된 복수의 파라미터들을 순차적으로 갱신하여 상기 보조 함수를 산출하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 장치.
  14. 청구항 13에 있어서,
    상기 상기 보조 함수를 산출하는 단계는,
    상기 복수의 파라미터들을 상기 행렬의 열 단위로 분산하여 갱신하는 것을 특징으로 하는 행렬 분해 모델 기반 데이터 분석 장치.
KR1020140170732A 2014-12-02 2014-12-02 행렬 분해 모델 기반 데이터 분석 방법 및 장치 KR101635283B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140170732A KR101635283B1 (ko) 2014-12-02 2014-12-02 행렬 분해 모델 기반 데이터 분석 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140170732A KR101635283B1 (ko) 2014-12-02 2014-12-02 행렬 분해 모델 기반 데이터 분석 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160066395A true KR20160066395A (ko) 2016-06-10
KR101635283B1 KR101635283B1 (ko) 2016-07-08

Family

ID=56190714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140170732A KR101635283B1 (ko) 2014-12-02 2014-12-02 행렬 분해 모델 기반 데이터 분석 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101635283B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777318A (zh) * 2017-01-05 2017-05-31 西安电子科技大学 基于协同训练的矩阵分解跨模态哈希检索方法
KR20180093741A (ko) * 2017-02-14 2018-08-22 주식회사 아이디어랩스 부가 정보를 반영한 개인화 회귀 분석을 이용하여 품목의 이용자가 상기 품목에 부여하는 선호도를 예측하기 위하여 정보를 정화하는 방법 및 이를 이용한 컴퓨팅 장치
KR20190016236A (ko) * 2017-08-08 2019-02-18 한국과학기술원 보조정보를 이용하는 조건부 변분 오토인코더 기반의 협업 필터링 방법 및 장치
KR20190042154A (ko) * 2017-10-16 2019-04-24 주식회사 센티언스 데이터 분석 활용을 위한 데이터 보안성 유지 방법
KR20190060364A (ko) * 2017-11-24 2019-06-03 서울대학교산학협력단 희박 데이터를 위한 데이터 분석 방법 및 이를 수행하기 위한 장치
KR20220032307A (ko) * 2020-09-07 2022-03-15 고려대학교 산학협력단 감염병 발생 패턴 분석 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ruslan Salakhutdinov and Andriy Mnih. Probabilistic Matrix Factorization. 2008. *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777318A (zh) * 2017-01-05 2017-05-31 西安电子科技大学 基于协同训练的矩阵分解跨模态哈希检索方法
CN106777318B (zh) * 2017-01-05 2019-12-10 西安电子科技大学 基于协同训练的矩阵分解跨模态哈希检索方法
KR20180093741A (ko) * 2017-02-14 2018-08-22 주식회사 아이디어랩스 부가 정보를 반영한 개인화 회귀 분석을 이용하여 품목의 이용자가 상기 품목에 부여하는 선호도를 예측하기 위하여 정보를 정화하는 방법 및 이를 이용한 컴퓨팅 장치
KR20190016236A (ko) * 2017-08-08 2019-02-18 한국과학기술원 보조정보를 이용하는 조건부 변분 오토인코더 기반의 협업 필터링 방법 및 장치
KR20190042154A (ko) * 2017-10-16 2019-04-24 주식회사 센티언스 데이터 분석 활용을 위한 데이터 보안성 유지 방법
WO2019078374A1 (ko) * 2017-10-16 2019-04-25 주식회사 센티언스 데이터 분석 활용을 위한 데이터 보안성 유지 방법
US11263338B2 (en) 2017-10-16 2022-03-01 Sentience Inc. Data security maintenance method for data analysis application
KR20190060364A (ko) * 2017-11-24 2019-06-03 서울대학교산학협력단 희박 데이터를 위한 데이터 분석 방법 및 이를 수행하기 위한 장치
KR20220032307A (ko) * 2020-09-07 2022-03-15 고려대학교 산학협력단 감염병 발생 패턴 분석 장치

Also Published As

Publication number Publication date
KR101635283B1 (ko) 2016-07-08

Similar Documents

Publication Publication Date Title
KR101635283B1 (ko) 행렬 분해 모델 기반 데이터 분석 방법 및 장치
US11379901B2 (en) Methods and apparatuses for deep learning-based recommendation, electronic devices, and media
US10824941B2 (en) End-to-end deep collaborative filtering
CN113626719B (zh) 信息推荐方法、装置、设备、存储介质及计算机程序产品
CN108230058B (zh) 产品推荐方法及系统
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
Nilashi et al. Clustering-and regression-based multi-criteria collaborative filtering with incremental updates
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN114372573B (zh) 用户画像信息识别方法、装置、计算机设备和存储介质
CN107239532B (zh) 数据挖掘方法及装置
CN110085292B (zh) 药品推荐方法、装置及计算机可读存储介质
WO2012034606A2 (en) Multiverse recommendation method for context-aware collaborative filtering
CN117216281A (zh) 一种基于知识图谱的用户兴趣扩散推荐方法及系统
CN111178986A (zh) 用户-商品偏好的预测方法及系统
Bibal et al. BIOT: Explaining multidimensional nonlinear MDS embeddings using the Best Interpretable Orthogonal Transformation
CN113763031A (zh) 一种商品推荐方法、装置、电子设备及存储介质
CN110555160A (zh) 用于推荐系统的数据处理方法、数据处理装置和电子设备
Parvina et al. An efficient recommender system by integrating non-negative matrix factorization with trust and distrust relationships
JP2012194741A (ja) 行列形データの欠損値予測装置、欠損値予測計算方法および欠損値予測プログラム
CN111782928A (zh) 信息推送方法、装置和计算机可读存储介质
CN112669127B (zh) 用于商品推荐的方法、装置及设备
Bahrkazemi et al. A strategy to estimate the optimal low-rank in incremental SVD-based algorithms for recommender systems
CN113704617A (zh) 物品推荐方法、系统、电子设备及存储介质
CN113792952A (zh) 用于生成模型的方法和装置
CN115222486B (zh) 物品推荐模型训练方法、物品推荐方法、装置及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant