KR20200108728A - 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치 - Google Patents

몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치 Download PDF

Info

Publication number
KR20200108728A
KR20200108728A KR1020190027770A KR20190027770A KR20200108728A KR 20200108728 A KR20200108728 A KR 20200108728A KR 1020190027770 A KR1020190027770 A KR 1020190027770A KR 20190027770 A KR20190027770 A KR 20190027770A KR 20200108728 A KR20200108728 A KR 20200108728A
Authority
KR
South Korea
Prior art keywords
node
attribute
tree
monte carlo
selection
Prior art date
Application number
KR1020190027770A
Other languages
English (en)
Other versions
KR102188431B1 (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 KR1020190027770A priority Critical patent/KR102188431B1/ko
Publication of KR20200108728A publication Critical patent/KR20200108728A/ko
Application granted granted Critical
Publication of KR102188431B1 publication Critical patent/KR102188431B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치에 관한 것으로, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법은, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하는 단계; 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하는 단계; 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하는 단계; 및 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는 단계를 포함한다.

Description

몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치{METHODS AND APPARATUSES FOR SELECTING FEATURE BASED ON MONTE CARLO TREE SEARCH}
본 발명은 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치에 관한 것이다.
종래에는 속성 선택(Feature selection)의 문제를 해결하기 위해 다양한 접근법이 개발되어 왔다. 사용된 검색 전략에 따라 이들은 주로 완전한(exhaustive), 휴리스틱(heuristic) 혹은 메타-휴리스틱(meta-heuristic) 방식으로 분류된다. 많은 속성을 가진 데이터 세트에 대해 철저한 검색을 적용하는 것은 복잡성 때문에 실제로 불가능하다. SFS (Sequential Forward Selection) 및 SBS (Sequential Backward Selection)와 같은 휴리스틱 접근 방식은 네스팅(nesting) 효과의 문제로 어려움을 겪는다. 또한 계산 비용이 많이 든다.
최근 GA (Genetic Algorithm), ACO (Ant Colony Optimization), PSO (Particle Swarm Optimization), 다목적 진화 알고리즘 및 박쥐(bat) 알고리즘과 같은 메타 휴리스틱 접근법이 주목을 받고 있다. 그러나 이들은 초기 단계에 있으며 너무 많은 하이퍼 매개 변수를 사용하고 모델을 튜닝하여 최적화된 성능이 너무 복잡해진다. 따라서 방대한 개선의 여지가 있으며 이러한 문제를 극복하기 위해 새로운 알고리즘이 대폭 필요하다. 적은 모델 복잡성을 통해 효율적으로 고성능을 달성할 수 있는 새로운 알고리즘이 대폭 필요하다.
본 발명의 실시 예들은 데이터의 효율적인 분류를 위해 전체 속성 공간의 탐사 및 개발에 몬테카를로 트리 검색(MCTS, Monte Carlo Tree Selection) 기반의 속성 선택을 사용함으로써, 최적의 속성 서브세트를 찾을 수 있는, 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치를 제공하고자 한다.
본 발명의 일 실시 예에 따르면, 속성 선택 장치에 의해 수행되는 몬테카를로 트리 검색 기반의 속성 선택 방법에 있어서, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하는 단계; 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하는 단계; 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하는 단계; 및 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는 단계를 포함하는, 몬테카를로 트리 검색 기반의 속성 선택 방법이 제공될 수 있다.
상기 노드를 선택하는 단계는, 몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색할 수 있다.
상기 노드를 선택하는 단계는, 상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택할 수 있다.
상기 시뮬레이션하는 단계는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션할 수 있다.
상기 시뮬레이션하는 단계는, 상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않을 수 있다.
상기 시뮬레이션하는 단계는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출할 수 있다.
상기 시뮬레이션하는 단계는, 상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정할 수 있다.
상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장될 수 있다.
상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타낼 수 있다.
상기 속성 선택 트리에서의 각 노드는, 속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가질 수 있다.
한편, 본 발명의 다른 실시 예에 따르면, 적어도 하나의 프로그램을 저장하는 메모리; 및 상기 메모리와 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 프로그램을 실행함으로써, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는, 몬테카를로 트리 검색 기반의 속성 선택 장치가 제공될 수 있다.
상기 프로세서는, 몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색할 수 있다.
상기 프로세서는, 상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택할 수 있다.
상기 프로세서는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션할 수 있다.
상기 프로세서는, 상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않을 수 있다.
상기 프로세서는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출할 수 있다.
상기 프로세서는, 상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정할 수 있다.
상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장될 수 있다.
상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타낼 수 있다.
상기 프로세서는, 속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가질 수 있다.
한편, 본 발명의 다른 실시 예에 따르면, 프로세서에 의해 실행 가능한 적어도 하나의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 적어도 하나의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다.
본 발명의 실시 예들은 데이터의 효율적인 분류를 위해 전체 속성 공간의 탐사 및 개발에 몬테카를로 트리 검색(MCTS, Monte Carlo Tree Selection) 검색 기반의 속성 선택을 사용함으로써, 최적의 속성 서브세트를 찾을 수 있다.
본 발명의 실시 예들은 속성 공간을 효율적으로 탐색하고 최소한의 반복 내에서 최고의 속성 서브세트를 찾을 수 있다. 일례로, 본 발명의 실시 예들에서는 두 개의 하이퍼 매개 변수만이 조정될 필요가 있으므로, 본 발명의 실시 예들은 일반적인 다른 메타-휴리스틱 방식과 비교하여 취급하기에 간단하고 유연(flexible)할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 동작을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 트리 및 검색 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 구체적으로 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 구성을 설명하기 위한 구성도이다.
도 6은 본 발명의 일 실시 예에 따른 검증 및 비교 목적으로 사용된 데이터세트를 설명하기 위한 도면이다.
도 7 및 도 8은 본 발명의 일 실시 예와 다른 접근법들과의 비교 결과를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 의해 달성된 차원 감소를 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 동작을 설명하기 위한 도면이다.
우선, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 몬테카를로 트리 검색 기반의 속성 선택 방법을 수행한다. 본 발명의 일 실시 예에서 속성 선택은 기계 학습 또는 데이터 마이닝 작업 전에 예비 단계로 간주된다. 속성 선택 방법은 중복되거나 관련성이 없는 속성을 제거하여 가능하면 정확한 정보와 데이터 구조를 유지함으로써 효율적이고 정확한 예측 모델을 만들어 최적의 속성을 찾을 수 있다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 래퍼(wrapper) 프레임워크 내에서 몬테 카를로 트리 검색(MCTS, Monte Carlo tree search)을 이용하여 분류하면서 새롭고 효율적으로 속성을 선택할 수 있다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 트리 검색의 이점과 무작위 샘플링을 결합하여 최상의 속성 서브세트를 검색할 수 있다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 제한된 계산 영역 내에서 탐구(exploration)와 개발(exploitation)이 잘 균형을 이루는 새로운 속성 선택 트리를 제공할 수 있다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법(Monte Carlo Tree Search based Feature Selection; MOTiFS)은 몬테카를로 트리 검색의 견고성(robustness)과, 동적성(dynamicity)과, 래퍼 방법(Wrapper method)의 높은 정확도를 결합한 메타-휴리스틱(meta-heuristic) 알고리즘을 사용한다. 속성 선택 방법(MOTiFS)은 래퍼 방법(Wrapper method)의 검색 전략으로 몬테카를로 트리 검색을 사용한다. 속성 선택 방법은 어떤 속성도 선택되지 않은 루트 노드(Root node)에서 시작해 속성을 나타내는 노드를 추가해가며 속성 선택 트리를 생성할 수 있다.
모든 반복(iteration)은 트리 정책(Tree policy)과 디폴트 정책(Default policy)을 따라 속성 서브세트(Feature subset)를 생성할 수 있다. 트리 정책(Tree policy)은 이전의 반복(iteration)에서 확장된 속성 공간을 활용할 뿐만 아니라 트리를 점진적으로 확장하며 새로운 속성을 추가할 수 있다. 디폴트 정책(Default policy)은 선택되지 않은 속성 세트로부터 무작위로 속성을 선택함으로써 랜덤니스(randomness)를 유도할 수 있다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 위의 두 가지 정책(policy)의 조합을 통해 최적의 속성 서브세트를 생성할 수 있다. 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 동작 구조는 도 1에 도시되어 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성세트(Foriginal)를 입력받아 속성 서브세트(Fsubset)를 산출하고, 분류기(Classifier)를 통해 최적의 속성 서브세트(Fbest)를 산출할 수 있다. 속성 선택 장치(100)는 몬테카를로 트리 검색 기반의 속성 선택을 위한 시뮬레이션 단계 동안 선택 단계, 확장 단계 및 시뮬레이션 단계에 따라 속성 하위 집합을 생성할 수 있다. 그런 다음, 속성 선택 장치(100)는 분류 기준을 적용하여 속성 서브세트의 정확도를 확인할 수 있다. 또한 분류 정확도는 현재 몬테카를로 트리 검색 기반의 속성 선택을 위한 시뮬레이션의 보상으로 사용된다. 속성 선택 장치(100)는 분류 정확도를 루트 노드로 역전파할 수 있다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 속성 선택 문제를 새로운 속성 선택 트리로 공식화할 수 있다. 또한, 속성 선택 장치(100)는 속성 공간의 탐사 및 개발을 위해 몬테카를로 트리 검색 (MCTS)을 사용 할 수 있다. 또한, 속성 선택 장치(100)는 각 MCTS 시뮬레이션 동안 분류 성능 및 보상 계산을 위해 분류기(classifier)를 사용할 수 있다.
본 발명의 일 실시 예에서 속성 선택 트리의 루트 노드는 어떠한 속성도 선택되지 상태이고, 모든 노드는 두 개의 하위 노드를 가진다.
속성 선택 트리에서 레벨(level) i-1의 노드는
Figure pat00001
Figure pat00002
의 두 개 하위노드를 가진다. 노드
Figure pat00003
는 속성
Figure pat00004
가 선택되었음을 의미하고,
Figure pat00005
는 속성
Figure pat00006
가 선택되지 않았음을 의미한다.
속성 선택 장치(100)는 몬테카를로 트리 검색을 이용하여 가장 높은 성능을 보이는 경로(path)를 찾을 수 있다. 경로(path)에는 선택된 속성을 나타내는 노드들이 포함된다. 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 동작은 4 단계로 구분할 수 있으며, 각 단계는 도 2에 도시된 바와 같다. 속성 선택 장치(100)는 선택 단계, 확장 단계, 시뮬레이션 단계 및 역전파 단계가 포함된 4 단계를 수행한다.
도 2는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 트리 및 검색 과정을 설명하기 위한 도면이다.
우선, 본 발명의 일 실시 예에서 하기 정의 1을 정의하기로 한다.
정의 1. 속성 세트
Figure pat00007
에 대해, 속성 선택 트리는 다음 조건 1 및 2를 만족하는 트리이다 :
조건 1: 루트는
Figure pat00008
이며, 속성이 선택되지 않음을 의미한다.
조건 2: 레벨 i-1 에 있는 노드 vi에는 두 개의 하위 노드
Figure pat00009
Figure pat00010
가 있으며,
Figure pat00011
이다.
여기서, 노드
Figure pat00012
Figure pat00013
는 해당 속성
Figure pat00014
를 속성 서브 세트에 포함시키거나 제외시키는 것을 나타낸다. 루트 노드에서 리프 중 하나까지의 경로는 속성 서브세트를 나타낸다. 따라서 본 발명의 일 실시 예는 최상의 보상 (정확도)을 주는 경로를 찾는 것이다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 트리 구성 및 순회를 위해 몬테카를로 트리 검색(MCTS, Monte Carlo Tree Search)를 사용하고 최고의 정확도를 갖는 최적의 경로를 선택할 수 있다. 최적의 경로에는 최고의 정확도를 갖는 속성 서브세트에 포함된 노드들이 포함되어 있다.
우선, 선택(Selection) 단계부터 설명하기로 한다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성세트(Foriginal)를 입력받고 몬테카를로 트리 검색을 수행한다. 속성 선택 장치(100)는 현재까지 확장된 속성 선택 트리에서 가장 높은 리워드(reward)를 보이는 하나의 경로(path)를 선택한다. 여기서, 리워드(reward)는 속성 선택을 하는 정확도를 나타낸다. 선택된 경로에 있는 속성은 현재 반복(iteration) 과정의 속성 서브세트(subset)에 포함된다.
속성 선택 장치(100)는 UCT(Upper Confidence Bounds for Trees) 알고리즘을 이용하여 각 레벨(level)에서 선택될 노드(node)를 결정한다.
속성 선택 장치(100)는 UCT 알고리즘에 따라 레벨(level) i에서 노드
Figure pat00015
를 선택하면, 속성
Figure pat00016
는 현재의 속성 세트에 포함될 수 있다. 속성
Figure pat00017
가 선택되었다는 것은,
Figure pat00018
를 포함하는 속성 세트가 높은 리워드(reward)를 가져온다는 것을 의미한다.
속성 선택 장치(100)가 UCT 알고리즘에 따라
Figure pat00019
를 선택하면, 속성
Figure pat00020
는 포함되지 않는 것을 나타낸다. 여기서, 일반적인 UCT 알고리즘은 몬테카를로 트리 검색의 노드 선택 단계에서 일반적으로 사용되는 알고리즘으로 하기의 [수학식 1]과 같다.
Figure pat00021
여기서,
Figure pat00022
Figure pat00023
는 노드 v와 v의 상위 노드 p가 방문된 횟수임.
Figure pat00024
는 노드 v에서 승리(게임이론의 관점에서) 횟수이다. 일반적인 UCT 알고리즘은 노드가 방문된 횟수로 나누어 각 노드의 리워드(reward)를 계산한다.
일반적인 UCT 알고리즘은 리우드(reward)가 1(승리)과 0(패배)인 게임 이론의 관점에서 적합하다. 게임 이론의 관점에서 UCT 알고리즘의 목적은 최소의 방문으로 최대의 승리를 가져오는 노드를 찾는 것이다.
이와 다르게, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 속성 선택을 통해 최대의 정확도를 나타내는 리워드(reward)를 가지는 경로(path)를 찾을 수 있다. 따라서 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 UCT 알고리즘을 수정하여, 방문 횟수와 리워드(reward)를 사용하지 않고, 각 노드에서의 최대 리워드(reward)를 사용한다. 하기의 [수학식 2]는 본 발명의 일 실시 예에서 사용되는 수정된 UCT 알고리즘을 나타낸다.
Figure pat00025
여기서, max(
Figure pat00026
)는 노드
Figure pat00027
의 최대 리워드(reward) 값이고, C > 0 은 상수이다.
Figure pat00028
Figure pat00029
는 노드
Figure pat00030
와 상위 노드인
Figure pat00031
가 방문된 횟수를 나타낸다.
다음으로, 확장(Expansion) 단계를 설명하기로 한다.
속성 선택 장치(100)는 선택 단계에서 선택된 노드의 하위 노드를 추가한다. 여기서, 하위 노드는 자식 노드로 지칭될 수 있다. 새로운 하위 노드의 추가는 UCT 알고리즘을 기반으로 이루어진다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 UCT 알고리즘에 따라,
Figure pat00032
Figure pat00033
보다 크면 하위 노드
Figure pat00034
을 추가한다. 이는 현재의 속성 서브세트(subset)에 속성
Figure pat00035
이 포함됨을 의미한다. 반대로 하위 노드
Figure pat00036
이 추가되면 속성
Figure pat00037
은 현재의 속성 서브세트(subset)에 포함되지 않는다.
다음으로, 시뮬레이션(Simulation) 단계를 설명하기로 한다.
속성 서브세트(subset) 생성에 있어서 랜덤니스(randomness)를 포함한다. 즉, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 확장되지 않은 속성을 무작위로 포함시키거나 포함시키지 않는다. 가장 최근에 확장된 노드가
Figure pat00038
라면,
Figure pat00039
까지의 경로(path)와 그의 하위 노드가 무작위로 선택된다.
현재 속성 서브세트에서, 속성
Figure pat00040
로부터 속성
Figure pat00041
까지의 포함은 선택 단계와 확장 단계에서 결정된다. 속성
Figure pat00042
로부터 속성
Figure pat00043
까지의 포함은 시뮬레이션 단계에서 무작위로 결정될 수 있다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 트리 검색(tree search)과 랜덤 검색(random search)을 통해 선택 단계, 확장 단계, 시뮬레이션 단계를 거치며 최적의 속성 서브세트(subset)를 결정할 수 있다.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 하기의 [수학식 3]과 같이, 산출된 속성 서브세트(Fsubset)에 대한 분류기(Classifier)의 정확도를 시뮬레이션하여 최적의 속성 서브세트(Fbest)를 산출할 수 있다.
Figure pat00044
여기서, Qsimulation은 시뮬레이션 리워드(Simulation reward),
Figure pat00045
는 분류기의 정확도를 의미한다. 현재의 속성 서브세트(subset)을 이용했을 때의 정확도가 이전의 정확도보다 높으면, 현재의 속성 서브세트가 최적의 속성 서브세트로 결정될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 설명하기 위한 순서도이다.
단계 S101에서, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성 세트를 입력 받는다.
단계 S102에서, 속성 선택 장치(100)는 노드의 최대 리워드 값을 사용하여 노드를 선택한다.
단계 S103에서, 속성 선택 장치(100)는 노드의 하위 노드를 생성하여 트리를 확장한다.
단계 S104에서, 속성 선택 장치(100)는 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션한다.
단계 S105에서, 속성 선택 장치(100)는 시뮬레이션을 통해 속성 서브세트를 산출한다.
단계 S106에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하는지를 확인한다.
단계 S107에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하지 않으면, 시뮬레이션 결과를 역전파하여 속성 선택 트리를 업데이트한다. 속성 선택 장치(100)는 단계 S106에서의 확인 결과에 따라 단계 S107을 반복적으로 수행할 수 있다.
단계 S108에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하면, 최고 리워드를 갖는 최적 속성 서브세트를 산출한다.
도 4는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 구체적으로 설명하기 위한 순서도이다.
단계 S201에서, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성 세트 F = {f1, f2, …, fn}를 입력 받는다.
단계 S202에서, 속성 선택 장치(100)는 선택(Selection) 단계를 수행한다. 속성 선택 장치(100)는 비-말단이고 미확장된 자식 노드가 있는 노드에 도달할 때까지 미리 확장된 속성 선택 트리를 탐색한다. 그리고 속성 선택 장치(100)는 각 트리 레벨에서, 수정된 UCT 알고리즘에 따른 [수학식 2]를 사용하여 산출된 최고 점수를 갖는 노드를 선택한다.
단계 S203에서, 속성 선택 장치(100)는 확장(Expansion) 단계를 수행한다. 속성 선택 장치(100)는 긴급 노드(Urgent node)(선택 단계 동안 마지막에 선택된 노드)에 새로운 자식 노드를 추가한다. 속성 선택 장치(100)는 수정된 UCT 알고리즘에 따른 수학식을 사용하여 산출된 최고 점수를 갖는 자식 노드를 추가한다.
단계 S204에서, 속성 선택 장치(100)는 시뮬레이션(Simulation) 단계를 수행한다. 여기서, 속성은 선택되거나 선택되지 않는 균일한 확률로, 남아 있는 미확장된 속성들로부터 선택될 수 있다.
단계 S205에서, 속성 선택 장치(100)는 하기의 [수학식 4]와 같이 속성 서브세트를 산출한다.
Figure pat00046
여기서, a(vi)는 노드 vi에서 취해진 동작(fi+1 또는 φi+1)을 나타낸다.
단계 S206에서, 속성 선택 장치(100)는 상기의 [수학식 3]과같이 시뮬레이션 리워드를 계산한다.
단계 S207에서, 속성 선택 장치(100)는 역전파(Backpropagation) 단계를 수행한다. 속성 선택 장치(100)는 단계 S206을 수행한 후, 정지 기준(Stopping Criteria)이 만족될 때까지 반복적으로 현재 액티브경로를 업데이트한다.
이후, 단계 S208에서, 속성 선택 장치(100)는 최적 속성 서브세트를 산출한다. 최적 속성 서브세트는 최고 리워드를 갖는 속성 서브세트를 의미한다.
도 5는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 구성을 설명하기 위한 구성도이다.
도 5에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는, 메모리(110) 및 프로세서(120)를 포함한다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 속성 선택 장치(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 속성 선택 장치(100)가 구현될 수 있다.
이하, 도 5의 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.
메모리(110)는 적어도 하나의 프로그램을 저장한다.
프로세서(120)는 메모리(110)와 연결된다. 프로세서(120)는, 적어도 하나의 프로그램을 실행함으로써, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 그 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 그 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 시뮬레이션 결과를 선택된 노드를 통해 역전파(Back propagation)하여 속성 선택 트리를 업데이트한다.
실시 예들에 따르면, 프로세서(120)는, 몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색할 수 있다.
실시 예들에 따르면, 프로세서(120)는, 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택할 수 있다.
실시 예들에 따르면, 프로세서(120)는, 그 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션할 수 있다.
실시 예들에 따르면, 프로세서(120)는, 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 그 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않을 수 있다.
실시 예들에 따르면, 프로세서(120)는, 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출 할 수 있다.
실시 예들에 따르면, 프로세서(120)는, 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정할 수 있다.
실시 예들에 따르면, 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장 할 수 있다.
실시 예들에 따르면, 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타낼 수 있다.
실시 예들에 따르면, 프로세서(120)는, 속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가질 수 있다.
도 6은 본 발명의 일 실시 예에 따른 검증 및 비교 목적으로 사용된 데이터세트를 설명하기 위한 도면이다.
도 6에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 검증 및 비교 목적으로 25 개의 벤치 마크 데이터 세트가 사용되었다. 이를 위해 이전에 공개된 두 개의 저장소에서 24 개의 데이터 세트를 가져 왔다. 그러나 화학적 화합물의 지문을 나타내는 "Klekota Roth 지문 (KRFP)" 데이터 세트를 5-HT5A 데이터 세트에서 가져 와서 활성 또는 비활성 화합물을 분류했다.
도 7 및 도 8은 본 발명의 일 실시 예와 다른 접근법들과의 비교 결과를 설명하기 위한 도면이다.
본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법을 나타내는 MOTiFS(Monte Carlo Tree Search Based Feature Selection)와, 다른 방법들인 SFSW, SFS, SBS, FS-FS, DEMOFS, BA, PSO 과의 데이터 세트별 비교 결과가 도 7에 도시되어 있다. 도 7에는 5-NN에 따른 평균 정확도(Avg. ACC.)와 선택 속성의 개수(# Sel. Feat.)가 나타나 있다.
본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법을 나타내는 MOTiFS(Monte Carlo Tree Search Based Feature Selection)와, 다른 방법들인 SCE, CCE, PDE-2 과의 데이터 세트별 비교 결과가 도 8에 도시되어 있다. 도 8에는 3-NN에 따른 평균 정확도(Avg. ACC.)와 선택 속성의 개수(# Sel. Feat.)가 나타나 있다.
이와 같이, 본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)은 다른 접근법들에 비해 대부분의 데이터 집합에서 성능이 우수함을 알 수 있다.
도 9는 본 발명의 일 실시 예에 의해 달성된 차원 감소를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)에 의해 달성된 차원 감소(DR, Dimensional Reduction)의 그래픽 표현을 제공한다. 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)은 다른 모든 방법에 비해 모든 데이터 세트의 정확성과 차원(DR) 면에서 월등히 뛰어났다. "Ionosphere", "Arrhythmia", "Multiple features", "Sonar", "Musk 1", "Splice", "KRFP" 및 "Libras movement"에서, 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)은 차원 감소(DR) 값을 50 % 이상 획득하여 다른 방법들에 비해 높은 정확도를 보인다.
상술한 본 발명의 실시 예들에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 본 발명의 실시 예들에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
프로세서에 의해 실행 가능한 적어도 하나의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 적어도 하나의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다.
상술한 본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상, 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
구체적으로, 설명된 특징들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 또는 그들의 조합들 내에서 실행될 수 있다. 특징들은 예컨대, 프로그래밍 가능한 프로세서에 의한 실행을 위해, 기계 판독 가능한 저장 디바이스 내의 저장장치 내에서 구현되는 컴퓨터 프로그램 제품에서 실행될 수 있다. 그리고 특징들은 입력 데이터 상에서 동작하고 출력을 생성함으로써 설명된 실시예들의 함수들을 수행하기 위한 지시어들의 프로그램을 실행하는 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 설명된 특징들은, 데이터 저장 시스템으로부터 데이터 및 지시어들을 수신하기 위해, 및 데이터 저장 시스템으로 데이터 및 지시어들을 전송하기 위해, 결합된 적어도 하나의 프로그래밍 가능한 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그래밍 가능한 시스템 상에서 실행될 수 있는 하나 이상의 컴퓨터 프로그램들 내에서 실행될 수 있다. 컴퓨터 프로그램은 소정 결과에 대해 특정 동작을 수행하기 위해 컴퓨터 내에서 직접 또는 간접적으로 사용될 수 있는 지시어들의 집합을 포함한다. 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들을 포함하는 프로그래밍 언어 중 어느 형태로 쓰여지고, 모듈, 소자, 서브루틴(subroutine), 또는 다른 컴퓨터 환경에서 사용을 위해 적합한 다른 유닛으로서, 또는 독립 조작 가능한 프로그램으로서 포함하는 어느 형태로도 사용될 수 있다.
지시어들의 프로그램의 실행을 위한 적합한 프로세서들은, 예를 들어, 범용 및 특수 용도 마이크로프로세서들 둘 모두, 및 단독 프로세서 또는 다른 종류의 컴퓨터의 다중 프로세서들 중 하나를 포함한다. 또한 설명된 특징들을 구현하는 컴퓨터 프로그램 지시어들 및 데이터를 구현하기 적합한 저장 디바이스들은 예컨대, EPROM, EEPROM, 및 플래쉬 메모리 디바이스들과 같은 반도체 메모리 디바이스들, 내부 하드 디스크들 및 제거 가능한 디스크들과 같은 자기 디바이스들, 광자기 디스크들 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 비휘발성 메모리의 모든 형태들을 포함한다. 프로세서 및 메모리는 ASIC들(application-specific integrated circuits) 내에서 통합되거나 또는 ASIC들에 의해 추가될 수 있다.
이상에서 설명한 본 발명은 일련의 기능 블록들을 기초로 설명되고 있지만, 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
전술한 실시 예들의 조합은 전술한 실시 예에 한정되는 것이 아니며, 구현 및/또는 필요에 따라 전술한 실시예들 뿐 아니라 다양한 형태의 조합이 제공될 수 있다.
전술한 실시 예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
전술한 실시 예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
100: 속성 선택 장치
110: 메모리
120: 프로세서

