KR102188431B1 - Methods and apparatuses for selecting feature based on monte carlo tree search - Google Patents

Methods and apparatuses for selecting feature based on monte carlo tree search Download PDF

Info

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

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)하여 상기 속성 선택 트리를 업데이트하는 단계를 포함한다.The present invention relates to a property selection method and apparatus based on a Monte Carlo tree search, and the property selection method based on a Monte Carlo tree search according to an embodiment of the present invention includes a feature selection tree consisting of nodes representing properties. Selecting a node using the maximum reward value of the node until a node that has not been expanded in the currently expanded attribute selection tree is reached for retrieval; Creating a lower node of the selected node to expand the tree; Expanding and simulating the remaining unexpanded nodes from the generated lower nodes to calculate an optimal subset of attributes; And updating the attribute selection tree by back propagating the simulation result through the selected node.

Figure 112019024905813-pat00047
Figure 112019024905813-pat00047

Description

몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치{METHODS AND APPARATUSES FOR SELECTING FEATURE BASED ON MONTE CARLO TREE SEARCH}Attribute selection method and device based on Monte Carlo tree search {METHODS AND APPARATUSES FOR SELECTING FEATURE BASED ON MONTE CARLO TREE SEARCH}

본 발명은 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for selecting attributes based on a Monte Carlo tree search.

종래에는 속성 선택(Feature selection)의 문제를 해결하기 위해 다양한 접근법이 개발되어 왔다. 사용된 검색 전략에 따라 이들은 주로 완전한(exhaustive), 휴리스틱(heuristic) 혹은 메타-휴리스틱(meta-heuristic) 방식으로 분류된다. 많은 속성을 가진 데이터 세트에 대해 철저한 검색을 적용하는 것은 복잡성 때문에 실제로 불가능하다. SFS (Sequential Forward Selection) 및 SBS (Sequential Backward Selection)와 같은 휴리스틱 접근 방식은 네스팅(nesting) 효과의 문제로 어려움을 겪는다. 또한 계산 비용이 많이 든다.Conventionally, various approaches have been developed to solve the problem of feature selection. Depending on the search strategy used, they are mainly classified as exhaustive, heuristic or meta-heuristic. Applying an exhaustive search over data sets with many attributes is practically impossible because of the complexity. Heuristic approaches such as SFS (Sequential Forward Selection) and SBS (Sequential Backward Selection) suffer from the problem of nesting effect. It is also expensive to calculate.

최근 GA (Genetic Algorithm), ACO (Ant Colony Optimization), PSO (Particle Swarm Optimization), 다목적 진화 알고리즘 및 박쥐(bat) 알고리즘과 같은 메타 휴리스틱 접근법이 주목을 받고 있다. 그러나 이들은 초기 단계에 있으며 너무 많은 하이퍼 매개 변수를 사용하고 모델을 튜닝하여 최적화된 성능이 너무 복잡해진다. 따라서 방대한 개선의 여지가 있으며 이러한 문제를 극복하기 위해 새로운 알고리즘이 대폭 필요하다. 적은 모델 복잡성을 통해 효율적으로 고성능을 달성할 수 있는 새로운 알고리즘이 대폭 필요하다. Recently, meta-heuristic approaches such as GA (Genetic Algorithm), ACO (Ant Colony Optimization), PSO (Particle Swarm Optimization), multi-purpose evolution algorithm, and bat algorithm are attracting attention. However, they are in their infancy and use too many hyperparameters and tune the model, making the optimized performance too complex. Therefore, there is room for vast improvement, and new algorithms are greatly needed to overcome these problems. There is a great need for new algorithms that can efficiently achieve high performance with less model complexity.

본 발명의 실시 예들은 데이터의 효율적인 분류를 위해 전체 속성 공간의 탐사 및 개발에 몬테카를로 트리 검색(MCTS, Monte Carlo Tree Selection) 기반의 속성 선택을 사용함으로써, 최적의 속성 서브세트를 찾을 수 있는, 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치를 제공하고자 한다.Embodiments of the present invention use Monte Carlo Tree Selection (MCTS)-based attribute selection for the exploration and development of the entire attribute space for efficient classification of data, thereby finding an optimal subset of attributes. To provide a method and apparatus for selecting attributes based on tree search.

본 발명의 일 실시 예에 따르면, 속성 선택 장치에 의해 수행되는 몬테카를로 트리 검색 기반의 속성 선택 방법에 있어서, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하는 단계; 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하는 단계; 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하는 단계; 및 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는 단계를 포함하는, 몬테카를로 트리 검색 기반의 속성 선택 방법이 제공될 수 있다.According to an embodiment of the present invention, in a Monte Carlo tree search-based attribute selection method performed by an attribute selection device, in order to search a feature selection tree consisting of nodes representing attributes, the extended Selecting a node using the maximum reward value of the node until a node that has not been expanded in the attribute selection tree is reached; Creating a lower node of the selected node to expand the tree; Expanding and simulating the remaining unexpanded nodes from the generated lower nodes to calculate an optimal subset of attributes; And updating the attribute selection tree by performing back propagation of the simulation result through the selected node, and a method for selecting a property based on a Monte Carlo tree search may be provided.

상기 노드를 선택하는 단계는, 몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색할 수 있다.In the step of selecting the node, the tree may be searched by adding a node representing an attribute in the attribute selection tree using a Monte Carlo Tree Search.

상기 노드를 선택하는 단계는, 상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택할 수 있다.In the step of selecting the node, a node may be selected using a maximum reward value representing the maximum accuracy of the node, the number of times the node has been visited, and the number of times the upper node of the node has been visited.

상기 시뮬레이션하는 단계는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션할 수 있다.The simulating step may be performed by randomly expanding the remaining nodes until reaching the remaining unexpanded nodes from the generated lower node.

상기 시뮬레이션하는 단계는, 상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않을 수 있다.The simulating step may or may not include randomly including a node representing an unexpanded attribute in the path from the generated lower node to an end node for the remaining unexpanded nodes.

상기 시뮬레이션하는 단계는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출할 수 있다.In the simulating step, at least one attribute subset included in the path from the generated lower node to the remaining unexpanded node may be calculated.

상기 시뮬레이션하는 단계는, 상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정할 수 있다.In the simulating step, if the accuracy of using the current attribute subset among the calculated at least one attribute subset is higher than the accuracy calculated in the previous iteration process, the current attribute subset is determined as the optimal attribute subset. I can.

상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장될 수 있다.The attribute selection tree may be expanded by adding a node indicating an attribute to the root node starting from a root node in which an attribute is not selected.

상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타낼 수 있다.Each node in the attribute selection tree may indicate that an attribute is selected or that an attribute is not selected.

상기 속성 선택 트리에서의 각 노드는, 속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가질 수 있다.Each node in the attribute selection tree may have a lower node indicating that the attribute is selected and a lower node different from that of the attribute not being selected.

한편, 본 발명의 다른 실시 예에 따르면, 적어도 하나의 프로그램을 저장하는 메모리; 및 상기 메모리와 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 프로그램을 실행함으로써, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는, 몬테카를로 트리 검색 기반의 속성 선택 장치가 제공될 수 있다.On the other hand, according to another embodiment of the present invention, a memory for storing at least one program; And a processor connected to the memory, wherein the processor executes the at least one program to search for a feature selection tree consisting of nodes representing attributes, from the extended attribute selection tree The generation is to select a node using the maximum reward value of the node until it reaches the unexpanded node, expand the tree by creating a sub-node of the selected node, and calculate an optimal subset of attributes. A property selection device based on a Monte Carlo tree search will be provided, which expands and simulates the remaining unexpanded nodes from the sub-node and updates the property selection tree by back propagating the simulation result through the selected node. I can.

상기 프로세서는, 몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색할 수 있다.The processor may search a tree by adding a node representing an attribute in the attribute selection tree using a Monte Carlo Tree Search.

상기 프로세서는, 상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택할 수 있다.The processor may select a node using a maximum reward value representing the maximum accuracy of the node, the number of times the node is visited, and the number of times the node's upper node is visited.

상기 프로세서는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션할 수 있다.The processor may perform simulation by randomly expanding the remaining nodes until reaching the remaining unexpanded nodes from the generated lower node.

