KR102330171B1 - 주성분분석제어장치 및 그 동작 방법 - Google Patents

주성분분석제어장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102330171B1
KR102330171B1 KR1020200169746A KR20200169746A KR102330171B1 KR 102330171 B1 KR102330171 B1 KR 102330171B1 KR 1020200169746 A KR1020200169746 A KR 1020200169746A KR 20200169746 A KR20200169746 A KR 20200169746A KR 102330171 B1 KR102330171 B1 KR 102330171B1
Authority
KR
South Korea
Prior art keywords
distributed processing
principal component
component analysis
processing server
matrix
Prior art date
Application number
KR1020200169746A
Other languages
English (en)
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 KR1020200169746A priority Critical patent/KR102330171B1/ko
Application granted granted Critical
Publication of KR102330171B1 publication Critical patent/KR102330171B1/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
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 주성분 분석(PCA, Principal Component Analysis) 기법을 병렬화하여 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 향상시킬 수 있는 주성분분석제어장치 및 그 동작 방법에 관한 것이다.

Description

주성분분석제어장치 및 그 동작 방법{CONTROLLING APPARATUS FOR PRINCIPAL COMPONENT ANALYISIS, AND CONTROL METHOD THEREOF}
본 발명은 주성분 분석(PCA, Principal Component Analysis) 기법을 병렬화하여 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 향상시키기 위한 방안에 관한 것이다.
주성분 분석(PCA, Principal Component Analysis)은 여러 변수가 있는 데이터 차원에서 가장 주요한 성분을 순서대로 추출하는 기법으로서, 여러 변수의 값을 합쳐서 그 보다 적은 수의 주요 성분을 새로운 변수로 하여 데이터를 표현하기 때문에 차원을 축소할 때 사용될 수 있다.
이러한, 주성분 분석은, 데이터마이닝, 인공지능, 데이터분석, 통계, 및 수치해석 등에 있어서 매트릭스(Matrix)로부터 의미 있는 차원을 추출하는데 활용될 수 있는데, 이때 분석이 필요한 매트릭스의 규모가 크지 않은 경우라면, 한 대의 서버 자원을 통해서 주성분 분석을 처리하는 것이 가능하다.
그러나, 최근에는 고해상도 과학영상 데이터 분석, IoT, SNS 등의 네트워크 분석, 인공지능, 그리고 빅데이터 분석 등과 같이 초고차원 특성의 매트릭스 분석이 필요해지는 추세이며, 이에 따라 기존과 같이 한 대의 서버 자원을 통해 주성분 분석을 처리하기에는 한계가 따르는 것이 현실이다.
이에, 본 발명에서는, 초고차원 매트릭스에 대해 주성분 분석을 처리하기 위한 새로운 방안을 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 주성분 분석(PCA, Principal Component Analysis) 기법을 병렬화하여 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 향상시키는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 주성분분석제어장치는, 주성분 분석(PCA, Principal Component Analysis) 대상인 매트릭스(Matrix)를 분산처리서버의 대수만큼의 행(Row) 블록으로 분할하는 분할부; 상기 매트릭스로부터 분할된 행 블록을 상기 분산처리서버 각각에 할당하여, 상기 분산처리서버 각각에서 상기 주성분 분석에서 요구되는 적어도 일부의 계산 단계를 상기 행 블록에 대해서 처리하도록 하는 할당부; 및 상기 주성분 분석에서 요구되는 나머지 계산 단계를 처리하기 위한 취합처리서버를 결정하여, 상기 취합처리서버에서 상기 분산처리서버 각각으로부터 취합되는 상기 적어도 일부의 계산 단계에 대한 처리 결과를 토대로 상기 나머지 계산 단계를 처리하도록 하는 결정부를 포함하는 것을 특징으로 한다.
구체적으로, 상기 할당부는, 상기 분산처리서버 각각에 대한 메모리 영역을 지정하여, 지정된 메모리 영역 각각에 상기 분산처리서버 별로 할당된 상기 행 블록의 데이터를 저장하며, 지정된 메모리 영역의 저장 공간이 상기 행 블록의 데이터를 저장하기에 부족한 경우, 상기 행 블록의 적어도 일부 데이터를 상기 분산처리서버 각각의 로컬 디스크에 저장할 수 있다.
구체적으로, 상기 분산처리서버는, 상기 적어도 일부의 계산 단계에 따라 상기 행 블록에서 각 열(Colum) 별로 평균 값을 계산하며, 상기 분산처리서버 각각에서 계산된 평균 값이 상기 취합처리서버로부터 취합되어 수신되면, 상기 행 블록의 각 열마다 수신된 평균 값과의 차이를 계산하여 상기 행 블록을 업데이트할 수 있다.
구체적으로, 상기 분산처리서버는, 상기 적어도 일부의 계산 단계에 따라 상기 행 블록에 대해 공분산 매트릭스를 계산하며, 상기 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값을 상기 취합처리서버로 전송하여, 상기 취합처리서버에서 상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과 값을 합산하도록 할 수 있다.
구체적으로, 상기 분산처리서버는, 상기 행 블록에 대한 공분산 매트릭스의 계산 시마다 상기 부분 공분산 결과 값을 상기 취합처리서버로 실시간 전송하거나, 또는 상기 부분 공분산 결과 값을 저장하는 버퍼를 할당하여 상기 버퍼에 저장되는 일정량만큼의 부분 공분산 결과 값을 상기 취합처리서버로 일괄 전송할 수 있다.
구체적으로, 상기 취합처리서버는, 상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과를 저장하기 위한 메모리 영역을 할당하며, 상기 취합처리서버에 할당된 메모리 영역의 저장 공간이 상기 부분 공분산 결과를 저장하기에 부족한 경우, 별도 분산 파일 시스템의 디스크 공간에 상기 부분 공분산 결과 중 적어도 일부를 저장할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 주성분분석제어장치의 동작 방법은, 주성분 분석(PCA, Principal Component Analysis) 대상인 매트릭스(Matrix)를 분산처리서버의 대수만큼의 행(Row) 블록으로 분할하는 분할단계; 상기 매트릭스로부터 분할된 행 블록을 상기 분산처리서버 각각에 할당하여, 상기 분산처리서버 각각에서 상기 주성분 분석에서 요구되는 적어도 일부의 계산 단계를 상기 행 블록에 대해서 처리하도록 하는 할당단계; 및 상기 주성분 분석에서 요구되는 나머지 계산 단계를 처리하기 위한 취합처리서버를 결정하여, 상기 취합처리서버에서 상기 분산처리서버 각각으로부터 취합되는 상기 적어도 일부의 계산 단계에 대한 처리 결과를 토대로 상기 나머지 계산 단계를 처리하도록 하는 결정단계를 포함하는 것을 특징으로 한다.
구체적으로, 상기 할당단계는, 상기 분산처리서버 각각에 대한 메모리 영역을 지정하여, 지정된 메모리 영역 각각에 상기 분산처리서버 별로 할당된 상기 행 블록의 데이터를 저장하며, 지정된 메모리 영역의 저장 공간이 상기 행 블록의 데이터를 저장하기에 부족한 경우, 상기 행 블록의 적어도 일부 데이터를 상기 분산처리서버 각각의 로컬 디스크에 저장할 수 있다.
구체적으로, 상기 분산처리서버는, 상기 적어도 일부의 계산 단계에 따라 상기 행 블록에서 각 열(Colum) 별로 평균 값을 계산하며, 상기 분산처리서버 각각에서 계산된 평균 값이 상기 취합처리서버로부터 취합되어 수신되면, 상기 행 블록의 각 열마다 수신된 평균 값과의 차이를 계산하여 상기 행 블록을 업데이트할 수 있다.
구체적으로, 상기 분산처리서버는, 상기 적어도 일부의 계산 단계에 따라 상기 행 블록에 대해 공분산 매트릭스를 계산하며, 상기 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값을 상기 취합처리서버로 전송하여, 상기 취합처리서버에서 상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과 값을 합산하도록 할 수 있다.
구체적으로, 상기 분산처리서버는, 상기 행 블록에 대한 공분산 매트릭스의 계산 시마다 상기 부분 공분산 결과 값을 상기 취합처리서버로 실시간 전송하거나, 또는 상기 부분 공분산 결과 값을 저장하는 버퍼를 할당하여 상기 버퍼에 저장되는 일정량만큼의 부분 공분산 결과 값을 상기 취합처리서버로 일괄 전송할 수 있다.
구체적으로, 상기 취합처리서버는, 상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과를 저장하기 위한 메모리 영역을 할당하며, 상기 취합처리서버에 할당된 메모리 영역의 저장 공간이 상기 부분 공분산 결과를 저장하기에 부족한 경우, 별도 분산 파일 시스템의 디스크 공간에 상기 부분 공분산 결과 중 적어도 일부를 저장할 수 있다.
이에, 본 발명의 주성분분석제어장치 및 그 동작 방법에서는, 주성분 분석에서 요구되는 적어도 일부의 계산 단계를 병렬화하여 주성분 분석 계산의 전체 성능을 향상시킴으로써, 초고차원의 매트릭스에 대한 주성분 분석의 처리 성능을 크게 제고시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 주성분 분석 환경을 설명하기 위한 예시도.
도 2는 본 발명의 일 실시예에 따른 주성분분석제어장치의 개략적인 구성도.
도 3 및 도 4는 본 발명의 일 실시예에 따른 계산 결과의 취합 과정을 부가 설명하기 위한 예시도.
도 5는 본 발명의 일 실시예에 따른 주성분 분석 환경에서의 동작 방법을 설명하기 위한 순서도.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
본 발명의 일 실시예에서는, 주성분 분석(PCA, Principal Component Analysis) 기법을 다룬다.
주성분 분석은 여러 변수가 있는 데이터 차원에서 가장 주요한 성분을 순서대로 추출하는 기법으로서, 여러 변수의 값을 합쳐서 그 보다 적은 수의 주요 성분을 새로운 변수로 하여 데이터를 표현하기 때문에 차원을 축소할 때 사용될 수 있다.
이러한 주성분 분석은 선형대수학의 활용적인 측면이 강하며 영상인식, 통계 데이터 분석(주성분 찾기), 데이터 압축(차원감소), 및 노이즈 제거 등 다양한 활용을 가질 수 있다.
이에 따라, 주성분 분석은, 데이터마이닝, 인공지능, 데이터분석, 통계, 및 수치해석 등에 있어서 매트릭스(Matrix)로부터 의미 있는 차원을 추출하는데 활용될 수 있는데, 이때 분석이 필요한 매트릭스의 규모가 크지 않은 경우라면, 한 대의 서버 자원을 통해서 주성분 분석을 처리하는 것이 가능하다.
그러나, 최근에는 고해상도 과학영상 데이터 분석, IoT, SNS 등의 네트워크 분석, 인공지능, 그리고 빅데이터 분석 등과 같이 초고차원 특성의 매트릭스 분석이 필요해지는 추세이며, 이에 따라 기존과 같이 한 대의 서버 자원을 통해 주성분 분석을 처리하기에는 한계가 따르는 것이 현실이다.
이를 좀더 구체적으로 살펴보자면, 일반적인 주성분 분석의 경우, 매트릭스로부터 PCA 행렬 값을 얻기까지 크게 매트릭스의 각 열(Colum)마다 평균 값을 계산하고, 각 열의 데이터 값마다 해당 열의 평균 값과의 차이를 계산하여 매트릭스를 업데이트하는 단계, 업데이트된 매트릭스에 대한 공분산 매트릭스를 계산하는 단계, 공분산 매트릭스에 대해 고유값 분해(EVD, Eigen Value Decomposition)를 실시하는 단계, 공분산 매트릭스의 대각행렬상의 값에 대한 제곱근 값을 계산하여 z-score를 계산하는 단계, 및 고유값 분해를 실시하는 과정에서 계산한 고유값 직교 행렬(V) 중에서 가장 큰 값을 축소할 차원 수만큼 감소(truncate)시키고 z-score 계산 행렬에 대해 행렬 곱 연산을 하여 축소 차원의 PCA 행렬 값을 얻는 단계를 포함할 수 있다.
헌데, 이러한 주성분 분석의 계산 단계에 있어서 매트릭스의 각 열(Colum)마다 평균 값을 계산하는 단계와, 공분산 매트릭스를 계산하는 단계의 경우, 여타 단계에 비해 상대적으로 많은 시간이 필요하게 되며, 특히 공분산의 경우 원 매트릭스와 트랜스포스(Transpose)와의 행렬 곱을 통해 생성되는 경우라면 유지해야 할 매트릭스가 두 배가 되는 한계점을 가질 수 있다.
따라서, 전술한 바와 같이, 초고차원 특성의 매트릭스 분석이 필요해지는 추세에 따라 주성분 분석 대상인 매트릭스의 크기가 커질수록 주성분 분석의 계산 단계에 있어서 시간 소요 및 저장 용량 등의 리소스 부족의 위 한계점은 점점 배가될 수 밖에 없는 것이다.
이에, 본 발명의 일 실시예에서는 주성분 분석 기법을 병렬화하여 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 제고시키기 위한 방안을 제안하고자 하는 것이다.
이와 관련하여, 도 1에는 본 발명의 일 실시예에 따른 주성분 분석 환경을 예시적으로 보여주고 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 다른 주성분 분석 환경에서는, 초고차원 매트릭스(Matrix)에 대한 주성분 분석에 요구되는 적어도 일부의 계산 단계를 분산처리서버(10) 각각에서 분산 처리하도록 하고, 각 분산처리서버(10)에서의 처리 결과를 취합처리서버(20)에서 취합하여 나머지 계산 단계를 처리하도록 하는 주성분분석제어장치(30)를 포함하는 구성을 가질 수 있다.
여기서, 주성분분석제어장치(30)는 분산처리서버(10)의 대수만큼 분할하고, 분산처리서버(10) 별로 평균 값을 계산하고, 행 블록에서 각 열(Colum)마다 평균값과의 차이를 계산하도록 하며, 행 별로 부분 공분산 결과 값을 계산하고 이를 취합처리서버(20)에서 취합하여 공분산 결과값을 산출하도록 제어하는 장치로서, 예컨대 서버의 형태로 구현될 수 있다.
이러한, 주성분분석제어장치 (30)가 서버의 형태로 구현되는 경우, 예컨대, 웹 서버, 데이터베이스 서버, 프록시 서버 등의 형태로 구현될 수 있으며, 네트워크 부하 분산 메커니즘, 내지 서비스 장치가 인터넷 또는 다른 네트워크 상에서 동작할 수 있도록 하는 다양한 소프트웨어 중 하나 이상이 설치될 수 있으며, 이를 통해 컴퓨터화된 시스템으로도 구현될 수 있다.
이때, 네트워크는 http 네트워크일 수 있으며, 전용 회선(private line), 인트라넷 또는 임의의 다른 네트워크일 수 있고, 또한 본 발명의 일 실시예에 따른 광고 제공 시스템 내 각 구성 간의 연결은, 데이터가 임의의 해커 또는 다른 제3자에 의한 공격을 받지 않도록 보안 네트워크로 연결될 수 있다.
이상, 본 발명의 일 실시예에 따른 주성분 분석 환경에서는, 전술한 구성을 통해 주성분 분석 기법을 병렬화하여 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 제고시킬 수 있는데, 이하에서는 이를 실현하기 위한 주성분분서제어장치(30)의 구성을 보다 구체적으로 설명하기로 한다.
이와 관련하여, 도 2에서는 본 발명의 일 실시예에 따른 주성분분석제어장치(30)의 개략적인 구성을 보여주고 있다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 주성분석제어장치(30)는 매트릭스를 행(Row) 블록으로 분할하는 분할부(31), 행 블록을 분산처리서버(10) 각각에 할당하는 할당부(32), 및 분산처리서버(10) 각각에서의 처리 결과를 취합하는 취합처리서버(20)를 결정하는 결정부(33)를 포함하는 구성을 가질 수 있다.
이상의 분할부(31), 할당부(32), 및 결정부(33)를 포함하는 주성분분석제어장치(30)의 전체 구성 내지는 적어도 일부 구성은 하드웨어 모듈 형태 또는 소프트웨어 모듈 형태로 구현되거나, 하드웨어 모듈과 소프트웨어 모듈이 조합된 형태로도 구현될 수 있다.
여기서, 소프트웨어 모듈이란, 예컨대, 주성분분석제어장치(30) 내에서 연산을 제어하는 프로세서에 의해 실행되는 명령어로 이해될 수 있으며, 이러한 명령어는 주성분분석제어장치(30) 내 메모리에 탑재된 형태를 가질 수 있을 것이다.
한편, 본 발명의 일 실시예에 따른 주성분분석제어장치(30)는 전술한 구성 이외에, 유무선 통신망 접속을 지원하기 위한 통신 기능을 담당하는 RF 모듈인 통신부(34)의 구성을 더 포함할 수 있다.
이상 본 발명의 일 실시예에 따른 주성분분석제어장치(30)는 전술한 구성을 통해서 주성분 분석 기법을 병렬화하여 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 제고시킬 수 있는데, 이하에서는 이를 실현하기 위한 주성분분석제어장치(30) 내 각 구성에 대한 보다 구체적인 설명을 이어 가지로 한다.
분할부(31)는 주성분 분석 대상인 매트릭스(Matrix)의 행을 분할하는 기능을 수행한다.
보다 구체적으로, 분할부(31)는 매트릭스를 분산처리서버(10)의 대수만큼의 행(Row) 블록으로 분할하게 된다.
이때, 분할부(31)는 주성분 분석 대상인 매트릭스의 데이터 크기와 주성분분석지원장치(30)의 저장 용량을 고려하여, 주성분 분석에 참여할 수 있는 분산처리서버(10)의 대수를 결정하고, 결정된 대수만큼의 행 블록으로 매트릭스를 분할할 수 있다.
여기서, 행 블록이란 매트릭스를 분산처리서버(10)의 대수만큼으로 분할하는 경우에 각 분산처리서버(10)에 할당되어야 할 행들의 집합인 것으로 이해될 수 있다.
할당부(32)는 매트릭스로부터 분할된 행 블록을 분산처리서버(10)에 할당하는 기능을 수행한다.
보다 구체적으로, 할당부(32)는 매트릭스가 분산처리서버(10)의 대수만큼의 행 블록으로 분할되면, 분할된 행 블록을 분산처리서버(10) 각각에 할당하게 된다.
이때, 할당부(32)는 분산처리서버(10) 각각에 대한 메모리 영역을 지정하여, 지정된 메모리 영역 각각에 분산처리서버(10) 별로 할당된 행 블록의 데이터를 저장할 수 있다.
또한, 본 발명의 일 실시예에서는 분산처리서버(10)에 지정된 메모리 영역의 저장 공간이 부족한 경우를 고려한다.
이와 관련하여, 할당부(32)는 각 분산처리서버(10)에 지정된 메모리 영역의 저장 공간이 행 블록의 데이터를 저장하기에 부족한 것으로 확인되는 경우에는 행 블록의 적어도 일부 데이터를 분산처리서버(10) 각각의 로컬 디스크에 저장할 수 있다.
한편, 본 발명의 일 실시예에서 이처럼 매트릭스로부터 분할된 행 블록을 분산처리서버(10) 각각에 할당하는 것은, 분산처리서버(10) 각각에서 주성분 분석에서 요구되는 적어도 일부의 계산 단계를 행 블록에 대해서 처리하도록 제어하기 위함이다.
여기서, 분산처리서버(10) 각각에서 처리되는 적어도 일부의 계산 단계는, 여타의 계산 단계보다 많은 리소스가 요구되는 매트릭스의 각 열(Colum)마다 평균 값을 계산하는 단계와, 공분산 매트릭스를 계산하는 단계인 것으로 이해될 수 있다.
이에 따라, 분산처리서버(10) 각각에서는 행 블록이 할당되면, 행 블록에서 각 열(Colum) 별로 평균 값을 계산하며, 분산처리서버(10) 각각에서 계산된 평균 값이 취합처리서버(20)로부터 취합되어 수신되면, 행 블록의 각 열마다 수신된 평균 값과의 차이를 계산하여 행 블록을 업데이트할 수 있다.
그리고, 분산처리서버(10) 각각에서는 이처럼 행 블록이 업데이트되면, 업데이트된 행 블록에 대해 공분산 매트릭스를 계산하며, 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값을 취합처리서버(20)로 전송하여, 취합처리서버(20)에서 분산처리서버(10) 각각에서 계산된 부분 공분산 결과 값을 합산하도록 할 수 있는 것이다.
이때, 분산처리서버(10) 각각은, 행 블록에 대한 공분산 매트릭스의 계산 시마다 부분 공분산 결과 값을 취합처리서버(20)로 실시간 전송하거나, 또는 부분 공분산 결과 값을 저장하기 위한 버퍼를 별도 할당하여 해당 버퍼에 저장되는 일정량만큼의 부분 공분산 결과 값을 취합처리서버(20)로 일괄 전송하는 방식을 따를 수 있다.
결정부(33)는 분산 처리 결과를 취합하는 취합처리서버(20)를 결정하는 기능을 수행한다.
보다 구체적으로, 결정부(33)는 분산처리서버(10) 각각에서 처리된 분산 처리 결과를 취합하기 위한 취합처리서버(20)를 결정하게 된다.
이때, 결정부(33)는 분산처리서버(10) 중 하나를 취합처리서버(20)로 결정하거나, 분산처리서버(10)와는 별도의 서버를 취합처리서버(20)로 결정할 수 있다.
한편, 본 발명의 일 실시예에서 이처럼 분산 처리 결과를 취합하기 위한 취합처리서버(20)를 결정하는 것은, 행 블록에서 각 열(Colum) 별로 평균 값을 계산하고, 행 블록을 업데이트 하는 단계와 업데이트된 행 블록에 대한 공분산 매트릭스를 계산하는 단계 이외에 주성분 분석에서 요구되는 나머지 단계를 처리하기 위함이다.
이에 따라, 취합처리서버(20)에서는, 분산처리서버(10) 각각에서 행 블록의 각 열(Colum) 별로 평균 값을 계산한 결과가 수신되면, 이를 취합하여 각 분산처리서버(10)로 회신하여 행 블록을 업데이트하도록 지원한다.
이와 관련하여, 도 3에는 매트릭스로부터 분할된 행 블록이 할당되는 분산처리서버(10)로서 Sever-01 내지 Sever-N이 존재하며, 이러한 분산처리서버(10) 중 하나인 Sever-01이 취합처리서버(20)로 결정된 경우를 예시적으로 보여주고 있다.
이 경우, Sever-01 내지 Sever-N 각각에서는, 행 블록의 각 열(Colum) 별로 평균 값을 계산하게 되며, 이처럼 계산된 평균 값은, Sever-01에서 취합되어 행 블록의 업데이트를 지원하기 위해 Sever-01 내지 Sever-N 각각으로 전달될 수 있는 것이다.
또한, 취합처리서버(20)에서는, 분산처리서버(10) 각각으로부터 업데이트된 행 블록에 대해 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값이 수신되면, 이를 합산하여 합산된 결과를 공분산 매트릭스의 결과로서 메모리 또는 파일 시스템에 저장하게 된다.
참고로, 설명의 이해를 돕기 위해 i 번째 열과 j번째 열의 부분 공분산 계산 결과값을 Sub_Cov(i,j) 이라 하고, i번째 열의 값을 R_i, j번째 열의 값을 R_j 라고 할 때, Sub_Cov(i,j) 값은 아래 [수식 1]과 같이 계산될 수 있다.
[수식 1]
Sub_Cov(i,i)=Ri*Ri (i=j)
Sub_Cov(i,j)=Ri*Rj (i≠j, 0≤j ≤N)
그리고, 각 분산처리서버(10)에서 계산된 부분 공분산 결과 값은 key를 (i,j)로 계산 값을 value(Ri*Rj)로 하여 취합처리서버(20)로 전송될 수 있는데, 이때, N 번째 분산처리서버(10)에서 전송한 결과값을 Ri*Rj_N 이라고 하면, 공분산 결과값인 Cov(i,j)는 아래 [수식 2]와 같이 계산될 수 있다.
[수식 2]
Cov(i,i)=(Ri*Ri)_1+(Ri*Ri)_2+??(Ri*Ri)_m (i=j)
Cov(i,j)=(Ri*Rj)_1+(Ri*Rj)_2+…(Ri*Rj)_m (i≠j, 0≤j ≤N)
또한, 이와 관련하여 도 4에는 매트릭스로부터 분할된 행 블록이 할당되는 분산처리서버(10)로서 Sever-01 내지 Sever-N이 존재하며, 이러한 분산처리서버(10) 중 하나인 Sever-01이 취합처리서버(20)로 결정된 경우를 예시적으로 보여주고 있다.
이 경우, Sever-01 내지 Sever-N 각각에서 계산된 부분 공분산 계산 결과값인 Sub_Cov(i,j)는 Sever-01에서 합산되어 공분산 매트릭스의 결과로서 메모리 또는 파일 시스템에 저장될 수 있는 것이다.
나아가, 취합처리서버(20)에서는 이처럼 각 분산처리서버(10)로부터의 부분 공분산 결과 값이 합산 저장된 이후에는, 종래 기술에서와 마찬가지로 고유값 분해 단계와 z-score 계산 단계가 이루어질 수 있다.
즉, 취합처리서버(20)는 부분 공분산 결과 값을 합산한 공분산 매트릭스의 결과가 도출되면, 공분산 매트릭스에 대해 고유값 분해(EVD, Eigen Value Decomposition)를 실시하는 단계, 공분산 매트릭스의 대각행렬상의 값에 대한 제곱근 값을 계산하여 z-score를 계산하는 단계, 및 고유값 분해를 실시하는 과정에서 계산한 고유값 직교 행렬(V) 중에서 가장 큰 값을 축소할 차원 수만큼 감소(truncate)시키고 z-score 계산 행렬에 대해 행렬 곱 연산을 하여 축소 차원의 PCA 행렬 값을 얻는 단계를 후속하여 처리할 수 있는 것이다.
한편, 취합처리서버(20)의 위 동작을 위해 분산처리서버(10) 각각에서 계산된 부분 공분산 결과를 저장하기 위한 메모리 영역을 할당하게 되며, 기 할당된 메모리 영역의 저장 공간이 부분 공분산 결과를 저장하기에 부족한 경우, 별도 분산 파일 시스템의 디스크 공간에 부분 공분산 결과 중 적어도 일부를 저장할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 주성분분석제어장치(30)의 구성에 따르면, 초고차원 매트릭스의 행(Row)을 분산처리서버의 대수만큼 분할하고, 분산처리서버(10) 별로 평균 값을 계산하고, 행 블록에서 각 열(Colum)마다 평균값과의 차이를 계산하며, 행 별로 부분 공분산 결과 값을 계산하고 이를 취합처리서버(20)에서 취합하여 공분산 결과값이 산출됨에 따라, 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 크게 제고시킬 수 있다.
이하에서는 도 5를 참조하여 본 발명의 일 실시예에 따른 주성분 분석 환경에서의 동작 방법에 대해 설명하기로 한다.
먼저, 주성분분석제어장치(30)는 주성분 분석 대상인 매트릭스를 분산처리서버(10)의 대수만큼의 행(Row) 블록으로 분할한다(S11-S12).
이때, 분할부(31)는 주성분 분석 대상인 매트릭스의 데이터 크기와 주성분분석지원장치(30)의 저장 용량을 고려하여, 주성분 분석에 참여할 수 있는 분산처리서버(10)의 대수를 결정하고, 결정된 대수만큼의 행 블록으로 매트릭스를 분할할 수 있다.
여기서, 행 블록이란 매트릭스를 분산처리서버(10)의 대수만큼으로 분할하는 경우에 각 분산처리서버(10)에 할당되어야 할 행들의 집합인 것으로 이해될 수 있다.
그리고 나서, 주성분분석제어장치(30)는 매트릭스가 분산처리서버(10)의 대수만큼의 행 블록으로 분할되면, 분할된 행 블록을 분산처리서버(10) 각각에 할당한다(S13-S16).
이때, 주성분분석제어장치(30)는 분산처리서버(10) 각각에 대한 메모리 영역을 지정하여, 지정된 메모리 영역 각각에 분산처리서버(10) 별로 할당된 행 블록의 데이터를 저장할 수 있다.
또한, 본 발명의 일 실시예에서는 분산처리서버(10)에 지정된 메모리 영역의 저장 공간이 부족한 경우를 고려한다.
이와 관련하여, 할당부(32)는 각 분산처리서버(10)에 지정된 메모리 영역의 저장 공간이 행 블록의 데이터를 저장하기에 부족한 것으로 확인되는 경우에는 행 블록의 적어도 일부 데이터를 분산처리서버(10) 각각의 로컬 디스크에 저장할 수 있다.
또한, 주성분분석제어장치(30)는 분산처리서버(10) 각각에서 처리된 분산 처리 결과를 취합하기 위한 취합처리서버(20)를 결정한다(S17).
이때, 주성분분석제어장치(30)는 분산처리서버(10) 중 하나를 취합처리서버(20)로 결정하거나, 분산처리서버(10)와는 별도의 서버를 취합처리서버(20)로 결정할 수 있다.
한편, 이러한 취합처리서버(20)의 결정은 앞선 단계 S12 내지 S16 중 적어도 어느 하나의 단계보다 선행될 수 있음은 물론이다.
나아가, 분산처리서버(10) 각각은 행 블록이 할당되면, 할당된 행 블록을 로딩하여 각 열(Colum) 별로 평균 값을 계산하며, 분산처리서버(10) 각각에서 계산된 평균 값이 취합처리서버(20)로부터 취합되어 수신되면, 행 블록의 각 열마다 수신된 평균 값과의 차이를 계산하여 행 블록을 업데이트한다(S18-S24).
이와 관련하여, 취합처리서버(20)는 분산처리서버(10) 각각에서 행 블록의 각 열(Colum) 별로 평균 값을 계산한 결과가 수신되면, 이를 취합하여 각 분산처리서버(10)로 회신하여 행 블록을 업데이트하도록 지원하게 된다.
그런 다음, 분산처리서버(10) 각각은 행 블록이 업데이트되면, 업데이트된 행 블록에 대해 공분산 매트릭스를 계산하며, 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값을 취합처리서버(20)로 전송하여, 취합처리서버(20)에서 분산처리서버(10) 각각에서 계산된 부분 공분산 결과 값을 합산할 수 있도록 한다(S25-S26).
이때, 분산처리서버(10) 각각은, 행 블록에 대한 공분산 매트릭스의 계산 시마다 부분 공분산 결과 값을 취합처리서버(20)로 실시간 전송하거나, 또는 부분 공분산 결과 값을 저장하기 위한 버퍼를 별도 할당하여 해당 버퍼에 저장되는 일정량만큼의 부분 공분산 결과 값을 취합처리서버(20)로 일괄 전송하는 방식을 따를 수 있다.
이에 대해, 취합처리서버(20)는 분산처리서버(10) 각각으로부터 업데이트된 행 블록에 대해 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값이 수신되면, 이를 합산하여 합산된 결과를 공분산 매트릭스의 결과로서 메모리 또는 파일 시스템에 저장한다(S27-S30).
이를 위해, 취합처리서버(20)는 분산처리서버(10) 각각에서 계산된 부분 공분산 결과를 저장하기 위한 메모리 영역을 할당하게 되며, 기 할당된 메모리 영역의 저장 공간이 부분 공분산 결과를 저장하기에 부족한 경우, 별도 분산 파일 시스템의 디스크 공간에 부분 공분산 결과 중 적어도 일부를 저장할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 주성분 분석 환경에서의 동작 방법에 따르면, 초고차원 매트릭스의 행(Row)을 분산처리서버의 대수만큼 분할하고, 분산처리서버(10) 별로 평균 값을 계산하고, 행 블록에서 각 열(Colum)마다 평균값과의 차이를 계산하며, 행 별로 부분 공분산 결과 값을 계산하고 이를 취합처리서버(20)에서 취합하여 공분산 결과값이 산출됨에 따라, 초고차원 매트릭스에 대한 주성분 분석의 처리 성능을 크게 제고시킬 수 있다.
한편, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 처리하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.
컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 혹은 이들 중 하나 이상의 조합일 수 있다.
본 명세서에서 "시스템"이나 "장치"라 함은 예컨대 프로그래머블 프로세서, 컴퓨터 혹은 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 포괄한다. 처리 시스템은, 하드웨어에 부가하여, 예컨대 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 혹은 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
본 명세서에서 설명한 주제의 구현물은 예컨대 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예컨대 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 마찬가지로, 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
또한, 본 명세서에서는 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하려는 의도가 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명에 따른 주성분분석제어장치 및 그 동작 방법에 따르면, 특별한 개발 언어나 환경의 구속 없이도 대규모 계산 자원을 활용한 고 난이도의 기계학습모델 개발(구축)을 효과적으로 지원할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
10: 분산처리서버
20: 취합처리서버
30: 주성분분석제어장치
31: 분할부 32: 할당부
33: 결정부

