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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation 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.
Description
본 발명은 몬테카를로 트리 검색 기반의 속성 선택 방법 및 장치에 관한 것이다.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
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 래퍼(wrapper) 프레임워크 내에서 몬테 카를로 트리 검색(MCTS, Monte Carlo tree search)을 이용하여 분류하면서 새롭고 효율적으로 속성을 선택할 수 있다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 트리 검색의 이점과 무작위 샘플링을 결합하여 최상의 속성 서브세트를 검색할 수 있다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 제한된 계산 영역 내에서 탐구(exploration)와 개발(exploitation)이 잘 균형을 이루는 새로운 속성 선택 트리를 제공할 수 있다.The
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 방법(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
도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성세트(Foriginal)를 입력받아 속성 서브세트(Fsubset)를 산출하고, 분류기(Classifier)를 통해 최적의 속성 서브세트(Fbest)를 산출할 수 있다. 속성 선택 장치(100)는 몬테카를로 트리 검색 기반의 속성 선택을 위한 시뮬레이션 단계 동안 선택 단계, 확장 단계 및 시뮬레이션 단계에 따라 속성 하위 집합을 생성할 수 있다. 그런 다음, 속성 선택 장치(100)는 분류 기준을 적용하여 속성 서브세트의 정확도를 확인할 수 있다. 또한 분류 정확도는 현재 몬테카를로 트리 검색 기반의 속성 선택을 위한 시뮬레이션의 보상으로 사용된다. 속성 선택 장치(100)는 분류 정확도를 루트 노드로 역전파할 수 있다.As shown in FIG. 1, the Monte Carlo tree search-based
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 속성 선택 문제를 새로운 속성 선택 트리로 공식화할 수 있다. 또한, 속성 선택 장치(100)는 속성 공간의 탐사 및 개발을 위해 몬테카를로 트리 검색 (MCTS)을 사용 할 수 있다. 또한, 속성 선택 장치(100)는 각 MCTS 시뮬레이션 동안 분류 성능 및 보상 계산을 위해 분류기(classifier)를 사용할 수 있다. The
본 발명의 일 실시 예에서 속성 선택 트리의 루트 노드는 어떠한 속성도 선택되지 상태이고, 모든 노드는 두 개의 하위 노드를 가진다.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의 노드는 와 의 두 개 하위노드를 가진다. 노드 는 속성 가 선택되었음을 의미하고, 는 속성 가 선택되지 않았음을 의미한다. The node at level i-1 in the attribute selection tree is Wow It has two subnodes of. Node The property Means is selected, The property Means that is not selected.
속성 선택 장치(100)는 몬테카를로 트리 검색을 이용하여 가장 높은 성능을 보이는 경로(path)를 찾을 수 있다. 경로(path)에는 선택된 속성을 나타내는 노드들이 포함된다. 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 동작은 4 단계로 구분할 수 있으며, 각 단계는 도 2에 도시된 바와 같다. 속성 선택 장치(100)는 선택 단계, 확장 단계, 시뮬레이션 단계 및 역전파 단계가 포함된 4 단계를 수행한다. The
도 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. 속성 세트 에 대해, 속성 선택 트리는 다음 조건 1 및 2를 만족하는 트리이다 :Definition 1. Set of attributes For, the attribute selection tree is a tree that satisfies the following conditions 1 and 2:
조건 1: 루트는 이며, 속성이 선택되지 않음을 의미한다.Condition 1: The root is And means that the attribute is not selected.
조건 2: 레벨 i-1 에 있는 노드 vi에는 두 개의 하위 노드 와 가 있으며, 이다.Condition 2: Node v i at level i-1 has two subnodes Wow There is, to be.
여기서, 노드 와 는 해당 속성 를 속성 서브 세트에 포함시키거나 제외시키는 것을 나타낸다. 루트 노드에서 리프 중 하나까지의 경로는 속성 서브세트를 나타낸다. 따라서 본 발명의 일 실시 예는 최상의 보상 (정확도)을 주는 경로를 찾는 것이다. 본 발명의 일 실시 예에 따른 속성 선택 장치(100)는 트리 구성 및 순회를 위해 몬테카를로 트리 검색(MCTS, Monte Carlo Tree Search)를 사용하고 최고의 정확도를 갖는 최적의 경로를 선택할 수 있다. 최적의 경로에는 최고의 정확도를 갖는 속성 서브세트에 포함된 노드들이 포함되어 있다.Where, node Wow Is the corresponding property 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
우선, 선택(Selection) 단계부터 설명하기로 한다.First, a description will be given from the selection step.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 오리지널 속성세트(Foriginal)를 입력받고 몬테카를로 트리 검색을 수행한다. 속성 선택 장치(100)는 현재까지 확장된 속성 선택 트리에서 가장 높은 리워드(reward)를 보이는 하나의 경로(path)를 선택한다. 여기서, 리워드(reward)는 속성 선택을 하는 정확도를 나타낸다. 선택된 경로에 있는 속성은 현재 반복(iteration) 과정의 속성 서브세트(subset)에 포함된다.The
속성 선택 장치(100)는 UCT(Upper Confidence Bounds for Trees) 알고리즘을 이용하여 각 레벨(level)에서 선택될 노드(node)를 결정한다. The
속성 선택 장치(100)는 UCT 알고리즘에 따라 레벨(level) i에서 노드 를 선택하면, 속성 는 현재의 속성 세트에 포함될 수 있다. 속성 가 선택되었다는 것은, 를 포함하는 속성 세트가 높은 리워드(reward)를 가져온다는 것을 의미한다. The
속성 선택 장치(100)가 UCT 알고리즘에 따라 를 선택하면, 속성 는 포함되지 않는 것을 나타낸다. 여기서, 일반적인 UCT 알고리즘은 몬테카를로 트리 검색의 노드 선택 단계에서 일반적으로 사용되는 알고리즘으로 하기의 [수학식 1]과 같다.
여기서, 와 는 노드 v와 v의 상위 노드 p가 방문된 횟수임. 는 노드 v에서 승리(게임이론의 관점에서) 횟수이다. 일반적인 UCT 알고리즘은 노드가 방문된 횟수로 나누어 각 노드의 리워드(reward)를 계산한다. here, Wow Is the number of times nodes v and v's parent node p have been visited. 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
여기서, max()는 노드 의 최대 리워드(reward) 값이고, C > 0 은 상수이다. 와 는 노드 와 상위 노드인 가 방문된 횟수를 나타낸다. Where max( ) Is the node Is the maximum reward value, and C> 0 is a constant. Wow Is the node And the parent node Represents the number of visits.
다음으로, 확장(Expansion) 단계를 설명하기로 한다.Next, the expansion (Expansion) step will be described.
속성 선택 장치(100)는 선택 단계에서 선택된 노드의 하위 노드를 추가한다. 여기서, 하위 노드는 자식 노드로 지칭될 수 있다. 새로운 하위 노드의 추가는 UCT 알고리즘을 기반으로 이루어진다. The
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 UCT 알고리즘에 따라, 이 보다 크면 하위 노드 을 추가한다. 이는 현재의 속성 서브세트(subset)에 속성 이 포함됨을 의미한다. 반대로 하위 노드 이 추가되면 속성 은 현재의 속성 서브세트(subset)에 포함되지 않는다.The
다음으로, 시뮬레이션(Simulation) 단계를 설명하기로 한다.Next, a simulation step will be described.
속성 서브세트(subset) 생성에 있어서 랜덤니스(randomness)를 포함한다. 즉, 본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 확장되지 않은 속성을 무작위로 포함시키거나 포함시키지 않는다. 가장 최근에 확장된 노드가 라면, 까지의 경로(path)와 그의 하위 노드가 무작위로 선택된다. Includes randomness in generating attribute subsets. That is, the
현재 속성 서브세트에서, 속성 로부터 속성 까지의 포함은 선택 단계와 확장 단계에서 결정된다. 속성 로부터 속성 까지의 포함은 시뮬레이션 단계에서 무작위로 결정될 수 있다. In the current subset of attributes, the attribute Property from The inclusion of up to is determined in the selection and expansion steps. property Property from The inclusion to can be determined at random during the simulation phase.
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 트리 검색(tree search)과 랜덤 검색(random search)을 통해 선택 단계, 확장 단계, 시뮬레이션 단계를 거치며 최적의 속성 서브세트(subset)를 결정할 수 있다.The
본 발명의 일 실시 예에 따른 몬테카를로 트리 검색 기반의 속성 선택 장치(100)는 하기의 [수학식 3]과 같이, 산출된 속성 서브세트(Fsubset)에 대한 분류기(Classifier)의 정확도를 시뮬레이션하여 최적의 속성 서브세트(Fbest)를 산출할 수 있다.Monte Carlo tree search based on
여기서, Qsimulation은 시뮬레이션 리워드(Simulation reward), 는 분류기의 정확도를 의미한다. 현재의 속성 서브세트(subset)을 이용했을 때의 정확도가 이전의 정확도보다 높으면, 현재의 속성 서브세트가 최적의 속성 서브세트로 결정될 수 있다. Here, Q simulation is a simulation reward, 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
단계 S102에서, 속성 선택 장치(100)는 노드의 최대 리워드 값을 사용하여 노드를 선택한다.In step S102, the
단계 S103에서, 속성 선택 장치(100)는 노드의 하위 노드를 생성하여 트리를 확장한다.In step S103, the
단계 S104에서, 속성 선택 장치(100)는 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션한다.In step S104, the
단계 S105에서, 속성 선택 장치(100)는 시뮬레이션을 통해 속성 서브세트를 산출한다.In step S105, the
단계 S106에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하는지를 확인한다. In step S106, the
단계 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
단계 S108에서, 속성 선택 장치(100)는 산출된 속성 서브세트의 정확도가 이전 산출된 정확도를 초과하면, 최고 리워드를 갖는 최적 속성 서브세트를 산출한다.In step S108, when the accuracy of the calculated attribute subset exceeds the previously calculated accuracy, the
도 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
단계 S202에서, 속성 선택 장치(100)는 선택(Selection) 단계를 수행한다. 속성 선택 장치(100)는 비-말단이고 미확장된 자식 노드가 있는 노드에 도달할 때까지 미리 확장된 속성 선택 트리를 탐색한다. 그리고 속성 선택 장치(100)는 각 트리 레벨에서, 수정된 UCT 알고리즘에 따른 [수학식 2]를 사용하여 산출된 최고 점수를 갖는 노드를 선택한다.In step S202, the
단계 S203에서, 속성 선택 장치(100)는 확장(Expansion) 단계를 수행한다. 속성 선택 장치(100)는 긴급 노드(Urgent node)(선택 단계 동안 마지막에 선택된 노드)에 새로운 자식 노드를 추가한다. 속성 선택 장치(100)는 수정된 UCT 알고리즘에 따른 수학식을 사용하여 산출된 최고 점수를 갖는 자식 노드를 추가한다.In step S203, the
단계 S204에서, 속성 선택 장치(100)는 시뮬레이션(Simulation) 단계를 수행한다. 여기서, 속성은 선택되거나 선택되지 않는 균일한 확률로, 남아 있는 미확장된 속성들로부터 선택될 수 있다. In step S204, the
단계 S205에서, 속성 선택 장치(100)는 하기의 [수학식 4]와 같이 속성 서브세트를 산출한다. In step S205, the
여기서, 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
단계 S207에서, 속성 선택 장치(100)는 역전파(Backpropagation) 단계를 수행한다. 속성 선택 장치(100)는 단계 S206을 수행한 후, 정지 기준(Stopping Criteria)이 만족될 때까지 반복적으로 현재 액티브경로를 업데이트한다. In step S207, the
이후, 단계 S208에서, 속성 선택 장치(100)는 최적 속성 서브세트를 산출한다. 최적 속성 서브세트는 최고 리워드를 갖는 속성 서브세트를 의미한다.Thereafter, in step S208, the
도 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
이하, 도 5의 몬테카를로 트리 검색 기반의 속성 선택 장치(100)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.Hereinafter, a detailed configuration and operation of each component of the
메모리(110)는 적어도 하나의 프로그램을 저장한다. The
프로세서(120)는 메모리(110)와 연결된다. 프로세서(120)는, 적어도 하나의 프로그램을 실행함으로써, 속성을 나타내는 노드로 이루어지는 속성 선택 트리(Feature selection tree)를 검색하기 위해, 현재까지 확장된 속성 선택 트리에서 확장되지 않은 노드에 도달할 때까지 노드의 최대 리워드(reward) 값을 사용하여 노드를 선택하고, 그 선택된 노드의 하위 노드를 생성하여 트리를 확장하고, 최적의 속성 서브세트를 산출하도록, 그 생성된 하위 노드로부터 확장되지 않은 나머지 노드를 확장시켜 시뮬레이션하고, 시뮬레이션 결과를 선택된 노드를 통해 역전파(Back propagation)하여 속성 선택 트리를 업데이트한다.The
실시 예들에 따르면, 프로세서(120)는, 몬테 카를로 트리 검색(Monte Carlo Tree Search)을 사용하여 속성 선택 트리에서 속성을 나타내는 노드를 추가하여 트리를 검색할 수 있다.According to embodiments, the
실시 예들에 따르면, 프로세서(120)는, 노드의 최대 정확도를 나타내는 최대 보상(reward) 값, 상기 노드가 방문된 횟수, 및 상기 노드의 상위 노드가 방문된 횟수를 사용하여 노드를 선택할 수 있다.According to embodiments, the
실시 예들에 따르면, 프로세서(120)는, 그 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션할 수 있다.According to embodiments, the
실시 예들에 따르면, 프로세서(120)는, 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 그 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않을 수 있다.According to embodiments, the
실시 예들에 따르면, 프로세서(120)는, 생성된 하위 노드로부터 확장되지 않은 나머지 노드까지의 경로에 포함된 적어도 하나의 속성 서브세트를 산출 할 수 있다.According to embodiments, the
실시 예들에 따르면, 프로세서(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
실시 예들에 따르면, 속성 선택 트리는 속성이 선택되지 않은 루트 노드(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
도 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.
상기 노드를 선택하는 단계는,
몬테 카를로 트리 검색(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.
상기 노드를 선택하는 단계는,
상기 노드의 최대 정확도를 나타내는 최대 보상(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.
상기 시뮬레이션하는 단계는,
상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.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.
상기 시뮬레이션하는 단계는,
상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않는, 몬테카를로 트리 검색 기반의 속성 선택 방법.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.
상기 시뮬레이션하는 단계는,
상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정하는, 몬테카를로 트리 검색 기반의 속성 선택 방법.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.
상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(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.
상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타내는, 몬테카를로 트리 검색 기반의 속성 선택 방법.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.
상기 속성 선택 트리에서의 각 노드는,
속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 나타내는 다른 하위 노드를 가지는, 몬테카를로 트리 검색 기반의 속성 선택 방법. 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.
상기 프로세서는,
몬테 카를로 트리 검색(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.
상기 프로세서는,
상기 노드의 최대 정확도를 나타내는 최대 보상(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.
상기 프로세서는,
상기 생성된 하위 노드로부터 확장되지 않은 나머지 노드에 도달할 때까지 나머지 노드를 랜덤하게 확장시켜 시뮬레이션하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.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.
상기 프로세서는,
상기 확장되지 않은 나머지 노드에 대해서, 확장되지 않은 속성을 나타내는 노드를 랜덤하게 상기 생성된 하위 노드로부터 말단 노드까지의 경로에 포함시키거나 포함시키지 않는, 몬테카를로 트리 검색 기반의 속성 선택 장치.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.
상기 프로세서는,
상기 산출된 적어도 하나의 속성 서브세트 중에서 현재의 속성 서브세트를 사용한 정확도가 이전의 반복 과정에 산출된 정확도보다 높으면, 현재의 속성 서브세트를 상기 최적의 속성 서브세트로 결정하는, 몬테카를로 트리 검색 기반의 속성 선택 장치.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.
상기 속성 선택 트리는 속성이 선택되지 않은 루트 노드(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.
상기 속성 선택 트리에 있는 각 노드는 속성이 선택되거나 속성이 선택되지 않는 것을 나타내는, 몬테카를로 트리 검색 기반의 속성 선택 장치. 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.
상기 프로세서는,
속성이 선택되는 것을 나타내는 하위 노드와 속성이 선택되지 않은 것을 나타내는 다른 하위 노드를 가지는, 몬테카를로 트리 검색 기반의 속성 선택 장치. 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.
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)
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)
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 |
-
2019
- 2019-03-11 KR KR1020190027770A patent/KR102188431B1/en active IP Right Grant
Patent Citations (1)
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)
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 |