상기 프로세서는, 상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않을 수 있다.The processor may or may not randomly include a node indicating an unexpanded attribute in the path from the generated lower node to an end node for the remaining unexpanded nodes.

상기 프로세서는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출할 수 있다.The processor may calculate at least one subset of attributes included in a path from the generated lower node to the remaining unexpanded node.

상기 프로세서는, 상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정할 수 있다.The processor may determine the current attribute subset as the optimal attribute subset if the accuracy of using the current attribute subset among the calculated at least one attribute subset is higher than the accuracy calculated in a previous iteration process. .

상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장될 수 있다.The attribute selection tree may be expanded by adding a node indicating an attribute to the root node starting from a root node in which an attribute is not selected.

상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타낼 수 있다.Each node in the attribute selection tree may indicate that an attribute is selected or that an attribute is not selected.

상기 프로세서는, 속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가질 수 있다.The processor may have a lower node indicating that the attribute is selected and a lower node different from that of the attribute not being selected.

한편, 본 발명의 다른 실시 예에 따르면, 프로세서에 의해 실행 가능한 적어도 하나의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 적어도 하나의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다.Meanwhile, according to another embodiment of the present invention, as a non-transitory computer-readable storage medium including at least one program executable by a processor, when the at least one program is executed by the processor, the processor causes: To search a feature selection tree consisting of nodes representing attributes, select a node using the node's maximum reward value until it reaches a node that has not been expanded in the currently expanded attribute selection tree. And, to generate a lower node of the selected node to expand the tree, and to calculate the optimal attribute subset, expand the remaining nodes that are not expanded from the generated lower node to simulate, and the simulation result to the selected node A non-transitory computer-readable storage medium including instructions for updating the attribute selection tree by back propagation may be provided.

본 발명의 실시 예들은 데이터의 효율적인 분류를 위해 전체 속성 공간의 탐사 및 개발에 몬테카를로 트리 검색(MCTS, Monte Carlo Tree Selection) 검색 기반의 속성 선택을 사용함으로써, 최적의 속성 서브세트를 찾을 수 있다.Embodiments of the present invention may find an optimal subset of attributes by using attribute selection based on a Monte Carlo Tree Selection (MCTS) search for exploration and development of the entire attribute space for efficient classification of data.

본 발명의 실시 예들은 속성 공간을 효율적으로 탐색하고 최소한의 반복 내에서 최고의 속성 서브세트를 찾을 수 있다. 일례로, 본 발명의 실시 예들에서는 두 개의 하이퍼 매개 변수만이 조정될 필요가 있으므로, 본 발명의 실시 예들은 일반적인 다른 메타-휴리스틱 방식과 비교하여 취급하기에 간단하고 유연(flexible)할 수 있다.Embodiments of the present invention can efficiently search the attribute space and find the best attribute subset within the least iteration. As an example, since only two hyper parameters need to be adjusted in the embodiments of the present invention, the embodiments of the present invention can be simple and flexible to handle compared to other general meta-heuristic methods.

도 1은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 동작을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 트리 및 검색 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 구체적으로 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 구성을 설명하기 위한 구성도이다.
도 6은 본 발명의 일 실시 예에 따른 검증 및 비교 목적으로 사용된 데이터세트를 설명하기 위한 도면이다.
도 7 및 도 8은 본 발명의 일 실시 예와 다른 접근법들과의 비교 결과를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 의해 달성된 차원 감소를 설명하기 위한 도면이다.
1 is a diagram for describing an operation of a property selection device based on a Monte Carlo tree search according to an embodiment of the present invention.
FIG. 2 is a diagram for describing an attribute selection tree and a search process based on a Monte Carlo tree search according to an embodiment of the present invention.
3 is a flowchart illustrating a method of selecting an attribute based on a Monte Carlo tree search according to an embodiment of the present invention.
4 is a flowchart illustrating a method of selecting an attribute based on a Monte Carlo tree search according to an embodiment of the present invention.
5 is a block diagram illustrating a configuration of an attribute selection device based on a Monte Carlo tree search according to an embodiment of the present invention.
6 is a diagram illustrating a dataset used for verification and comparison purposes according to an embodiment of the present invention.
7 and 8 are diagrams for explaining a comparison result between an embodiment of the present invention and other approaches.
9 is a view for explaining the reduction in dimensionality achieved by an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail.

그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate an overall understanding, the same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.

도 1은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 동작을 설명하기 위한 도면이다.1 is a diagram for describing an operation of a property selection device based on a Monte Carlo tree search according to an embodiment of the present invention.

우선, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 몬테카를로 트리 검색 기반의 속성 선택 방법을 수행한다. 본 발명의 일 실시 예에서 속성 선택은 기계 학습 또는 데이터 마이닝 작업 전에 예비 단계로 간주된다. 속성 선택 방법은 중복되거나 관련성이 없는 속성을 제거하여 가능하면 정확한 정보와 데이터 구조를 유지함으로써 효율적이고 정확한 예측 모델을 만들어 최적의 속성을 찾을 수 있다.First, the attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention performs an attribute selection method based on a Monte Carlo tree search. In an embodiment of the present invention, attribute selection is regarded as a preliminary step prior to machine learning or data mining operations. The attribute selection method removes redundant or irrelevant attributes to maintain accurate information and data structures as much as possible, thereby creating an efficient and accurate prediction model to find the optimal attribute.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 래퍼(wrapper) 프레임워크 내에서 몬테 카를로 트리 검색(MCTS, Monte Carlo tree search)을 이용하여 분류하면서 새롭고 효율적으로 속성을 선택할 수 있다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 트리 검색의 이점과 무작위 샘플링을 결합하여 최상의 속성 서브세트를 검색할 수 있다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 제한된 계산 영역 내에서 탐구(exploration)와 개발(exploitation)이 잘 균형을 이루는 새로운 속성 선택 트리를 제공할 수 있다.The attribute selection device 100 based on a Monte Carlo tree search according to an embodiment of the present invention classifies the attribute using a Monte Carlo tree search (MCTS) within a wrapper framework, while classifying a new and efficient attribute. You can choose. The attribute selection apparatus 100 according to an embodiment of the present invention may search for the best attribute subset by combining the advantages of tree search and random sampling. The attribute selection apparatus 100 according to an embodiment of the present invention may provide a new attribute selection tree in which exploration and development are well balanced within a limited calculation area.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법(Monte Carlo Tree Search based Feature Selection; MOTiFS)은 몬테카를로 트리 검색의 견고성(robustness)과, 동적성(dynamicity)과, 래퍼 방법(Wrapper method)의 높은 정확도를 결합한 메타-휴리스틱(meta-heuristic) 알고리즘을 사용한다. 속성 선택 방법(MOTiFS)은 래퍼 방법(Wrapper method)의 검색 전략으로 몬테카를로 트리 검색을 사용한다. 속성 선택 방법은 어떤 속성도 선택되지 않은 루트 노드(Root node)에서 시작해 속성을 나타내는 노드를 추가해가며 속성 선택 트리를 생성할 수 있다. The Monte Carlo Tree Search based Feature Selection (MOTiFS) method according to an embodiment of the present invention includes the robustness, dynamicity, and wrapper method of a Monte Carlo tree search. It uses a meta-heuristic algorithm that combines the high accuracy of ). The attribute selection method (MOTiFS) uses a Monte Carlo tree search as a search strategy of the wrapper method. The attribute selection method can create an attribute selection tree by adding a node representing the attribute starting from the root node where no attribute is selected.

모든 반복(iteration)은 트리 정책(Tree policy)과 디폴트 정책(Default policy)을 따라 속성 서브세트(Feature subset)를 생성할 수 있다. 트리 정책(Tree policy)은 이전의 반복(iteration)에서 확장된 속성 공간을 활용할 뿐만 아니라 트리를 점진적으로 확장하며 새로운 속성을 추가할 수 있다. 디폴트 정책(Default policy)은 선택되지 않은 속성 세트로부터 무작위로 속성을 선택함으로써 랜덤니스(randomness)를 유도할 수 있다.Every iteration can generate a feature subset according to the Tree policy and the Default policy. The tree policy not only utilizes the property space expanded from the previous iteration, but also can gradually expand the tree and add new properties. The default policy can induce randomness by randomly selecting an attribute from an unselected attribute set.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 위의 두 가지 정책(policy)의 조합을 통해 최적의 속성 서브세트를 생성할 수 있다. 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 동작 구조는 도 1에 도시되어 있다.The attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention may generate an optimal attribute subset through a combination of the above two policies. The operation structure of the attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention is illustrated in FIG. 1.