Claims (12)

  1. 주성분 분석(PCA, Principal Component Analysis) 대상인 매트릭스(Matrix)를 분산처리서버의 대수만큼의 행(Row) 블록으로 분할하는 분할부;
    상기 매트릭스로부터 분할된 행 블록을 상기 분산처리서버 각각에 할당하여, 상기 분산처리서버 각각에서 상기 주성분 분석에서 요구되는 적어도 일부의 계산 단계를 상기 행 블록에 대해서 처리하도록 하는 할당부; 및
    상기 주성분 분석에서 요구되는 나머지 계산 단계를 처리하기 위한 취합처리서버를 결정하여, 상기 취합처리서버에서 상기 분산처리서버 각각으로부터 취합되는 상기 적어도 일부의 계산 단계에 대한 처리 결과를 토대로 상기 나머지 계산 단계를 처리하도록 하는 결정부를 포함하며,
    상기 분산처리서버 각각은,
    상기 적어도 일부의 계산 단계에 따라 상기 행 블록에서 각 열(Colum) 별로 평균 값을 계산하고, 상기 분산처리서버 각각에서 계산된 평균 값이 상기 취합처리서버로부터 취합되어 수신되면, 상기 행 블록의 각 열마다 수신된 평균 값과의 차이를 계산하여 상기 행 블록을 업데이트하며, 상기 업데이트된 행 블록에 대해 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값을 상기 취합처리서버로 전송하여, 상기 취합처리서버에서 상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과 값을 합산하도록 하며,
    상기 할당부는,
    상기 분산처리서버 각각에 대한 메모리 영역을 지정하여, 지정된 메모리 영역 각각에 상기 분산처리서버 별로 할당된 상기 행 블록의 데이터를 저장하며, 지정된 메모리 영역의 저장 공간이 상기 행 블록의 데이터를 저장하기에 부족한 경우, 상기 행 블록의 적어도 일부 데이터를 상기 분산처리서버 각각의 로컬 디스크에 저장하며,
    상기 취합처리서버는,
    상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과를 저장하기 위한 메모리 영역을 할당하며, 상기 취합처리서버에 할당된 메모리 영역의 저장 공간이 상기 부분 공분산 결과를 저장하기에 부족한 경우, 별도 분산 파일 시스템의 디스크 공간에 상기 부분 공분산 결과 중 적어도 일부를 저장하는 것을 특징으로 하는 주성분분석제어장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 주성분 분석(PCA, Principal Component Analysis) 대상인 매트릭스(Matrix)를 분산처리서버의 대수만큼의 행(Row) 블록으로 분할하는 분할단계;
    상기 매트릭스로부터 분할된 행 블록을 상기 분산처리서버 각각에 할당하여, 상기 분산처리서버 각각에서 상기 주성분 분석에서 요구되는 적어도 일부의 계산 단계를 상기 행 블록에 대해서 처리하도록 하는 할당단계; 및
    상기 주성분 분석에서 요구되는 나머지 계산 단계를 처리하기 위한 취합처리서버를 결정하여, 상기 취합처리서버에서 상기 분산처리서버 각각으로부터 취합되는 상기 적어도 일부의 계산 단계에 대한 처리 결과를 토대로 상기 나머지 계산 단계를 처리하도록 하는 결정단계를 포함하며,
    상기 분산처리서버 각각은,
    상기 적어도 일부의 계산 단계에 따라 상기 행 블록에서 각 열(Colum) 별로 평균 값을 계산하고, 상기 분산처리서버 각각에서 계산된 평균 값이 상기 취합처리서버로부터 취합되어 수신되면, 상기 행 블록의 각 열마다 수신된 평균 값과의 차이를 계산하여 상기 행 블록을 업데이트하며, 상기 업데이트된 행 블록에 대해 공분산 매트릭스를 계산한 결과인 부분 공분산 결과 값을 상기 취합처리서버로 전송하여, 상기 취합처리서버에서 상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과 값을 합산하도록 하며,
    상기 할당단계는,
    상기 분산처리서버 각각에 대한 메모리 영역을 지정하여, 지정된 메모리 영역 각각에 상기 분산처리서버 별로 할당된 상기 행 블록의 데이터를 저장하며, 지정된 메모리 영역의 저장 공간이 상기 행 블록의 데이터를 저장하기에 부족한 경우, 상기 행 블록의 적어도 일부 데이터를 상기 분산처리서버 각각의 로컬 디스크에 저장하며,
    상기 취합처리서버는,
    상기 분산처리서버 각각에서 계산된 상기 부분 공분산 결과를 저장하기 위한 메모리 영역을 할당하며, 상기 취합처리서버에 할당된 메모리 영역의 저장 공간이 상기 부분 공분산 결과를 저장하기에 부족한 경우, 별도 분산 파일 시스템의 디스크 공간에 상기 부분 공분산 결과 중 적어도 일부를 저장하는 것을 특징으로 하는 주성분분석제어장치의 동작 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020200169746A 2020-12-07 2020-12-07 주성분분석제어장치 및 그 동작 방법 KR102330171B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200169746A KR102330171B1 (ko) 2020-12-07 2020-12-07 주성분분석제어장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200169746A KR102330171B1 (ko) 2020-12-07 2020-12-07 주성분분석제어장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR102330171B1 true KR102330171B1 (ko) 2021-11-23