Claims (21)

  1. 속성 선택 장치에 의해 수행되는 몬테카를로 트리 검색 기반의 속성 선택 방법에 있어서,
    속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하는 단계;
    상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하는 단계;
    최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하는 단계; 및
    상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는 단계를 포함하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  2. 제1항에 있어서,
    상기 노드를 선택하는 단계는,
    몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  3. 제1항에 있어서,
    상기 노드를 선택하는 단계는,
    상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  4. 제1항에 있어서,
    상기 시뮬레이션하는 단계는,
    상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  5. 제1항에 있어서,
    상기 시뮬레이션하는 단계는,
    상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  6. 제1항에 있어서,
    상기 시뮬레이션하는 단계는,
    상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  7. 제1항에 있어서,
    상기 시뮬레이션하는 단계는,
    상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  8. 제1항에 있어서,
    상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장되는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  9. 제1항에 있어서,
    상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타내는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  10. 제1항에 있어서,
    상기 속성 선택 트리에서의 각 노드는,
    속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가지는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
  11. 적어도 하나의 프로그램을 저장하는 메모리; 및
    상기 메모리와 연결된 프로세서를 포함하고,
    상기 프로세서는, 상기 적어도 하나의 프로그램을 실행함으로써,
    속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고,
    상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고,
    최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고,
    상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  13. 제11항에 있어서,
    상기 프로세서는,
    상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  14. 제11항에 있어서,
    상기 프로세서는,
    상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  15. 제11항에 있어서,
    상기 프로세서는,
    상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  16. 제11항에 있어서,
    상기 프로세서는,
    상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  17. 제11항에 있어서,
    상기 프로세서는,
    상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  18. 제11항에 있어서,
    상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장되는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  19. 제11항에 있어서,
    상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타내는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  20. 제11항에 있어서,
    상기 프로세서는,
    속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가지는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
  21. 프로세서에 의해 실행 가능한 적어도 하나의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 적어도 하나의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고,
    상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고,
    최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고,
    상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체.