도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성세트(Foriginal)를 입력받아 속성 서브세트(Fsubset)를 산출하고, 분류기(Classifier)를 통해 최적의 속성 서브세트(Fbest)를 산출할 수 있다. 속성 선택 장치(100)는 몬테카를로 트리 검색 기반의 속성 선택을 위한 시뮬레이션 단계 동안 선택 단계, 확장 단계 및 시뮬레이션 단계에 따라 속성 하위 집합을 생성할 수 있다. 그런 다음, 속성 선택 장치(100)는 분류 기준을 적용하여 속성 서브세트의 정확도를 확인할 수 있다. 또한 분류 정확도는 현재 몬테카를로 트리 검색 기반의 속성 선택을 위한 시뮬레이션의 보상으로 사용된다. 속성 선택 장치(100)는 분류 정확도를 루트 노드로 역전파할 수 있다.As shown in FIG. 1, the Monte Carlo tree search-based attribute selection apparatus 100 according to an embodiment of the present invention receives an original attribute set (F original ) and calculates an attribute subset (F subset ), and a classifier An optimal subset of attributes (F best ) can be calculated through (Classifier). The attribute selection apparatus 100 may generate a subset of attributes according to a selection step, an expansion step, and a simulation step during a simulation step for attribute selection based on a Monte Carlo tree search. Then, the attribute selection device 100 may check the accuracy of the attribute subset by applying the classification criteria. In addition, classification accuracy is currently used as a compensation for simulation for attribute selection based on Monte Carlo tree search. The attribute selection device 100 may backpropagate the classification accuracy to the root node.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 속성 선택 문제를 새로운 속성 선택 트리로 공식화할 수 있다. 또한, 속성 선택 장치(100)는 속성 공간의 탐사 및 개발을 위해 몬테카를로 트리 검색 (MCTS)을 사용 할 수 있다. 또한, 속성 선택 장치(100)는 각 MCTS 시뮬레이션 동안 분류 성능 및 보상 계산을 위해 분류기(classifier)를 사용할 수 있다. The attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention may formulate an attribute selection problem as a new attribute selection tree. Also, the attribute selection device 100 may use a Monte Carlo tree search (MCTS) for exploration and development of an attribute space. In addition, the attribute selection apparatus 100 may use a classifier for calculating classification performance and compensation during each MCTS simulation.

본 발명의 일 실시 예에서 속성 선택 트리의 루트 노드는 어떠한 속성도 선택되지 상태이고, 모든 노드는 두 개의 하위 노드를 가진다.In an embodiment of the present invention, the root node of the attribute selection tree is in a state in which no attribute is selected, and all nodes have two lower nodes.

속성 선택 트리에서 레벨(level) i-1의 노드는

Figure 112019024905813-pat00001
Figure 112019024905813-pat00002
의 두 개 하위노드를 가진다. 노드
Figure 112019024905813-pat00003
는 속성
Figure 112019024905813-pat00004
가 선택되었음을 의미하고,
Figure 112019024905813-pat00005
는 속성
Figure 112019024905813-pat00006
가 선택되지 않았음을 의미한다. The node at level i-1 in the attribute selection tree is
Figure 112019024905813-pat00001
Wow
Figure 112019024905813-pat00002
It has two subnodes of. Node
Figure 112019024905813-pat00003
The property
Figure 112019024905813-pat00004
Means is selected,
Figure 112019024905813-pat00005
The property
Figure 112019024905813-pat00006
Means that is not selected.

속성 선택 장치(100)는 몬테카를로 트리 검색을 이용하여 가장 높은 성능을 보이는 경로(path)를 찾을 수 있다. 경로(path)에는 선택된 속성을 나타내는 노드들이 포함된다. 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 동작은 4 단계로 구분할 수 있으며, 각 단계는 도 2에 도시된 바와 같다. 속성 선택 장치(100)는 선택 단계, 확장 단계, 시뮬레이션 단계 및 역전파 단계가 포함된 4 단계를 수행한다. The attribute selection device 100 may find a path showing the highest performance by using a Monte Carlo tree search. The path includes nodes representing the selected attribute. The operation of the attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention can be divided into four steps, each step as shown in FIG. 2. The attribute selection device 100 performs four steps including a selection step, an expansion step, a simulation step, and a backpropagation step.

도 2는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 트리 및 검색 과정을 설명하기 위한 도면이다. FIG. 2 is a diagram for describing an attribute selection tree and a search process based on a Monte Carlo tree search according to an embodiment of the present invention.

우선, 본 발명의 일 실시 예에서 하기 정의 1을 정의하기로 한다. First, definition 1 below will be defined in an embodiment of the present invention.

정의 1. 속성 세트

Figure 112019024905813-pat00007
에 대해, 속성 선택 트리는 다음 조건 1 및 2를 만족하는 트리이다 :Definition 1. Set of attributes
Figure 112019024905813-pat00007
For, the attribute selection tree is a tree that satisfies the following conditions 1 and 2:

조건 1: 루트는

Figure 112019024905813-pat00008
이며, 속성이 선택되지 않음을 의미한다.Condition 1: The root is
Figure 112019024905813-pat00008
And means that the attribute is not selected.

조건 2: 레벨 i-1 에 있는 노드 vi에는 두 개의 하위 노드

Figure 112019024905813-pat00009
Figure 112019024905813-pat00010
가 있으며,
Figure 112019024905813-pat00011
이다.Condition 2: Node v i at level i-1 has two subnodes
Figure 112019024905813-pat00009
Wow
Figure 112019024905813-pat00010
There is,
Figure 112019024905813-pat00011
to be.

여기서, 노드

Figure 112019024905813-pat00012
Figure 112019024905813-pat00013
는 해당 속성
Figure 112019024905813-pat00014
를 속성 서브 세트에 포함시키거나 제외시키는 것을 나타낸다. 루트 노드에서 리프 중 하나까지의 경로는 속성 서브세트를 나타낸다. 따라서 본 발명의 일 실시 예는 최상의 보상 (정확도)을 주는 경로를 찾는 것이다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 트리 구성 및 순회를 위해 몬테카를로 트리 검색(MCTS, Monte Carlo Tree Search)를 사용하고 최고의 정확도를 갖는 최적의 경로를 선택할 수 있다. 최적의 경로에는 최고의 정확도를 갖는 속성 서브세트에 포함된 노드들이 포함되어 있다.Where, node
Figure 112019024905813-pat00012
Wow
Figure 112019024905813-pat00013
Is the corresponding property
Figure 112019024905813-pat00014
Indicates to include or exclude from a subset of attributes. The path from the root node to one of the leaves represents a subset of attributes. Therefore, one embodiment of the present invention is to find a path that gives the best compensation (accuracy). The attribute selection apparatus 100 according to an embodiment of the present invention may use a Monte Carlo Tree Search (MCTS) for tree construction and traversal and select an optimal path having the highest accuracy. The optimal path contains nodes included in the subset of attributes with the highest accuracy.

우선, 선택(Selection) 단계부터 설명하기로 한다.First, a description will be given from the selection step.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성세트(Foriginal)를 입력받고 몬테카를로 트리 검색을 수행한다. 속성 선택 장치(100)는 현재까지 확장된 속성 선택 트리에서 가장 높은 리워드(reward)를 보이는 하나의 경로(path)를 선택한다. 여기서, 리워드(reward)는 속성 선택을 하는 정확도를 나타낸다. 선택된 경로에 있는 속성은 현재 반복(iteration) 과정의 속성 서브세트(subset)에 포함된다.The attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention receives an original attribute set F original and performs a Monte Carlo tree search. The attribute selection device 100 selects one path showing the highest reward from the attribute selection tree extended to date. Here, the reward indicates the accuracy of selecting an attribute. The attributes in the selected path are included in the attribute subset of the current iteration process.