Family

ID=78695366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200169746A KR102330171B1 (ko) 2020-12-07 2020-12-07 주성분분석제어장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102330171B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158367A1 (en) * 2010-12-17 2012-06-21 National Chiao Tung University Independent component analysis processor
US20150074158A1 (en) * 2013-09-09 2015-03-12 Technion Research & Development Foundation Limited Method and system for principal component analysis
KR20150131388A (ko) * 2013-03-19 2015-11-24 펜터랙트28 리미티드 데이터 볼륨들을 감소시키기 위한 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158367A1 (en) * 2010-12-17 2012-06-21 National Chiao Tung University Independent component analysis processor
KR20150131388A (ko) * 2013-03-19 2015-11-24 펜터랙트28 리미티드 데이터 볼륨들을 감소시키기 위한 장치
US20150074158A1 (en) * 2013-09-09 2015-03-12 Technion Research & Development Foundation Limited Method and system for principal component analysis

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Myat Cho Mon Oo 외 1명, An efficient predictive analytics system for high dimensional big data, Journal of King Saud University - Computer and Information Sciences, 2019.09.07* *
Zebin Wu 외 4명, Parallel and Distributed Dimensionality Reduction of Hyperspectral Data on Cloud Computing Architectures, IEEE, Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 9권 6호, 페이지 2270-2278, 2016.04.04* *