KR1020190027770A 2019-03-11 2019-03-11 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치 KR102188431B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190027770A KR102188431B1 (ko) 2019-03-11 2019-03-11 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190027770A KR102188431B1 (ko) 2019-03-11 2019-03-11 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200108728A true KR20200108728A (ko) 2020-09-21
KR102188431B1 KR102188431B1 (ko) 2020-12-08

Family

ID=72707981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190027770A KR102188431B1 (ko) 2019-03-11 2019-03-11 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102188431B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377779A (zh) * 2021-07-06 2021-09-10 沈阳雅译网络技术有限公司 一种围棋上的搜索博弈树的策略改进方法
CN114036510A (zh) * 2021-11-22 2022-02-11 浙江大学 一种基于蒙特卡洛树搜索的sql注入攻击优化方法
KR102363370B1 (ko) * 2021-05-31 2022-02-16 주식회사 틴토랩 UX-bit 및 몬테카를로 트리 탐색을 이용한 자동 디자인 생성 인공신경망 장치 및 방법
CN116039956A (zh) * 2022-11-02 2023-05-02 哈尔滨工业大学 一种基于蒙特卡洛树搜索的航天器序列博弈方法、装置及介质
CN116050689A (zh) * 2023-01-18 2023-05-02 中南大学 一种广域空间铁路线路智能搜索方法、系统、终端及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101926404B1 (ko) * 2018-04-27 2018-12-07 남정우 인공지능을 이용한 온라인 쇼핑몰에서의 프로모션 이미지 수정 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101926404B1 (ko) * 2018-04-27 2018-12-07 남정우 인공지능을 이용한 온라인 쇼핑몰에서의 프로모션 이미지 수정 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Browne, Cameron B., et al. "A survey of monte carlo tree search methods." IEEE Transactions on Computational Intelligence and AI in games 4.1: 1-43. (2012.02.03. 공개)* *
Gaudel, Romaric, and Michele Sebag. "Feature selection as a one-player game." (2010.05.17. 공개)* *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102363370B1 (ko) * 2021-05-31 2022-02-16 주식회사 틴토랩 UX-bit 및 몬테카를로 트리 탐색을 이용한 자동 디자인 생성 인공신경망 장치 및 방법
CN113377779A (zh) * 2021-07-06 2021-09-10 沈阳雅译网络技术有限公司 一种围棋上的搜索博弈树的策略改进方法
CN113377779B (zh) * 2021-07-06 2023-10-20 沈阳雅译网络技术有限公司 一种围棋上的搜索博弈树的策略改进方法
CN114036510A (zh) * 2021-11-22 2022-02-11 浙江大学 一种基于蒙特卡洛树搜索的sql注入攻击优化方法
CN114036510B (zh) * 2021-11-22 2024-04-26 浙江大学 一种基于蒙特卡洛树搜索的sql注入攻击优化方法
CN116039956A (zh) * 2022-11-02 2023-05-02 哈尔滨工业大学 一种基于蒙特卡洛树搜索的航天器序列博弈方法、装置及介质
CN116039956B (zh) * 2022-11-02 2023-11-14 哈尔滨工业大学 一种基于蒙特卡洛树搜索的航天器序列博弈方法、装置及介质
CN116050689A (zh) * 2023-01-18 2023-05-02 中南大学 一种广域空间铁路线路智能搜索方法、系统、终端及介质
CN116050689B (zh) * 2023-01-18 2023-11-17 中南大学 一种广域空间铁路线路智能搜索方法、系统、终端及介质