속성 선택 장치(100)는 UCT(Upper Confidence Bounds for Trees) 알고리즘을 이용하여 각 레벨(level)에서 선택될 노드(node)를 결정한다. The attribute selection device 100 determines a node to be selected at each level using an upper confidence bounds for trees (UCT) algorithm.

속성 선택 장치(100)는 UCT 알고리즘에 따라 레벨(level) i에서 노드

Figure 112019024905813-pat00015
를 선택하면, 속성
Figure 112019024905813-pat00016
는 현재의 속성 세트에 포함될 수 있다. 속성
Figure 112019024905813-pat00017
가 선택되었다는 것은,
Figure 112019024905813-pat00018
를 포함하는 속성 세트가 높은 리워드(reward)를 가져온다는 것을 의미한다. The attribute selection device 100 is a node at level i according to the UCT algorithm.
Figure 112019024905813-pat00015
If you select, properties
Figure 112019024905813-pat00016
May be included in the current attribute set. property
Figure 112019024905813-pat00017
Is selected,
Figure 112019024905813-pat00018
It means that a set of attributes containing a result of a high reward.

속성 선택 장치(100)가 UCT 알고리즘에 따라

Figure 112019024905813-pat00019
를 선택하면, 속성
Figure 112019024905813-pat00020
는 포함되지 않는 것을 나타낸다. 여기서, 일반적인 UCT 알고리즘은 몬테카를로 트리 검색의 노드 선택 단계에서 일반적으로 사용되는 알고리즘으로 하기의 [수학식 1]과 같다. Attribute selection device 100 according to the UCT algorithm
Figure 112019024905813-pat00019
If you select, properties
Figure 112019024905813-pat00020
Indicates not included. Here, the general UCT algorithm is an algorithm commonly used in the node selection step of a Monte Carlo tree search and is as shown in [Equation 1] below.

Figure 112019024905813-pat00021
Figure 112019024905813-pat00021

여기서,

Figure 112019024905813-pat00022
Figure 112019024905813-pat00023
는 노드 v와 v의 상위 노드 p가 방문된 횟수임.
Figure 112019024905813-pat00024
는 노드 v에서 승리(게임이론의 관점에서) 횟수이다. 일반적인 UCT 알고리즘은 노드가 방문된 횟수로 나누어 각 노드의 리워드(reward)를 계산한다. here,
Figure 112019024905813-pat00022
Wow
Figure 112019024905813-pat00023
Is the number of times nodes v and v's parent node p have been visited.
Figure 112019024905813-pat00024
Is the number of wins (in terms of game theory) at node v. A general UCT algorithm calculates the reward of each node by dividing it by the number of times the node is visited.

일반적인 UCT 알고리즘은 리우드(reward)가 1(승리)과 0(패배)인 게임 이론의 관점에서 적합하다. 게임 이론의 관점에서 UCT 알고리즘의 목적은 최소의 방문으로 최대의 승리를 가져오는 노드를 찾는 것이다. A general UCT algorithm is suitable from the point of view of a game theory where the reward is 1 (win) and 0 (loss). From the point of view of game theory, the purpose of the UCT algorithm is to find the node with the least visits and the greatest win.

이와 다르게, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 속성 선택을 통해 최대의 정확도를 나타내는 리워드(reward)를 가지는 경로(path)를 찾을 수 있다. 따라서 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 UCT 알고리즘을 수정하여, 방문 횟수와 리워드(reward)를 사용하지 않고, 각 노드에서의 최대 리워드(reward)를 사용한다. 하기의 [수학식 2]는 본 발명의 일 실시 예에서 사용되는 수정된 UCT 알고리즘을 나타낸다.In contrast, the attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention may find a path having a reward indicating maximum accuracy through attribute selection. Therefore, the attribute selection apparatus 100 based on Monte Carlo tree search according to an embodiment of the present invention modifies the UCT algorithm, does not use the number of visits and the reward, but uses the maximum reward at each node. do. [Equation 2] below shows a modified UCT algorithm used in an embodiment of the present invention.

Figure 112019024905813-pat00025
Figure 112019024905813-pat00025

여기서, max(

Figure 112019024905813-pat00026
)는 노드
Figure 112019024905813-pat00027
의 최대 리워드(reward) 값이고, C > 0 은 상수이다.
Figure 112019024905813-pat00028
Figure 112019024905813-pat00029
는 노드
Figure 112019024905813-pat00030
와 상위 노드인
Figure 112019024905813-pat00031
가 방문된 횟수를 나타낸다. Where max(
Figure 112019024905813-pat00026
) Is the node
Figure 112019024905813-pat00027
Is the maximum reward value, and C> 0 is a constant.
Figure 112019024905813-pat00028
Wow
Figure 112019024905813-pat00029
Is the node
Figure 112019024905813-pat00030
And the parent node
Figure 112019024905813-pat00031
Represents the number of visits.

다음으로, 확장(Expansion) 단계를 설명하기로 한다.Next, the expansion (Expansion) step will be described.

속성 선택 장치(100)는 선택 단계에서 선택된 노드의 하위 노드를 추가한다. 여기서, 하위 노드는 자식 노드로 지칭될 수 있다. 새로운 하위 노드의 추가는 UCT 알고리즘을 기반으로 이루어진다. The attribute selection device 100 adds a lower node of the node selected in the selection step. Here, the lower node may be referred to as a child node. The addition of new sub-nodes is made based on the UCT algorithm.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 UCT 알고리즘에 따라,

Figure 112019024905813-pat00032
Figure 112019024905813-pat00033
보다 크면 하위 노드
Figure 112019024905813-pat00034
을 추가한다. 이는 현재의 속성 서브세트(subset)에 속성
Figure 112019024905813-pat00035
이 포함됨을 의미한다. 반대로 하위 노드
Figure 112019024905813-pat00036
이 추가되면 속성
Figure 112019024905813-pat00037
은 현재의 속성 서브세트(subset)에 포함되지 않는다.The attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention uses a UCT algorithm,
Figure 112019024905813-pat00032
this
Figure 112019024905813-pat00033
If greater than the child node
Figure 112019024905813-pat00034
Add This is an attribute in the current subset of attributes.
Figure 112019024905813-pat00035
This means that it is included. Reverse child node
Figure 112019024905813-pat00036
When this property is added
Figure 112019024905813-pat00037
Is not included in the current subset of attributes.

다음으로, 시뮬레이션(Simulation) 단계를 설명하기로 한다.Next, a simulation step will be described.

속성 서브세트(subset) 생성에 있어서 랜덤니스(randomness)를 포함한다. 즉, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 확장되지 않은 속성을 무작위로 포함시키거나 포함시키지 않는다. 가장 최근에 확장된 노드가

Figure 112019024905813-pat00038
라면,
Figure 112019024905813-pat00039
까지의 경로(path)와 그의 하위 노드가 무작위로 선택된다. Includes randomness in generating attribute subsets. That is, the attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention randomly includes or does not include unexpanded attributes. The most recently expanded node
Figure 112019024905813-pat00038
Ramen,
Figure 112019024905813-pat00039
The path to and its subnodes are randomly selected.

현재 속성 서브세트에서, 속성

Figure 112019024905813-pat00040
로부터 속성
Figure 112019024905813-pat00041
까지의 포함은 선택 단계와 확장 단계에서 결정된다. 속성
Figure 112019024905813-pat00042
로부터 속성
Figure 112019024905813-pat00043
까지의 포함은 시뮬레이션 단계에서 무작위로 결정될 수 있다. In the current subset of attributes, the attribute
Figure 112019024905813-pat00040
Property from
Figure 112019024905813-pat00041
The inclusion of up to is determined in the selection and expansion steps. property
Figure 112019024905813-pat00042
Property from
Figure 112019024905813-pat00043
The inclusion to can be determined at random during the simulation phase.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 트리 검색(tree search)과 랜덤 검색(random search)을 통해 선택 단계, 확장 단계, 시뮬레이션 단계를 거치며 최적의 속성 서브세트(subset)를 결정할 수 있다.The attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention undergoes a selection step, an expansion step, and a simulation step through a tree search and a random search, and an optimal attribute subset is performed. (subset) can be determined.

본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 하기의 [수학식 3]과 같이, 산출된 속성 서브세트(Fsubset)에 대한 분류기(Classifier)의 정확도를 시뮬레이션하여 최적의 속성 서브세트(Fbest)를 산출할 수 있다.Monte Carlo tree search based on attribute selection unit 100 in accordance with one embodiment of the present invention as shown in [Equation 3] below, by simulating the accuracy of the classifier (Classifier) on the attribute subsets (F subset) calculated The optimal subset of attributes (F best ) can be calculated.

Figure 112019024905813-pat00044
Figure 112019024905813-pat00044

여기서, Qsimulation은 시뮬레이션 리워드(Simulation reward),

Figure 112019024905813-pat00045
는 분류기의 정확도를 의미한다. 현재의 속성 서브세트(subset)을 이용했을 때의 정확도가 이전의 정확도보다 높으면, 현재의 속성 서브세트가 최적의 속성 서브세트로 결정될 수 있다. Here, Q simulation is a simulation reward,
Figure 112019024905813-pat00045
Means the accuracy of the classifier. If the accuracy when using the current attribute subset is higher than the previous accuracy, the current attribute subset may be determined as the optimal attribute subset.

도 3은 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a method of selecting an attribute based on a Monte Carlo tree search according to an embodiment of the present invention.

단계 S101에서, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성 세트를 입력 받는다. In step S101, the attribute selection apparatus 100 based on a Monte Carlo tree search according to an embodiment of the present invention receives an original attribute set.

단계 S102에서, 속성 선택 장치(100)는 노드의 최대 리워드 값을 사용하여 노드를 선택한다.In step S102, the attribute selection apparatus 100 selects a node by using the maximum reward value of the node.

단계 S103에서, 속성 선택 장치(100)는 노드의 하위 노드를 생성하여 트리를 확장한다.In step S103, the attribute selection apparatus 100 expands the tree by creating a lower node of the node.

단계 S104에서, 속성 선택 장치(100)는 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션한다.In step S104, the attribute selection device 100 expands and simulates the remaining nodes that are not expanded from the lower nodes.

단계 S105에서, 속성 선택 장치(100)는 시뮬레이션을 통해 속성 서브세트를 산출한다.In step S105, the attribute selection device 100 calculates an attribute subset through simulation.

단계 S106에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하는지를 확인한다. In step S106, the attribute selection device 100 checks whether the accuracy of the calculated attribute subset exceeds the previously calculated accuracy.

단계 S107에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하지 않으면, 시뮬레이션 결과를 역전파하여 속성 선택 트리를 업데이트한다. 속성 선택 장치(100)는 단계 S106에서의 확인 결과에 따라 단계 S107을 반복적으로 수행할 수 있다. In step S107, if the accuracy of the calculated attribute subset does not exceed the previously calculated accuracy, the attribute selection tree is updated by backpropagating the simulation result. The attribute selection device 100 may repeatedly perform step S107 according to the confirmation result in step S106.

단계 S108에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하면, 최고 리워드를 갖는 최적 속성 서브세트를 산출한다.In step S108, when the accuracy of the calculated attribute subset exceeds the previously calculated accuracy, the attribute selection apparatus 100 calculates an optimal attribute subset having the highest reward.

도 4는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법을 구체적으로 설명하기 위한 순서도이다.4 is a flowchart illustrating a method of selecting an attribute based on a Monte Carlo tree search according to an embodiment of the present invention.

단계 S201에서, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성 세트 F = {f1, f2, …, fn}를 입력 받는다. In step S201, the Monte Carlo tree search-based attribute selection apparatus 100 according to an embodiment of the present invention includes an original attribute set F = (f 1 , f 2 , ... , f n } is input.

단계 S202에서, 속성 선택 장치(100)는 선택(Selection) 단계를 수행한다. 속성 선택 장치(100)는 비-말단이고 미확장된 자식 노드가 있는 노드에 도달할 때까지 미리 확장된 속성 선택 트리를 탐색한다. 그리고 속성 선택 장치(100)는 각 트리 레벨에서, 수정된 UCT 알고리즘에 따른 [수학식 2]를 사용하여 산출된 최고 점수를 갖는 노드를 선택한다.In step S202, the attribute selection device 100 performs a selection step. The attribute selection device 100 searches the previously expanded attribute selection tree until a node having a non-terminal and unexpanded child node is reached. In addition, the attribute selection device 100 selects a node having the highest score calculated using [Equation 2] according to the modified UCT algorithm at each tree level.

단계 S203에서, 속성 선택 장치(100)는 확장(Expansion) 단계를 수행한다. 속성 선택 장치(100)는 긴급 노드(Urgent node)(선택 단계 동안 마지막에 선택된 노드)에 새로운 자식 노드를 추가한다. 속성 선택 장치(100)는 수정된 UCT 알고리즘에 따른 수학식을 사용하여 산출된 최고 점수를 갖는 자식 노드를 추가한다.In step S203, the attribute selection device 100 performs an expansion step. The attribute selection device 100 adds a new child node to an urgent node (the node selected last during the selection step). The attribute selection device 100 adds a child node having the highest score calculated using an equation according to the modified UCT algorithm.

단계 S204에서, 속성 선택 장치(100)는 시뮬레이션(Simulation) 단계를 수행한다. 여기서, 속성은 선택되거나 선택되지 않는 균일한 확률로, 남아 있는 미확장된 속성들로부터 선택될 수 있다. In step S204, the attribute selection device 100 performs a simulation step. Here, the attribute may be selected from the remaining unexpanded attributes with a uniform probability of being selected or not selected.

단계 S205에서, 속성 선택 장치(100)는 하기의 [수학식 4]와 같이 속성 서브세트를 산출한다. In step S205, the attribute selection device 100 calculates an attribute subset as shown in [Equation 4] below.

Figure 112019024905813-pat00046
Figure 112019024905813-pat00046

여기서, a(vi)는 노드 vi에서 취해진 동작(fi+1 또는 φi+1)을 나타낸다. Here, a(v i ) represents an operation (f i+1 or φ i+1 ) taken at node v i .

단계 S206에서, 속성 선택 장치(100)는 상기의 [수학식 3]과같이 시뮬레이션 리워드를 계산한다. In step S206, the attribute selection device 100 calculates a simulation reward as in [Equation 3] above.

단계 S207에서, 속성 선택 장치(100)는 역전파(Backpropagation) 단계를 수행한다. 속성 선택 장치(100)는 단계 S206을 수행한 후, 정지 기준(Stopping Criteria)이 만족될 때까지 반복적으로 현재 액티브경로를 업데이트한다. In step S207, the attribute selection device 100 performs a backpropagation step. After performing step S206, the attribute selection device 100 repeatedly updates the current active path until a Stopping Criteria is satisfied.

이후, 단계 S208에서, 속성 선택 장치(100)는 최적 속성 서브세트를 산출한다. 최적 속성 서브세트는 최고 리워드를 갖는 속성 서브세트를 의미한다.Thereafter, in step S208, the attribute selection device 100 calculates an optimal attribute subset. The optimal attribute subset means the attribute subset with the highest reward.