Similar Documents

Publication Publication Date Title
US20190229992A1 (en) System and Methods for Auto-Tuning Big Data Workloads on Cloud Platforms
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
US10529049B2 (en) Efficient parallel algorithm for integral image computation for many-core CPUs
CN104050042A (zh) Etl作业的资源分配方法及装置
Schlag et al. Scalable edge partitioning
WO2018076238A1 (zh) 异构系统、计算任务分配方法及装置
US11221890B2 (en) Systems and methods for dynamic partitioning in distributed environments
JP2012118669A (ja) 負荷分散処理システム及び負荷分散処理方法
Dorier et al. Adaptive performance-constrained in situ visualization of atmospheric simulations
CN116684420A (zh) 集群资源调度方法、装置、集群系统和可读存储介质
Pimpley et al. Optimal resource allocation for serverless queries
Liu et al. {eMRC}: Efficient Miss Ratio Approximation for {Multi-Tier} Caching
US11675515B2 (en) Intelligent partitioning engine for cluster computing
Pimpley et al. Towards Optimal Resource Allocation for Big Data Analytics.
CN104778088B (zh) 一种基于减少进程间通信开销的并行i/o优化方法与系统
KR102330171B1 (ko) 주성분분석제어장치 및 그 동작 방법
CN112232401A (zh) 一种基于差分隐私及随机梯度下降的数据分类方法
Yassir et al. Graph-based model and algorithm for minimising big data movement in a cloud environment
Piao et al. Computing resource prediction for mapreduce applications using decision tree
Ismaeel et al. A systematic cloud workload clustering technique in large scale data centers
WO2015143708A1 (zh) 后缀数组的构造方法及装置
CN115658263A (zh) 一种云计算平台任务调度方法及系统
CN110415162B (zh) 大数据中面向异构融合处理器的自适应图划分方法
Lifflander et al. Optimizing Distributed Load Balancing for Workloads with Time-Varying Imbalance
Gebhardt PVM kriging with R

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant