The present invention relates to a non-convex sparse optimization problem appearing in the field of sparse estimation or the like.
A non-convex sparse optimization problem is a problem of minimizing the value of a function P(x) for x under a constraint that a variable vector x∈Rd having d components has only k (k<d) non-zero components.
For example, a non-convex sparse optimization problem appears in such a situation that it is desired to remove noise from a signal having d values including noise to recover the value of a true signal made up of k non-zero components.
As for a non-convex sparse optimization problem, a method which provides a fast solution but cannot guarantee obtaining an optimal solution has been widely studied as in NPL 1. On the other hand, a method other than a simple full search method of testing all methods of selecting k components that may take non-zero values among d components is not known as a method for reliably obtaining an optimal solution.
[NPL 1] Bo Liu, Xiao-Tong Yuan, Lezi Wang, Qingshan Liu and Dimitris N. Metaxas, “Dual Iterative Hard Thresholding: From Non-convex Sparse Minimization to Non-smooth Concave Maximization”, Proceedings of the 34th international Conference on Machine Learning, 70: 2179-2187, 2017.
[NPL 2] Judea Pearl, “Intelligent Search Strategies for Computer Problem Solving”, Addison-Wesley Longman Publishing Co., Inc., 1984.
Although such a simple method is presently the sole method as a method for reliably obtaining an optimal solution, it is necessary to solve an optimization problem for all patterns of dCk, which incurs a huge amount of computation.
With the foregoing in view, an object of the present invention is to provide an optimal solution search technique that guarantees an optimal solution for a non-convex sparse optimization problem with a smaller amount of computation.
In order to solve the problem, an aspect of the present invention relates to an optimal solution search device including: a main device unit that executes best-first search with respect to a given objective function and a given condition; and a calculation unit that calculates a priority of the best-first search.
According to the present invention, it is possible to provide an optimal solution search technique that guarantees an optimal solution for a non-convex sparse optimization problem with a smaller amount of computation.
In the following embodiment, an optimal solution search device that provides an optimal solution for a non-convex sparse optimization problem is disclosed. An optimal solution search device according to an embodiment to be described later uses best-first search (for example, see NPL 2) as an approach for searching for an optimal pattern of non-zero components. Moreover, in priority calculation of the best-first search, the optimal solution search device applies a method for solving a minimization problem in which all patterns of non-zero component are designated as will be described in detail later rather than using DIHT (Dual Iterative Hard Thresholding) as disclosed in NPL 1.
First, an optimal solution search process according to an embodiment of the present invention will be described briefly with reference to
When a d-dimension vector x∈Rd is given for an arbitrary positive integer m (where [m]={1,2, . . . , m}), the number of non-zero components of the vector x is defined as follows.
∥x∥0 [Formula. 1]
Furthermore, P:Rd→R is a function (an objective function) in which the vector x is a variable.
Hereinafter, a case of calculating an optimal solution for the following minimization problem (that is, x that minimizes the value of P(x) of which the number of non-zero components is k or smaller) for a given positive integer k that is equal to smaller than d will be considered.
First, best-first search for this problem will be described. This search is performed on a state space tree defined as follows. A state space tree G=(V,E) is a tree structure in which V is a vertex set and E is a directed branch set. Here, for a given S⊆[d], the number of elements of S is represented by |S|, and the largest value of the positive integers included in S is represented by maxS. In this case, V can be defined as follows.
V:={S⊆[d]||S|≤k and k−|S|≤d−max S}. [Formula. 3]
Moreover, E can be defined as follows.
E:={(S,T)∈V×V|S=T\{maxT}}. [Formula. 4]
That is, G is a tree structure in which an empty set represented as follows is a root.
∅∈V [Formula. 5]
For example,
{1}={1, 3}\{max{1, 3}} [Formula. 6]
In the optimal solution search device of the present embodiment finds out an optimal occurrence pattern of non-zero components by performing search on a state space tree defined in this manner, which will be described in detail later.
As illustrated in
The input unit 110 receives an objective function P(.) and a condition k for best-first search as input data and delivers the same to the main device unit 120.
The main device unit 120 executes best-first search with respect to the input objective function P(.) and condition k. Specifically, the main device unit 120 executes best-first search according to such a calculation procedure of Algorithm 1 as illustrated in
Here, the search uses a data structure called a MinHeap known in this technical field. MinHeap is a data structure that stores a triad <Lows, Sols, S> wherein S∈V, Lows∈V which is a value calculated for S, and Sols∈Rd which is a solution made up of k or smaller non-zero components. MinHeap.push(<Lows, Sols, S>) enables a new triad <Lows, Sols, S> to be added to MinHeap. Moreover, MinHeap.pop( ) enables a triad <Lows, Sols, S> in which the value of Lows is the smallest to be removed from the triads stored in the MinHeap.
In Algorithm 1 illustrated in
The calculation unit 130 calculates the priority of the best-first search. Specifically, the calculation unit 130 implements ORACLE(S) in the best-first search. That is, the calculation unit 130 executes such a calculation procedure of Algorithm 2 as illustrated in
First, when |S|=k, the calculation unit 130 acquires Sols and Lows by solving the minimization problem in which all patterns of k non-zero components are designated.
minsupp(x)=SP(x) [Formula. 7]
That is, when the number |S| of elements of a given set S is the same as the positive integer k, the calculation unit 130 calculates the priority by solving a minimization problem in which all patterns of k non-zero components are designated. Solving this problem itself can be realized using a basic optimization method widely known in this technical field.
On the other hand, when |S|<k, the calculation unit 130 can calculate Sols and Lows using the DIHT method proposed in NPL 1, for example. Since DIHT is outside the scope of the present invention, description of the details thereof will be omitted.
The output unit 140 outputs the optimal solution Sols acquired in the best-first search.
Here, the optimal solution search device 100 may typically be realized as a calculation device such as a server, and for example, may be configured as a drive device, an auxiliary storage device, a memory device, a processor, an interface device, and a communication device which are mutually connected via a bus. Various computer programs including a program that realizes various functions and processes of the optimal solution search device 100 may be provided in the form of a recording medium such as a compact disk-read only memory (CD-ROM), a digital versatile disk (DVD), or a flash memory . When the recording medium having a program stored therein is set on the drive device, the program is installed from the recording medium to the auxiliary storage device via the drive device. However, installation of the program may not necessarily be performed by the recording medium, but the program may be downloaded from an external device via a network or the like. The auxiliary storage device stores the installed program and stores necessary files, data, and the like. The memory device reads and stores programs and data from the auxiliary storage device when a program activation instruction is issued. The processor executes various functions and processes of the optimal solution search device 100 according to various pieces of data such as the program stored in the memory device and parameters necessary for executing the program. The interface device is used as a communication interface for connecting to a network or an external device. The communication device executes various communication processes for communicating with a network such as the Internet.
However, the optimal solution search device 100 is not limited to the above-described hardware configuration, but may be realized by another appropriate hardware configuration.
In step S101, the input unit 110 receives a function P and an upper-limit number k of non-zero components during activation of the device, for example.
In step S102, the main device unit 120 executes best-first search on a state space tree. When the state space tree is already constructed in advance, since a huge amount of memory is required, as illustrated in Algorithm 1, the main device unit 120 may perform search sequentially from portions necessary during execution. When it is necessary to calculate Lows and Sols during search, the main device unit 120 delivers S to the calculation unit 130 and acquires Lows and Sols calculated by ORACLE(S) from the calculation unit 130.
In step S103, as illustrated in Algorithm 1, upon detecting Lows=P(Sols), the main device unit 120 determines and records the Sols as an optimal solution.
Instep S104, the output unit 140 outputs the optimal solution Sols.
According to the optimal solution search device 100 of the above-described embodiment, since the best-first search and the ORACLE are combined, it is possible to solve the non-convex sparse optimization problem faster than the full search method of the conventional technique.
While an embodiment of the present invention has been described, the present invention is not limited to the above-described specific embodiment, but various modifications and changes can be made without departing from the spirit of the present invention described in the claims.
100: Optimal solution search device
110: Input unit
120: Main device unit
130: Calculation unit
140: Output unit
| Number | Date | Country | Kind |
|---|---|---|---|
| 2018-053868 | Mar 2018 | JP | national |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/JP2019/006528 | 2/21/2019 | WO | 00 |