도 5는 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치의 구성을 설명하기 위한 구성도이다.5 is a block diagram illustrating a configuration of an attribute selection device based on a Monte Carlo tree search according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는, 메모리(110) 및 프로세서(120)를 포함한다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 속성 선택 장치(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 속성 선택 장치(100)가 구현될 수 있다.As shown in FIG. 5, a Monte Carlo tree search-based attribute selection apparatus 100 according to an embodiment of the present invention includes a memory 110 and a processor 120. However, not all of the illustrated components are essential components. The attribute selection device 100 may be implemented by more components than the illustrated components, or the property selection device 100 may be implemented by fewer components.

이하, 도 5의 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.Hereinafter, a detailed configuration and operation of each component of the attribute selection apparatus 100 based on the Monte Carlo tree search of FIG. 5 will be described.

메모리(110)는 적어도 하나의 프로그램을 저장한다. The memory 110 stores at least one program.

프로세서(120)는 메모리(110)와 연결된다. 프로세서(120)는, 적어도 하나의 프로그램을 실행함으로써, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 그 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 그 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 시뮬레이션 결과를 선택된 노드를 통해 역전파(Back propagation)하여 속성 선택 트리를 업데이트한다.The processor 120 is connected to the memory 110. Processor 120, by executing at least one program, in order to search for a feature selection tree consisting of nodes representing attributes, until a node that has not been expanded in the attribute selection tree expanded to date is reached. Remaining unexpanded nodes from the created sub-nodes to select a node using the node's maximum reward value, create sub-nodes of that selected node to expand the tree, and yield the optimal subset of attributes. Expand and simulate, and update the attribute selection tree by back propagating the simulation result through the selected node.

실시 예들에 따르면, 프로세서(120)는, 몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색할 수 있다.According to embodiments, the processor 120 may search the tree by adding a node representing an attribute in the attribute selection tree using Monte Carlo Tree Search.

실시 예들에 따르면, 프로세서(120)는, 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택할 수 있다.According to embodiments, the processor 120 may select a node using a maximum reward value representing the maximum accuracy of the node, the number of times the node is visited, and the number of times the node's upper node is visited.

실시 예들에 따르면, 프로세서(120)는, 그 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션할 수 있다.According to embodiments, the processor 120 may perform simulation by randomly expanding the remaining nodes from the generated lower node until reaching the remaining unexpanded nodes.

실시 예들에 따르면, 프로세서(120)는, 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 그 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않을 수 있다.According to embodiments, the processor 120 may or may not include, with respect to the remaining unexpanded nodes, randomly including a node representing an unexpanded attribute in the path from the generated lower node to the end node.

실시 예들에 따르면, 프로세서(120)는, 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출 할 수 있다.According to embodiments, the processor 120 may calculate at least one subset of attributes included in a path from a generated lower node to a remaining node that has not been expanded.

실시 예들에 따르면, 프로세서(120)는, 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정할 수 있다.According to embodiments, if the accuracy of using the current attribute subset among the calculated at least one attribute subset is higher than the accuracy calculated in the previous iteration process, the processor 120 determines the current attribute subset as the optimal attribute. It can be determined by a subset.

실시 예들에 따르면, 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장 할 수 있다.According to embodiments, the attribute selection tree may be expanded by starting from a root node in which an attribute is not selected, and adding a node indicating an attribute to the root node.

실시 예들에 따르면, 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타낼 수 있다.According to embodiments, each node in the attribute selection tree may indicate that an attribute is selected or that the attribute is not selected.

실시 예들에 따르면, 프로세서(120)는, 속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 다른 하위 노드를 가질 수 있다.According to embodiments, the processor 120 may have a lower node indicating that the attribute is selected and a lower node different from that of the attribute not being selected.

도 6은 본 발명의 일 실시 예에 따른 검증 및 비교 목적으로 사용된 데이터세트를 설명하기 위한 도면이다.6 is a diagram illustrating a dataset used for verification and comparison purposes according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 검증 및 비교 목적으로 25 개의 벤치 마크 데이터 세트가 사용되었다. 이를 위해 이전에 공개된 두 개의 저장소에서 24 개의 데이터 세트를 가져 왔다. 그러나 화학적 화합물의 지문을 나타내는 "Klekota Roth 지문 (KRFP)" 데이터 세트를 5-HT5A 데이터 세트에서 가져 와서 활성 또는 비활성 화합물을 분류했다.As shown in FIG. 6, 25 benchmark data sets were used for verification and comparison purposes according to an embodiment of the present invention. To do this, we pulled 24 data sets from two previously published repositories. However, the "Klekota Roth fingerprint (KRFP)" data set representing the fingerprint of chemical compounds was taken from the 5-HT5A data set to classify active or inactive compounds.

도 7 및 도 8은 본 발명의 일 실시 예와 다른 접근법들과의 비교 결과를 설명하기 위한 도면이다.7 and 8 are diagrams for explaining a comparison result between an embodiment of the present invention and other approaches.

본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법을 나타내는 MOTiFS(Monte Carlo Tree Search Based Feature Selection)와, 다른 방법들인 SFSW, SFS, SBS, FS-FS, DEMOFS, BA, PSO 과의 데이터 세트별 비교 결과가 도 7에 도시되어 있다. 도 7에는 5-NN에 따른 평균 정확도(Avg. ACC.)와 선택 속성의 개수(# Sel. Feat.)가 나타나 있다. Data between a Monte Carlo Tree Search Based Feature Selection (MOTiFS) representing a Monte Carlo search-based attribute selection method according to an embodiment of the present invention, and SFSW, SFS, SBS, FS-FS, DEMOFS, BA, and PSO as other methods The comparison result for each set is shown in FIG. 7. 7 shows the average accuracy (Avg. ACC.) and the number of selection attributes (# Sel. Feat.) according to 5-NN.

본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법을 나타내는 MOTiFS(Monte Carlo Tree Search Based Feature Selection)와, 다른 방법들인 SCE, CCE, PDE-2 과의 데이터 세트별 비교 결과가 도 8에 도시되어 있다. 도 8에는 3-NN에 따른 평균 정확도(Avg. ACC.)와 선택 속성의 개수(# Sel. Feat.)가 나타나 있다. In FIG. 8, a comparison result for each data set between a Monte Carlo Tree Search Based Feature Selection (MOTiFS) representing a Monte Carlo search-based attribute selection method according to an embodiment of the present invention and other methods SCE, CCE, and PDE-2 are shown in FIG. Is shown. 8 shows the average accuracy (Avg. ACC.) and the number of selection attributes (# Sel. Feat.) according to 3-NN.

이와 같이, 본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)은 다른 접근법들에 비해 대부분의 데이터 집합에서 성능이 우수함을 알 수 있다. As described above, it can be seen that the Monte Carlo search-based attribute selection method (MOTiFS) according to an embodiment of the present invention has superior performance in most data sets compared to other approaches.

도 9는 본 발명의 일 실시 예에 의해 달성된 차원 감소를 설명하기 위한 도면이다.9 is a view for explaining the reduction in dimensionality achieved by an embodiment of the present invention.

도 9는 본 발명의 일 실시 예에 따른 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)에 의해 달성된 차원 감소(DR, Dimensional Reduction)의 그래픽 표현을 제공한다. 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)은 다른 모든 방법에 비해 모든 데이터 세트의 정확성과 차원(DR) 면에서 월등히 뛰어났다. "Ionosphere", "Arrhythmia", "Multiple features", "Sonar", "Musk 1", "Splice", "KRFP" 및 "Libras movement"에서, 몬테카를로 검색 기반의 속성 선택 방법(MOTiFS)은 차원 감소(DR) 값을 50 % 이상 획득하여 다른 방법들에 비해 높은 정확도를 보인다. 9 provides a graphical representation of dimensional reduction (DR) achieved by a Monte Carlo search-based attribute selection method (MOTiFS) according to an embodiment of the present invention. The Monte Carlo search-based attribute selection method (MOTiFS) outperformed all other methods in terms of accuracy and dimension (DR) of all data sets. In "Ionosphere", "Arrhythmia", "Multiple features", "Sonar", "Musk 1", "Splice", "KRFP" and "Libras movement", the Monte Carlo search-based property selection method (MOTiFS) is dimensional reduction ( DR) value is obtained over 50%, showing higher accuracy than other methods.

상술한 본 발명의 실시 예들에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 본 발명의 실시 예들에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The Monte Carlo tree search-based attribute selection method according to the embodiments of the present invention described above may be implemented as a computer-readable code on a computer-readable recording medium. The Monte Carlo tree search-based attribute selection method according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable recording medium.

프로세서에 의해 실행 가능한 적어도 하나의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 적어도 하나의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다.A non-transitory computer-readable storage medium including at least one program executable by a processor, wherein when the at least one program is executed by the processor, the processor causes: an attribute selection tree consisting of nodes representing attributes. selection tree), select a node using the maximum reward value of the node until it reaches a node that has not been expanded in the attribute selection tree that has been expanded so far, and creates a sub-node of the selected node. To expand the tree and calculate the optimal attribute subset, the generated lower node is simulated by expanding the remaining unexpanded nodes, and the simulation result is back propagated through the selected node to select the attribute A non-transitory computer-readable storage medium may be provided containing instructions for causing a tree to be updated.