Also Published As

Publication number Publication date
KR102188431B1 (ko) 2020-12-08

Similar Documents

Publication Publication Date Title
KR102188431B1 (ko) 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치
Potamias et al. K-nearest neighbors in uncertain graphs
JP5939588B2 (ja) 関連ノードを探索する方法、並びに、そのコンピュータ、及びコンピュータ・プログラム
He et al. Mining implicit entity preference from user-item interaction data for knowledge graph completion via adversarial learning
US10713429B2 (en) Joining web data with spreadsheet data using examples
EP3025254A1 (en) Query expansion and query-document matching using path-constrained random walks
Chechik Compact routing schemes with improved stretch
JP2020194488A (ja) 材料特性予測装置、材料特性予測方法、及び材料特性予測プログラム
CN109493246B (zh) 一种动态社交网络社区演化分析方法及其系统
Lin et al. High-utility sequential pattern mining with multiple minimum utility thresholds
CN103765381A (zh) 对b+树的并行操作
Soto et al. Online control of enumeration strategies via bat algorithm and black hole optimization
JP2022522180A (ja) 断熱発展経路の予測方法、装置、機器及びコンピュータプログラム
Bendík et al. Tunable online MUS/MSS enumeration
Goswami et al. Exploring the space of information retrieval term scoring functions
Simmons-Edler et al. Program synthesis through reinforcement learning guided tree search
Di Mauro et al. Bandit-based Monte-Carlo structure learning of probabilistic logic programs
JP7093547B2 (ja) 制御プログラム、制御方法及びシステム
Kontogiannis et al. Tree-based Focused Web Crawling with Reinforcement Learning
KR20200097031A (ko) 탐색어 개념확장 기반의 정보검색 장치 및 방법
Tonda et al. A memetic approach to bayesian network structure learning
WO2011052116A1 (ja) ウェブクローリング初期点選択システム、方法及びプログラム
CN105094209B (zh) 数据的修复方法及装置
Amparore et al. Variable order metrics for decision diagrams in system verification
KR20220071044A (ko) 의미역 결정 기반 신경망 연산 방법 및 장치

Legal Events

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