상술한 본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.The above-described method according to the present invention may be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media in which data that can be decoded by a computer system is stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like. In addition, the computer-readable recording medium can be distributed to a computer system connected through a computer communication network, and stored and executed as code that can be read in a distributed manner.

이상, 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although described above with reference to the drawings and examples, it does not mean that the protection scope of the present invention is limited by the drawings or examples, and those skilled in the art It will be appreciated that various modifications and changes can be made to the present invention without departing from the spirit and scope.

구체적으로, 설명된 특징들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 또는 그들의 조합들 내에서 실행될 수 있다. 특징들은 예컨대, 프로그래밍 가능한 프로세서에 의한 실행을 위해, 기계 판독 가능한 저장 디바이스 내의 저장장치 내에서 구현되는 컴퓨터 프로그램 제품에서 실행될 수 있다. 그리고 특징들은 입력 데이터 상에서 동작하고 출력을 생성함으로써 설명된 실시예들의 함수들을 수행하기 위한 지시어들의 프로그램을 실행하는 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 설명된 특징들은, 데이터 저장 시스템으로부터 데이터 및 지시어들을 수신하기 위해, 및 데이터 저장 시스템으로 데이터 및 지시어들을 전송하기 위해, 결합된 적어도 하나의 프로그래밍 가능한 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그래밍 가능한 시스템 상에서 실행될 수 있는 하나 이상의 컴퓨터 프로그램들 내에서 실행될 수 있다. 컴퓨터 프로그램은 소정 결과에 대해 특정 동작을 수행하기 위해 컴퓨터 내에서 직접 또는 간접적으로 사용될 수 있는 지시어들의 집합을 포함한다. 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들을 포함하는 프로그래밍 언어 중 어느 형태로 쓰여지고, 모듈, 소자, 서브루틴(subroutine), 또는 다른 컴퓨터 환경에서 사용을 위해 적합한 다른 유닛으로서, 또는 독립 조작 가능한 프로그램으로서 포함하는 어느 형태로도 사용될 수 있다.Specifically, the described features may be implemented in digital electronic circuitry, or computer hardware, firmware, or combinations thereof. Features may be executed in a computer program product implemented in storage in a machine-readable storage device, for example, for execution by a programmable processor. And the features can be performed by a programmable processor executing a program of directives to perform the functions of the described embodiments by operating on input data and generating output. The described features include at least one programmable processor, at least one input device, and at least one output coupled to receive data and directives from the data storage system and to transmit data and directives to the data storage system. It can be executed within one or more computer programs that can be executed on a programmable system including the device. A computer program includes a set of directives that can be used directly or indirectly within a computer to perform a specific action on a given result. A computer program is written in any form of a programming language, including compiled or interpreted languages, and is included as a module, element, subroutine, or other unit suitable for use in another computer environment, or as a independently operable program. It can be used in any form.

지시어들의 프로그램의 실행을 위한 적합한 프로세서들은, 예를 들어, 범용 및 특수 용도 마이크로프로세서들 둘 모두, 및 단독 프로세서 또는 다른 종류의 컴퓨터의 다중 프로세서들 중 하나를 포함한다. 또한 설명된 특징들을 구현하는 컴퓨터 프로그램 지시어들 및 데이터를 구현하기 적합한 저장 디바이스들은 예컨대, EPROM, EEPROM, 및 플래쉬 메모리 디바이스들과 같은 반도체 메모리 디바이스들, 내부 하드 디스크들 및 제거 가능한 디스크들과 같은 자기 디바이스들, 광자기 디스크들 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 비휘발성 메모리의 모든 형태들을 포함한다. 프로세서 및 메모리는 ASIC들(application-specific integrated circuits) 내에서 통합되거나 또는 ASIC들에 의해 추가될 수 있다.Suitable processors for execution of a program of directives include, for example, both general and special purpose microprocessors, and either a single processor or multiple processors of a different type of computer. Storage devices suitable for implementing computer program directives and data implementing the described features are, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic devices such as internal hard disks and removable disks. Devices, magneto-optical disks, and all types of non-volatile memory including CD-ROM and DVD-ROM disks. The processor and memory may be integrated within application-specific integrated circuits (ASICs) or added by ASICs.

이상에서 설명한 본 발명은 일련의 기능 블록들을 기초로 설명되고 있지만, 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is described on the basis of a series of functional blocks, but is not limited by the above-described embodiments and the accompanying drawings, and various substitutions, modifications and changes within the scope not departing from the technical spirit of the present invention It will be apparent to those of ordinary skill in the art to which this invention pertains.

전술한 실시 예들의 조합은 전술한 실시 예에 한정되는 것이 아니며, 구현 및/또는 필요에 따라 전술한 실시예들 뿐 아니라 다양한 형태의 조합이 제공될 수 있다.Combinations of the above-described embodiments are not limited to the above-described embodiments, and various types of combinations as well as the above-described embodiments may be provided according to implementation and/or need.

전술한 실시 예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiments, the methods are described on the basis of a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and certain steps may occur in a different order or concurrently with those described above. have. In addition, those of ordinary skill in the art understand that the steps shown in the flowchart are not exclusive, other steps are included, or one or more steps in the flowchart may be deleted without affecting the scope of the present invention. You can understand.

전술한 실시 예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.The above-described embodiments include examples of various aspects. Although not all possible combinations for representing the various aspects can be described, those of ordinary skill in the art will recognize that other combinations are possible. Accordingly, the present invention will be said to cover all other replacements, modifications and changes falling within the scope of the following claims.

100: 속성 선택 장치
110: 메모리
120: 프로세서
100: property selection device
110: memory
120: processor

Claims (21)

속성 선택 장치에 의해 수행되는 몬테카를로 트리 검색 기반의 속성 선택 방법에 있어서,
속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하는 단계;
상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하는 단계;
최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하는 단계; 및
상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는 단계를 포함하고,
상기 시뮬레이션하는 단계는, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
In a Monte Carlo tree search-based attribute selection method performed by an attribute selection device,
To search a feature selection tree consisting of nodes representing attributes, select a node using the node's maximum reward value until it reaches a node that has not been expanded in the currently expanded attribute selection tree. Step to do;
Creating a lower node of the selected node to expand the tree;
Expanding and simulating the remaining unexpanded nodes from the generated lower nodes to calculate an optimal subset of attributes; And
And updating the attribute selection tree by back propagating the simulation result through the selected node,
The simulating step calculates at least one attribute subset included in a path from the generated lower node to the remaining unexpanded node, a Monte Carlo tree search-based attribute selection method.
제1항에 있어서,
상기 노드를 선택하는 단계는,
몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
The step of selecting the node,
A Monte Carlo tree search-based attribute selection method for searching a tree by adding a node representing an attribute in the attribute selection tree using Monte Carlo Tree Search.
제1항에 있어서,
상기 노드를 선택하는 단계는,
상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
The step of selecting the node,
A method for selecting a node based on a Monte Carlo tree search, wherein a node is selected using a maximum reward value representing the maximum accuracy of the node, the number of times the node is visited, and the number of times the upper node of the node is visited.
제1항에 있어서,
상기 시뮬레이션하는 단계는,
상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
The simulating step,
A method for selecting a property based on a Monte Carlo tree search by randomly expanding and simulating the remaining nodes from the generated lower node to the remaining unexpanded nodes.
제1항에 있어서,
상기 시뮬레이션하는 단계는,
상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
The simulating step,
For the remaining non-expanded nodes, a node representing an unexpanded attribute is randomly included or not included in a path from the generated lower node to an end node, based on a Monte Carlo tree search method.
삭제delete 제1항에 있어서,
상기 시뮬레이션하는 단계는,
상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
The simulating step,
If the accuracy of using the current attribute subset among the calculated at least one attribute subset is higher than the accuracy calculated in the previous iteration process, the current attribute subset is determined as the optimal attribute subset, based on a Monte Carlo tree search How to choose properties of the.
제1항에 있어서,
상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장되는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
The attribute selection tree is a Monte Carlo tree search-based attribute selection method in which a node representing an attribute is added to the root node and expanded starting from a root node in which no attribute is selected.
제1항에 있어서,
상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타내는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
Each node in the attribute selection tree indicates that an attribute is selected or an attribute is not selected. A method for selecting an attribute based on a Monte Carlo tree search.
제1항에 있어서,
상기 속성 선택 트리에서의 각 노드는,
속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 나타내는 다른 하위 노드를 가지는, 몬테카를로 트리 검색 기반의 속성 선택 방법.
The method of claim 1,
Each node in the attribute selection tree,
A Monte Carlo tree search-based attribute selection method having a sub-node indicating that the attribute is selected and another sub-node indicating that the attribute is not selected.
적어도 하나의 프로그램을 저장하는 메모리; 및
상기 메모리와 연결된 프로세서를 포함하고,
상기 프로세서는, 상기 적어도 하나의 프로그램을 실행함으로써,
속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고,
상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고,
최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하되, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출하고,
상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
A memory for storing at least one program; And
Including a processor connected to the memory,
The processor, by executing the at least one program,
To search a feature selection tree consisting of nodes representing attributes, select a node using the node's maximum reward value until it reaches a node that has not been expanded in the currently expanded attribute selection tree. and,
Create a sub-node of the selected node to expand the tree,
In order to calculate an optimal attribute subset, the generated lower node is simulated by expanding the remaining unexpanded nodes, but at least one attribute subset included in the path from the generated lower node to the remaining unexpanded nodes is Calculate,
A property selection device based on a Monte Carlo tree search for updating the property selection tree by back propagating the simulation result through the selected node.
제11항에 있어서,
상기 프로세서는,
몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 상기 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
The processor,
A property selection device based on a Monte Carlo tree search for searching a tree by adding a node representing a property in the property selection tree using a Monte Carlo Tree Search.
제11항에 있어서,
상기 프로세서는,
상기 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
The processor,
An attribute selection device based on a Monte Carlo tree search for selecting a node using a maximum reward value representing the maximum accuracy of the node, the number of times the node is visited, and the number of times the upper node of the node is visited.
제11항에 있어서,
상기 프로세서는,
상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
The processor,
A property selection device based on a Monte Carlo tree search, which randomly expands and simulates the remaining nodes from the generated lower node to the non-expanded remaining nodes.
제11항에 있어서,
상기 프로세서는,
상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
The processor,
For the remaining unexpanded nodes, a node representing an unexpanded attribute is randomly included or not included in a path from the generated lower node to an end node, based on a Monte Carlo tree search.
삭제delete 제11항에 있어서,
상기 프로세서는,
상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
The processor,
If the accuracy of using the current attribute subset among the calculated at least one attribute subset is higher than the accuracy calculated in the previous iteration process, the current attribute subset is determined as the optimal attribute subset, based on a Monte Carlo tree search Property selection device.
제11항에 있어서,
상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(Root node)로부터 시작해 속성을 나타내는 노드가 상기 루트 노드에 추가되어 확장되는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
The attribute selection tree is a Monte Carlo tree search-based attribute selection device in which a node representing an attribute is added to the root node and expanded starting from a root node in which no attribute is selected.
제11항에 있어서,
상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타내는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
Each node in the attribute selection tree indicates that an attribute is selected or an attribute is not selected. A Monte Carlo tree search-based attribute selection device.
제11항에 있어서,
상기 프로세서는,
속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 나타내는 다른 하위 노드를 가지는, 몬테카를로 트리 검색 기반의 속성 선택 장치.
The method of claim 11,
The processor,
An attribute selection device based on a Monte Carlo tree search, having a lower node indicating that the attribute is selected and another sub node indicating that the attribute is not selected.
프로세서에 의해 실행 가능한 적어도 하나의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 적어도 하나의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고,
상기 선택된 노드의 하위 노드를 생성하여 트리를 확장하고,
최적의 속성 서브세트를 산출하도록, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하되, 상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출하고,
상기 시뮬레이션 결과를 상기 선택된 노드를 통해 역전파(Back propagation)하여 상기 속성 선택 트리를 업데이트하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체.
A non-transitory computer-readable storage medium comprising at least one program executable by a processor, wherein the at least one program, when executed by the processor, causes the processor to:
To search a feature selection tree consisting of nodes representing attributes, select a node using the node's maximum reward value until it reaches a node that has not been expanded in the currently expanded attribute selection tree. and,
Create a sub-node of the selected node to expand the tree,
In order to calculate an optimal attribute subset, the generated lower node is simulated by expanding the remaining unexpanded nodes, but at least one attribute subset included in the path from the generated lower node to the remaining unexpanded nodes is Calculate,
A non-transitory computer-readable storage medium comprising instructions for causing the simulation result to be back propagated through the selected node to update the attribute selection tree.
KR1020190027770A 2019-03-11 2019-03-11 Methods and apparatuses for selecting feature based on monte carlo tree search KR102188431B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190027770A KR102188431B1 (en) 2019-03-11 2019-03-11 Methods and apparatuses for selecting feature based on monte carlo tree search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190027770A KR102188431B1 (en) 2019-03-11 2019-03-11 Methods and apparatuses for selecting feature based on monte carlo tree search

Publications (2)

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

Family

ID=72707981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190027770A KR102188431B1 (en) 2019-03-11 2019-03-11 Methods and apparatuses for selecting feature based on monte carlo tree search

Country Status (1)

Country Link
KR (1) KR102188431B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102350745B1 (en) * 2021-05-31 2022-01-14 주식회사 틴토랩 Artificial neural network Automatic design generation apparatus and method using UX-bit
CN113377779B (en) * 2021-07-06 2023-10-20 沈阳雅译网络技术有限公司 Strategy improvement method for searching game tree on go
CN114036510B (en) * 2021-11-22 2024-04-26 浙江大学 SQL injection attack optimization method based on Monte Carlo tree search
CN116039956B (en) * 2022-11-02 2023-11-14 哈尔滨工业大学 Spacecraft sequence game method, device and medium based on Monte Carlo tree search
CN116050689B (en) * 2023-01-18 2023-11-17 中南大学 Intelligent searching method, system, terminal and medium for wide-area space railway line

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101926404B1 (en) * 2018-04-27 2018-12-07 남정우 Promotional image improvement apparatus and method in online shopping mall using artificial intelligence

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101926404B1 (en) * 2018-04-27 2018-12-07 남정우 Promotional image improvement apparatus and method in online shopping mall using artificial intelligence

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. 공개)*

Also Published As

Publication number Publication date
KR20200108728A (en) 2020-09-21

Similar Documents

Publication Publication Date Title
KR102188431B1 (en) Methods and apparatuses for selecting feature based on monte carlo tree search
JP6028567B2 (en) Data storage program, data search program, data storage device, data search device, data storage method, and data search method
JP5939588B2 (en) Method for Searching Related Nodes, Computer, and Computer Program
Liang et al. Sequence-growth: A scalable and effective frequent itemset mining algorithm for big data based on MapReduce framework
US10713429B2 (en) Joining web data with spreadsheet data using examples
KR20080049804A (en) Click distance determination
WO2015013469A1 (en) Query expansion and query-document matching using path-constrained random walks
JP2022522180A (en) Insulation development path prediction methods, equipment, equipment and computer programs
Chechik Compact routing schemes with improved stretch
JP2009205269A (en) Apparatus for extracting pattern of frequent change
Lin et al. High-utility sequential pattern mining with multiple minimum utility thresholds
CN103765381A (en) Parallel operation on B+ trees
KR20200097029A (en) Apparatus and method for searching information based on semantic network and knowledge base
Soto et al. Online control of enumeration strategies via bat algorithm and black hole optimization
CN111667043B (en) Chess game playing method, system, terminal and storage medium
Bendík et al. Tunable online MUS/MSS enumeration
CN118364082A (en) Relationship question-answering method, product, medium and equipment based on known entity relationship reasoning
Simmons-Edler et al. Program synthesis through reinforcement learning guided tree search
Kontogiannis et al. Tree-based focused web crawling with reinforcement learning
KR20200097031A (en) Apparatus and method for searching information based on keyword extension
Tonda et al. A memetic approach to bayesian network structure learning
WO2011052116A1 (en) Web crawling initial point selection system, method, and program
JP6034240B2 (en) Analysis method, analysis apparatus, and analysis program
Amparore et al. Variable order metrics for decision diagrams in system verification
Richerby et al. Graph searching in a crime wave

Legal Events

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