DATA PROCESSING APPARATUS, DATA PROCESSING METHOD AND DATA PROCESSING PROGRAM

A data processing apparatus stores an analysis target data group having values of respective variables in a variable group and a value of an objective variable per analysis target, and an element group that the variable group and each of one or more modulation method(s) for modulating the variable(s) are set as elements. When the element selected from the element group is acquired, a modulation function of modulating the value of the variable which is contained in the acquired element is planned on the basis of the history of the acquired element; and the value of the variable per the analysis target is modulated on the basis of the modulation function. Image data are generated which gives a point of coordinates which are values of the modulation result and the objective variable defined by a first axis and a second axis, respectively, per the analysis target.

CLAIM OF PRIORITY

The present application claims priority from Japanese patent application JP 2021-193852 filed on Nov. 30, 2021, the content of which is hereby incorporated by reference into this application.

TECHNICAL FIELD

The present invention relates to a data processing apparatus, a data processing method and a data processing program for processing data.

BACKGROUND ART

To obtain an optimum numerical formula which expresses an objective variable by searching a numerical formula space which consists of a variable group and an arithmetic operation group which are prescribed is called symbolic regression. A model which expresses the objective variable can be obtained in an interpretable form which is called a numerical formula which consists of a prescribed arithmetic operation of a finite length by the symbolic regression.

Construction of a model which is configured by a human intelligible arithmetic operation and is expressed by a numerical formula of a formula length of the human intelligible extent is in demand in all fields which handle the model by the numerical formula such as science and engineering, medical and pharmaceutical sciences, economics and so forth. The symbolic regression by machine learning automatizes preparation of numerical formula models in such fields and contributes to advancement of learning.

Patent Literature 1 discloses a device and a method for generating and expanding a standard type formula which expresses characteristics of a given system. In this device and method, static and dynamic operations of a nonlinear electric circuit can be modeled and a progressive algorithm, simulated annealing and taboo searching can be used for searching for a standard formula.

Patent Literature 2 discloses a data processing device which facilitates analysis of a data group by a combination of a plurality of elements. This data processing device has a storage unit which stores an analysis target data group which has a factor and an objective variable per analysis target, a first modulation unit which modulates a first factor and outputs a first modulation result per the analysis target, a second modulation unit which modulates a second factor and outputs a second modulation result per the analysis target and a generation unit which generates first image data which gives a coordinate point which is a first modulation result from the first modulation unit and a second modulation result from the second modulation unit, per the analysis target, to a coordinate space which is defined by a first axis which corresponds to the first factor and a second axis which corresponds to the second factor and gives information which relates to the objective variable of the analysis target which corresponds to the coordinate point to the coordinate point.

CITATION LIST

Patent Literature

Patent Literature 2: Japanese Patent Application Laid Open No. 2021-43626.

SUMMARY OF INVENTION

Technical Problem

Patent Literature 1 presents techniques of obtaining an optimum numerical formula in symbolic regression by using an evolutionary algorithm, or an annealing method, or Tabu search. However, these are the techniques which are said to be lower in accuracy than a technique of using deep learning, in general, in a regression problem. Accordingly, it is thought that the possibility that the optimum numerical formula can be obtained is lower than that of deep learning.

Although the technique in Patent Literature 2 performs the symbolic regression which uses reinforcement learning which is based on a deep learning model, there are limitations in form and length of the numerical formula.

The present invention aims to promote improvement of analytical accuracy.

Solution to Problem

A data processing apparatus which becomes one profile of the invention which is disclosed in the present application has a storage unit which stores an analysis target data group which has values of respective variables in a variable group and a value of an objective variable per analysis target and an element group that the variable group and each of one or more modulation method(s) for modulating the variable(s) are set as elements, a modulation unit which when the element which is selected from the element group is acquired, plans a modulation function of modulating the value of the variable which is contained in the acquired element on the basis of an action history which is the history of the acquired element and modulates the value of the variable per the analysis target on the basis of the modulation function and a generation unit which generates image data which gives a point of coordinates which are values of the modulation result and the objective variable to a coordinate space which is defined by a first axis which corresponds to a result of modulation by the modulation unit and a second axis which corresponds to the objective variable per the analysis target.

Effect of the Invention

According to a representative embodiment of the present invention, it aims to promote the improvement of the analytical accuracy. Issues, configurations and effects other than the aforementioned ones will become apparent from the following description of embodiments.

DESCRIPTION OF EMBODIMENTS

In the following, one example of a data processing apparatus, a data processing method and a data processing program which pertain to the embodiment 1 will be described. In addition, in the embodiment 1, an analysis target data group is a combination of a value of each variable in a variable group and a value of an objective variable which indicates a one-year-later disease progressive state which is patient's 100 kinds of patient information which contains a body weight and a height as for each of 50 diabetic patients. Incidentally, the number of patients and the number of kinds of patient information are illustrative.

One Example of Analysis

FIG.1is an explanatory diagram illustrating one example of analysis of a data group pertaining to the embodiment 1. A data processing apparatus100has a numerical formula planning AI (Artificial Intelligence)101and a regressor102. The numerical formula planning AI101is, for example, a reinforcement learning type CNN (Convolutional Neural Network) which plans a numerical formula111. The numerical formula111is a modulation function which modulates a variable group in order to make an objective variable interpretable by a defined operator.

The regressor (a regression model)102is an AI which inputs coordinates values on a coordinate space110which is spread by an X axis and a Y axis and outputs prediction accuracy as a reward to the numerical formula planning AI101. A user103of the data processing apparatus100may be, for example, a medical doctor, a scholar and a researcher and may be a business person who provides an analysis service by the data processing apparatus100.

(1) The user103selects an analysis target data group from an analysis target DB104which stores a patient-based analysis target data group and makes the numerical formula planning AI101read it. The analysis target data is, for example, a combination of a value of each variable (patient information) in the group of variables which are the above-described patient's 100 kinds of feature amounts and the objective variable.

(2) The numerical formula planning AI101selects a variable or a modulation method of modulating the variable from an element group105. The numerical formula planning AI101selects, for example, “x1” from the element group105as the variable and selects “+” from the element group105as the modulation method. The modulation method is an operator which sets the variable as an operand or an indicator which indicates termination of an arithmetic operation.

That is, as a scene that the numerical formula planning AI101sees in the reinforcement learning (a state which indicates what is going on as consequence of the action), they are plotted on the coordinate space110with the value of the objective variable of the patient being set as the Y-axis value and with a calculated value of the numerical formula111that the numerical formula planning AI101currently obtains being set as the X-axis value. Calculation of the X-axis coordinate value and the Y-axis coordinate value is executed per patient. The coordinate values which are plotted on the coordinate space110will be referred to as “patient data”.

(3) The data processing apparatus100inputs the X-axis coordinate value in the patient data into the regressor102.

(4) The regressor102calculates a linear regression equation which indicates the objective variable from the X-axis coordinate value in the patient data and calculates prediction accuracy thereof. Then, the regressor102outputs the calculated prediction accuracy to the numerical formula planning AI101as the reward in the reinforcement learning.

(5) In addition, the data processing apparatus100inputs image data I which is the coordinate space110that the patient data is plotted into the numerical formula planning AI101, apart from (3).

(6) The numerical formula planning AI101executes a convolution operation over the reinforcement leaning type CNN in regard to the image data I in the coordinate space110by using the reward which is input in (4) and selects the next variable and modulation method from the element group105. Then, the data processing apparatus100repeatedly executes (2) to (6).

The numerical formula planning AI repeatedly plans the numerical formula111while referring to the image data I in this way and thereby the user can obtain the numerical formula111which defines a new variable which highly correlates with the objective variable in the linear form. That is, searching for the numerical formula and determination of the optimum numerical formula for representing the objective variable become possible by using the reinforcement learning which is based on a deep learning model. Accordingly, the numerical formula is optimized and thereby improvement of the prediction accuracy of the objective variable can be promoted.

Hardware Configuration Example of Data Processing Apparatus100

FIG.2is a block diagram illustrating a hardware configuration example of the data processing apparatus100. The data processing apparatus100has a processor2011, a storage device202, an input device203, an output device204, a communication interface (communication IF)205and an image processing circuit207. The processor2011, the storage device202, the input device203, the output device204, the communication IF205and the image processing circuit207are mutually connected via a bus206.

The processor201controls the data processing apparatus100. The storage device202serves as a working area of the processor201. In addition, the storage device202is a non-transitory or transitory recording medium which stores various programs and data, the analysis target DB. As the storage device202, there are, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), an HDD (Hard Disk Drive) and a flash memory. The input device203inputs data. As the input data203, there are, for example, a keyboard, a mouse, a touch panel, a numeric keypad, a scanner. The output device204outputs data. As the output device204, there are, for example, a display, a printer. The communication IF205is connected with a network and transmits and receives data.

The image processing circuit207is a circuit configuration which executes image processing. The image processing circuit207executes processes in (1) to (6) which are illustrated inFIG.1with reference to a pattern table208. The pattern table208is stored in, for example, a not illustrated storage region in the image processing circuit207. Incidentally, although the image processing circuit207is realized by the circuit configuration, it may be also realized by making the processor201execute a program which is stored in the storage device202.

Analysis Target DB104

FIG.3is an explanatory diagram illustrating one example of the analysis target DB104pertaining to an embodiment 1. The analysis target DB104has Patient ID301, Objective Variable302and Variable Group303as fields. A combination of values of respective fields on the same row becomes analysis target data on one patient.

Patient ID301is identification information for distinguishing one patient who is one example of the analysis target from other patients and values in Patient ID301are expressed by, for example, 1 to 50. Objective Variable302indicates values which indicate one-year-later disease progressive states of the patients. Variable Group303is, for example, a set of 100 kinds of variables. Each variable in Variable Group303indicates patient information. For example, a value of “1” in Patient ID301for a variable “x1” in Variable Group303is “1.94”. That is, each entry of the analysis target DB104indicates the one-year-later disease progressive state of the patient which is specified by Variable Group303.

FIG.4is an explanatory diagram illustrating one example of the pattern table208. The pattern table208is a table that the numerical formula planning AI101plans the numerical formula111and defines the element group105which is used for generation of a control signal for plotting the coordinate value on the coordinate space110. Contents of the pattern table208are set in advance.

The pattern table208has Element Number401and Element402which corresponds to Element Number401as the fields. Element Number401is identification information for uniquely specifying a selection main constituent for selecting corresponding ones (x1, x2, log, +, End and so forth) in Element402. Element402contains each variable in Variable Group303, an operator that a value of the variable is set as an operand and an indicator which indicates end of the arithmetic operation. A unary operator and a polynomial operator are contained in the operator. For example, trigonometric functions (a sin function, a cos function, a tan function), an exponential function and a logarithmic function are contained in the unary operator. For example, four arithmetic operators are contained in the polynomial operator.

Configuration Example of Image Processing Circuit207

FIG.5is a block diagram illustrating one circuit configuration example of the image processing circuit207. The image processing circuit207has a data memory500, a modulation unit510, an image generator520, an evaluator530, a controller540, the pattern table208.

All entries of the analysis target DB104, that is, the analysis target data on each patient and the action history which is the history of the variable or the modulation method which is selected in the modulation unit510are written into the data memory500from the storage device202.

The modulation unit510configures part of the numerical formula planning AI101which is illustrated inFIG.1. The modulation unit510sets the variable or the modulation method in the numerical formula111. The modulation unit510has a data load modulator511and a data save modulator512.

The data load modulator511acquires the one (the variable or the modulation method) in Element402which is contained in a control signal a(t) which is output from the controller540in a time step t (t is an integer which meets0≤t≤T, t=0 is an initial value, T is an integer which becomes the maximum value of t, for example, T=30). The control signal a(t) contains the one in Element402which is randomly selected in the time step t. The control signal a(t) will be described later in step S1003inFIG.10. The data load modulator511may accept selection of the variable or the modulation method which is selected by the user.

The data load modulator511adds the acquired variable or modulation method to the column of the time step t in action history data which is stored in the data memory500.

FIG.6is an explanatory diagram illustrating one example of action story data. The action history data600has Time Step602and Action History601in Time Step602. The action history data600is sequence data which stores Action History601with Time Step602of t=0, 1, 2, . . . being set as columns and an initial value in Action History601is null. In the example which is illustrated inFIG.6, the data load modulator511acquires the variable or the modulation method from a control signal a (t=8) by the modulation unit510in the latest time step in Time Step602, t=8, in this example and adds the acquired variable or modulation method to the column (in Time Step t) which corresponds to t=8 in Action History601.

The data load modulator511acquires the numerical formula111by reading the sequence data in this Action History601by a specific numerical formula notation method, for example, Reverse Polish Notation. The data load modulator511calculates a vector which has X-axis coordinate values of all the patients when applying the value in Variable Group303in the analysis target data of the patients to numerical formula111in the variable which configures the numerical formula111.

The data load modulator511may use a numerical formula notation method other than Reverse Polish Notation, for example, an infix notation method and Polish Notation. A vector value that the values in Variable Group303in the analysis target data on all the patients are applied to the numerical formula111is defined as a signal x′. For example, in a case where sequence data in Action History601is “x1, x2, +, x3, −”, the numerical formula111which is obtained by reading the sequence data concerned by Reverse Polish Notation becomes “x1+x2−x3” and the signal x′ becomes a vector which has the X-axis coordinate value of x′=x1+x2−x3 for all the patients.

There exists a case where it is impossible to convert data in Action History601to a meaningful numerical formula by the data load modulator511. Specifically, for example, these are divided to a case (a case A) where the sequence data in Action History601is configured by only one or more variable(s) and any meaningful numerical formula cannot be obtained even when any variable or any modulation method is selected in the subsequent time steps and to a case (a case B) where the sequence data in Action History601is configured by only one or more modulation method(s) and there is the possibility that the meaningful numerical formula can be obtained by selecting an appropriate variable or modulation method in the subsequent time steps.

This case division can be decided depending on whether the meaningful variable can be obtained when generating the numerical formula by using, for example, Reverse Polish Notation, when filling actions in future time steps, that is, blank parts in Action History601with a certain variable (for example, the variable x1) one by one starting from more previous time steps or when filling them with a certain binary operator (for example, +) one by one starting from the more previous time steps.

In the case A, no useful numerical formula is obtained and it resultantly indicates that the action of generating a failed numerical formula is taken. Accordingly, it is so set that the signal x′ takes a sufficiently large number, for example, 10100for all the patients.

In the case B, since it is thought that simply any useful numerical formula is not obtained temporarily in the current time step, the data load modulator511generates the signal x′ which is based on the numerical formula111in an immediately previous time step t-1.

In the example which is illustrated inFIG.6, the data load modulator511selects the variable or the modulation method in accordance with the control signal a (t=8) by the modulation unit510in the latest time step602, t=8 in this example, updates it by adding the selected variable or modulation method to the column (in Time Step t) which corresponds to t=8 in Action History601and generates the numerical formula111on the basis of the updated Action History601. The signal x′ is generated by substituting the value in Variable Group303into this numerical formula.

Specifically, for example, the signal x′ which is based on the action history data600inFIG.6becomes data that values of x1 and x2 in Variable Group303are substituted into the numerical formula111(x2/x1+x2/x12) per patient ID301and becomes (100/1. 94+100/1. 94/1. 94, . . . 57/1. 58+57/1. 58/1. 58, 43/1. 55+43/1. 55/1. 55).

The data save modulator512saves the signal x′ which is obtained by the data load modulator511, the updated Action History601and numerical formula111into the data memory500and outputs them to the image generator520.

In addition, when all the ones in Action History601are entirely filled by the load modulator511, or when “End” is selected as the modulation method or when it is decided that the ones in Action History601apply to the above case A by the data load modulator511, the modulation unit510sets a stop signal K(t) to K(t)=1 and otherwise sets it to K(t)=0. The stop signal K(t) is a signal for deciding resetting of the ones in Action History601. In a case where K(t)=1, the ones in Action History601and Time Step602are reset to initial values. In a case where K(t)=0, the ones in Action History601and Time Step602are continuously retained.

The image generator520configures part of the numerical formula planning AI101which is illustrated inFIG.1. The image generator520acquires the signal x′ which is output from the modulation unit510and a value in Objective Variable302in the analysis target data which is saved in the data memory500. The signal x′ is a set of coordinate values (a one-dimensional vector) which are calculated from the numerical formula111per case. The image generator520plots the coordinate value that the value of the signal x′ is set as the X-axis value and the value in Objective Variable302is set as the Y-axis value on the coordinate space110and thereby draws them as pixels which configure the image data I in the coordinate scape110that patient data is plotted.

The evaluator530has the regressor102which is illustrated inFIG.1. The evaluator530acquires the signal x′ which is output from the modulation unit510and the value in Objective Variable302from the data memory500. The evaluator530calculates a statistical quantity r(t) in the time step t in accordance with the value in Objective Variable302.

Specifically, for example, the evaluator530executes the regressor102and thereby calculates the statistical quantity r(t) which indicates the prediction accuracy for predicting the value in Objective Variable302of the patient. The statistical quantity r(t) corresponds to the reward of the reinforcement learning and become a result of evaluation of a way of selecting the numerical formula111. For example, a determination coefficient R2and a mean square error MSE can be adopted as the statistical quantity r(t). That is, the evaluator530evaluates the way of selecting the signal x′ which is the result of modulation on the basis of the numerical formula111which is obtained because that signal x′ is selected.

The regressor102and, a logistic regression unit, a linear regression unit which work as regression calculation units, a neural network or a gradient boosting unit are loaded on the evaluator530. The evaluator530saves the statistical quantity r(t) into the data memory500and outputs it to the controller540.

The controller540configures part of the numerical formula planning AI101which is illustrated inFIG.1. The controller540is a reinforcement leaning type CNN. The controller540acquires image data I (in the following, image data I(t)) of the time step t which is generated by the image generator. In addition, the controller540acquires the statistical quantity r(t) from the evaluator530as the reward of the reinforcement learning.

Then, the controller540controls the modulation unit510. Specifically, for example, when the image data I(t) is input from the image generator520, the controller540generates the control signal a(t) which controls the modulation unit510and controls generation of image data I(t+1) in the next time step (t+1).

Configuration of Controller540

FIG.7is a block diagram illustrating one configuration example of the controller540which is illustrated inFIG.5. The controller540has a network unit700, a replay memory720and a learning parameter update unit730. The network unit700has a Q* network701, a Q network702and a random unit703.

The Q* network701and the Q network702are action value functions of the same configuration for learning the control signal a(t) which is such an action of maximizing the value. The value, in this case, is an index value which indicates a height in correlation between a new variable which is obtained from the numerical formula111which is finally generated in the image data I(t) and the value in Objective Variable302by taking an action (planning the numerical formula111) which is defined by the control signal a(t).

That is, the Q network702and the Q* network701select a maximum value in respective values in Element402in the element group105in the pattern table208when taking a certain action (the control signal a(t)) in a certain state (the image data I(t)).

Specifically, for example, the Q* network701is a deep reinforcement learning DQN (Deep Q-Network) which inputs the image data I(t) and outputs a one-dimensional array which indicates each value in Element402(the variable or the modulation method) in the control signal a(t) on the basis of a learning parameter θ*.

The Q network702is a deep reinforcement learning DQN which is the same as the Q* network701in configuration and obtains the value in Element402(the variable or the modulation method) which becomes a generation source of the image data I(t) with a learning parameter being defined as θ. The Q* network701selects an action which is the highest in the value of the image data I(t) which is obtained by the Q network702, that is, the value in Element402in the pattern table208.

The random unit703outputs a random number value which is more than 0 and less than 1 and which becomes a threshold value for deciding whether the action is randomly selected or is selected on the basis of the Q* network701. The learning parameter update unit730has a gradient calculation unit731. The learning parameter update unit730calculates a gradient g that the statistic quantity r(t) is considered as the reward by using the gradient calculation unit731, adds the gradient g to the learning parameter θ and thereby updates the learning parameter θ.

The replay memory720stores a data pack D(t). The data pack D(t) contains the statistical quantity r(t), the image data I(t), I(t+1), the control signal a(t) and the stop signal K(t) in the time step t. In a case of taking the action (the control signal a(t)) in the state of the time step t (the image data I(t)) by the data pack D(t), whether Action History601and the time step t are reset (the stop signal K(t)) is specified.

A configuration example of the Q* network701will be specifically described. Here, the configuration example of the Q* network701will be described by taking a case where the color image data I(t) of 84×84 pixels is input by way of example.

A first layer is a convolution network (a kernel: 8×8 pixels, a stride: 4, an activation function: ReLU). A second layer is a convolution network (the kernel: 4×4 pixels, the stride: 2, the activation function: ReLU). A third layer is a fully coupled network (the number of neurons: 256, the activation function: ReLU). In addition, an output layer is a fully coupled network and outputs a one-dimensional array z(t) which corresponds to the element column in the pattern table208as an output signal.

The one-dimensional array z(t) has values which are set in one-to-one correspondence with respective elements in Element402in the pattern table208. That is, the one-dimensional array z(t) is an array which has values which correspond to109elements in Element402(seeFIG.11).

Input/Output Screen Example

FIG.8is an explanatory diagram illustrating one example of an input/output screen which is displayed on the output device204of the data processing apparatus100pertaining the embodiment 1. An input/output screen800includes a load button810, a start button820, a numerical formula length input region830, a unary operator input region840, a polynomial operator input region850, a target measurement input region860, an image display region870and a numerical formula display region880.

The load button810is a button for loading an entry of the analysis target DB104to the data memory500by pushing-down. The start button820is a button for starting image generation by pushing-down.

The numerical formula length input region830is adapted to input an upper limit of the length of the numerical formula which is generated. In a case where the numerical formula length input region830is empty, a numerical value of a default maximum numerical formula length (30 in this example) is automatically set.

Additional input of the unary operator which is one of the modulation methods in the data load modulator511into the unary operator input region840is possible. As the unary operator whose additional input into the unary operator input region840is possible, for example, a hyperbolic function and a constant multiple function which are not registered in the pattern table208can be additionally input thereinto. In a case where they are not additionally input thereinto, unary operators (for example, a sin function, a cos function, a tan function, an index function, a logarithm function) which are registered in the pattern table208are applied.

Additional input of the polynomial operator which is one of the modulation methods in the data load modulator511into the polynomial input region850is possible. As the polynomial operators whose additional input is possible, for example, additional input of a max function and a min function which are not registered in the pattern table208is possible. In a case where they are not additionally input, the polynomial operators (+, −, ×, /) which are registered in the pattern table208are applied.

The target measure input region860includes a statistical quantity input region861and a target value input region862. Kinds of the statistical quantities which are calculated by the learning parameter update unit730can be input into the statistical quantity input region861. Specifically, for example, a statistical quantity for judging whether regression is good or bad such as a determination coefficient R2can be selected. A target value of the statistical quantity which is input into the statistical quantity input region861can be input into the target value input region862(inFIG.8, “0.8” by way of example).

The image data I which is generated by the image generator520is displayed in the image display region870. The numerical formula111is displayed in the numerical formula display region880.

Incidentally, the input/output screen800is displayed on, for example, a display which is one example of the output device204of the data processing apparatus100. In addition, the input/output screen800may be displayed on a display of another computer concerned by transmitting information which relates to the input/output screen800from the communication IF205of the data processing apparatus100to that another computer which is connected with the communication IF to be communicable.

Image Data Generation Processing

FIG.9is a flowchart illustrating a detailed process procedure example of the image data generation processing by the modulation unit510and the image generator520. First, the data load modulator511in the modulation unit510executes a process (step S901). Specifically, for example, the data load modulator511selects one factor x1 from within the ones in Variable Group303which is stored in the data memory500by a control signal a(t+1) from the controller540.

The data save modulator512calculates the numerical formula111in accordance with the action history data600which is updated by the control signal a(t+1), outputs the signal x′, saves it in the data memory500and outputs it to the image generator520(step S903).

The image generator520plots the patient data on the coordinate space110on the basis of the signal x′ which is output from the modulation unit510and the value in Objective Variable302which is stored in the data memory500and generates the image data I(t+1) (step S904).

Analysis Processing Procedure Example

FIG.10is a flowchart illustrating one analysis processing procedure example. Incidentally, before starting the processing, it is supposed that the entry of the analysis target DB104is loaded in the data memory500by pressing-down of the load button810in the input/output screen800inFIG.8.

The data processing apparatus100executes initialization (step S1001). Specifically, for example, the data processing apparatus100sets a calculation step m to m=1. In addition, the data processing apparatus100initializes the learning parameter θ* of the Q* network701by random-weighting. In addition, the data processing apparatus100initializes the learning parameter θ of the Q network701by random-weighting.

The data processing apparatus100initializes the controller540(step S1002). Specifically, for example, the data processing apparatus100makes all the columns in Action History601in the action history data600blank, sets the time step t to t=0 and sets image data I(t=0) to blank.

The controller540determines the control signal a(t) of the time step t (step S1003). Specifically, for example, the random unit703outputs a random number value. When the random number value that the random unit703outputs is more than e (for example, e=0.5), the controller540randomly selects one element in Element402from the pattern table208and determines the control signal a(t) with the selected element in Element402. For example, when, in Element402, the element which is randomly selected from the pattern table208is “/” which corresponds to the value “104” in Element Number401, the controller540determines “/” as the control signal a(t).

On the other hand, when the random number value that the random unit703outputs is less than e, the controller540inputs the image data I(t) into the Q* network701in the network unit700and calculates a one-dimensional array z(t).

FIG.11is an explanatory diagram illustrating one example of the one-dimensional array z(t). The one-dimensional array z(t) corresponds to109elements in Element Group105in the pattern table208and the array of109numerical values which are arrayed in the order of element numbers in Element Number401. The magnitude of the numerical value indicates an action value of that element in Element402.

The controller540selects one element in Element402in the pattern table208which corresponds to one element in Element402which reaches a maximum value, in the one-dimensional array z(t), and sets it as the control signal a(t). For example, inFIG.11, the maximum value of the action value is “0.9” which corresponds to a value “103” in Element Number401. In the pattern table208, in Element402, the element which corresponds to the value “103” in Element Number401is “*”. The controller540sets the control signal a(t) inFIG.7to “*” which corresponds to the maximum value. The control signal a(t) which is higher in value can be selected by selecting the element in Element402that the action value reaches the maximum value in this way and thereby the controller540can take a more preferable action.

Returning toFIG.10, the evaluator530executes calculation of the statistical quantity r(t) of the time step t (step S1004). Specifically, for example, the evaluator530calculates the statistical quantity r(t) on the basis of the signal x′ which is output from the modulation unit510and the value in Objective Variable302which is loaded from the data memory500.

More specifically, the evaluator530executes the regressor102and thereby predicts the value in Objective Variable302per patient and calculates the statistical quantity r(t). The evaluator530saves the statistical quantity r(t) in the data memory500and outputs it to the controller540.

Next, the data processing apparatus100executes image data generation processing (in the following, image data I(t+1) generation processing) in the time step t+1 which is illustrated inFIG.9(step S1005). The image data I(t+1) generation processing (step S1005) generates the image data I(t+1) from the image generator520by giving the control signal a(t) which is determined in step S1004to the modulation unit510.

Next, the network unit700saves a data pack D(t) that the statistical quantity r(t), Action History601of the time step t, the image data I(t), the image data I(t+1) and the stop signal K(t) are put together as one set of data in the replay memory720(step S1006).

Specifically, for example, when the time step t is t=0, the image data I(t=0) which is generated in step S1002and the image data I(t+1) which is generated in step S1005are contained in a data pack D(0).

When the time step t is t=1, the image data I(t+1) which is generated in step S1005and the image data I(t+2) which is generated in step S1005when t=0 are contained in a data pack D(1).

In regard to t=2 and subsequent times, at the time step t, image data I((t−1)+1) which is generated in step S1005and the image data I(t+1) which is generated in step S1005when t=t−1 are contained in the data pack D(t).

Then, when K(t)=0 (step S1007: Yes), Action History601of the time step t is retained and therefore the time step t is updated with t=t+1 and it returns to step S1003. On the other hand, when K(t)=1 (step S1007: No), it shifts to step S1008.

In the above formula (1), γ is a discount rate and in the embodiment 1, γ=0.998. A calculation process maxQ (I(j+1); 0) is a process of inputting image data I(j+1) into the Q network702in the network unit700and outputting the maximum value, that is, the maximum action value from within a one-dimensional array z(j) that the Q network702calculates by applying the learning parameter θ. “j+1” is the time step which comes after a time step t=j. For example, in a case where the one-dimensional array z(t) inFIG.11is the one-dimensional array z(j), the calculation process maxQ (I(j+1); θ) outputs the value “0.9” which corresponds to the value “103” in Element Number401as the maximum action value.

Next, the learning parameter update unit730executes learning calculations (step S1009). Specifically, for example, the gradient calculation unit731outputs a gradient g in regard to the learning parameter θ by using the following formula (2), adds the gradient g to the learning parameter θ and thereby updates the learning parameter θ.

The gradient g is the second term on the right side of the above formula (2). Thereby, the Q network702can generate the control signal a(t) which indicates such an action that the statistical quantity r(t), that is, the prediction accuracy of the value in Objective Variable302becomes high by the updated learning parameter θ that the statistical quantity r(t) which is the reward is considered.

In addition, in the learning calculation (step S1009), the learning parameter update unit730overwrites the updated learning parameter θ of the Q network702on a learning parameter θ* of the Q* network701. That is, the learning parameter θ* reaches the value which is the same as that of the updated learning parameter θ. Thereby, the Q* network701can specify the action by which it can be expected that the action value, that is, the prediction accuracy of the value in Objective Variable302will become high.

Next, when the statistical quantity r(t) falls below a target value which is input into the target value input region862and a calculation step m is less than a predetermined number of times M (step1010: Yes), the data processing apparatus100returns to step S1002in order to continue the analysis by the data processing apparatus100and updates the calculation step m with m=m+1. In the embodiment 1, it is defined that M=1,000,000 times.

On the other hand, in a case where the statistical quantity f(t) becomes more than the target value which is input into the target value input region862or the calculation step m reaches the predetermined number of times M (step S1010: No), the data processing apparatus100shifts to step S1011.

Next, the data processing apparatus100saves the data pack D(k) of a time step k that a statistical quantity r(k) becomes more than the target value in the data pack group Ds in the storage device202from the data memory500(step S1011). In a case where the data pack D(k) of the time step k that the statistical quantity r(k) becomes more than the target value is not present, it does not save the data pack D(k) in the storage device202. In addition, in the case where the data pack D(k) of the time step k that the statistical quantity r(k) becomes more than the target value is not present, the data processing apparatus100may save the data pack D(k) of the time step k that the statistical quantity r(k) is maximized in the data pack group Ds in the storage device202.

Next, the data processing apparatus100displays a result of analysis (step S1012). Specifically, for example, the data processing apparatus100loads the data pack D(k) which is saved in the storage device202, makes the modulation unit510execute numerical formula planning by using Action History601in the data pack D(k) and displays the planned numerical formula111in the numerical formula display region880.

In addition, the data processing apparatus100displays image data I(k) and the statistical quantity r(k) in the data pack D(k) in the image display region870. Incidentally, in a case where the data pack D(k) is not saved in the storage device202, the data processing apparatus100may display a result of analysis which indicates a failure in analysis. Thereby, a series of processes is terminated (step S1013).

According to the embodiment 1, a new variable which linearly correlates with the objective variable can be automatically obtained in the form which is called the numerical formula which is configured by the variable in Variable Group303and the operator in this way. Thereby, improvement of the prediction accuracy of the value in Objective Variable302can be promoted.

The embodiment 2 is an example of a case where Objective Variable302in the embodiment 1 is Categorical Variable. In the embodiment 2, in order to describe by focusing on different points between it and the embodiment 1, the same sign is assigned to the configuration which is the same as that in the embodiment 1 and description thereof is omitted.

Analysis Target DB104

FIG.12is an explanatory diagram illustrating one example of the analysis target DB104pertaining to the embodiment 2. An analysis target DB104has Objective Variable1202which is Categorial Variable as the field, in place of Objective Variable302. In Objective Variable1202, a binary variable which indicates whether a disease state of each patient is deteriorated is stored as a value. Values in Objective Variable1202are, “1” indicates deterioration and “0” indicates no deterioration.

Input/Output Screen Example

FIG.13is an explanatory diagram illustrating one example of an input/output screen which is displayed on the output device204of the data processing apparatus100pertaining to the embodiment 2. Since Objective Variable1202is Categorical Variable, on an input/output screen1300, in the statistical quantity input region861, for example, AUC (Area Under the Curve) can be selected as a statistical quantity r. In addition, target accuracy can be input into the target value input region862as a target value of the statistical quantity which is input into the statistical quantity input region861(inFIG.13, “0.90” by way of example).

The image data I which is generated by the image generator520is displayed in the image display region870. Since Objective Variable1202is Categorical Variable, the patient data group is classified into a disease state deterioration group1301that the value in Objective Variable1202is “1” (deterioration) and a disease state no-deterioration group1302that the value in Objective Valuable1202is “0” (no-deterioration) in the image data I.

Also in the embodiment 2, the numerical formula planning AI101repetitively plans the numerical formula111while referring to the image data I in this way and thereby the user can obtain the numerical formula111which defines a new variable which highly correlates with the objective variable in the linear form. That is, searching for a numerical formula for expressing the objective variable and determination of an optimum numerical formula become possible by using the reinforcement learning which is based on the deep learning model. Accordingly, the improvement of classification accuracy of the patient data group can be promoted according to the embodiment 2.

In addition, in the embodiment 1 and the embodiment 2, use of the patient information on the diabetic patients as the analysis target data is exemplified. However, the analysis target data is not limited to such biological information as above and, for example, it is also applicable to stocks. For example, the analysis target may be replaced with a brand of a company, the patient ID301may be replaced with ID of the brand and Variable Group303may be replaced with company information such as the net income, the number of employees, the sales figures and so forth of that company. In addition, in the case of the embodiment 1, Objective Variable302may be replaced with the stock price of the brand concerned. In addition, in the case of the embodiment 2, Objective Variable302(the quantitative variable) may be replaced with rising or falling of the brand concerned or purchase possibility/impossibility thereof.

From the above, according the embodiment 1 and the embodiment 2, the improvement of the analysis accuracy can be promoted.

In addition, the data processing apparatus100pertaining to the above embodiment 1 and second embodiment can be also configured as in the following (1) to (8).

(1) For example, the data processing apparatus100has the storage unit, the modulation unit510and the image generator520. The analysis target DB104which is one example of the storage unit stores the analysis target data group (the analysis target DB104) which has Variable Group303and Objective Variable302,1202per analysis target and the pattern table208stores Variable Group303and the element group105that each of one or more modulation method(s) of modulating the variable is set as Element402which indicates the action of the controller540.

When Element402which is selected from the element group105is acquired, the modulation unit510plans the numerical formula111as the modulation function of modulating the value of the variable in the acquired Element402on the basis of Action History601which is the history of the acquired Element402and modulates the value of the analysis-target-based variable on the basis of the numerical formula111.

The image generator520generates the image data I that the coordinate point (the patient data) is given to the coordinate space110which is defined by the X-axis and the Y-axis per analysis target, with the modulation result (the signal x′) from the modulation unit510and the value in Objective Variable302being set as the coordinate values of the X-axis and the Y-axis respectively.

(2) In addition, in the above (1), the data processing apparatus100has the controller540. The controller540generates the control signal a(t) which selects Element402from the element group105in the pattern table208on the basis of the action history601and controls the modulation unit510on the basis of the control signal a(t).

Thereby, the controller540can plan the numerical formula111on the basis of Action History601and can output the coordinate value (the patient data). The image generator520can plot the coordinate value (the patient data) on the coordinate space110and thereby can generate the image data I(t).

(3) In addition, in the above (2), when the image data I(t) is generated by the image generator520, the controller540may select Element402from the element group105and may freshly generate the control signal a(t).

Thereby, the image generator520can generate the image data I(t+1) that the action by the control signal a(t) is reflected and the controller540can take the next action in a state which is called the image data I(t+1) like this.

(4) In addition, in the above (3), the controller540may input the image data I(t+1) into the Q* network701which outputs the one-dimensional array z(t) which indicates the value in a case where the action which corresponds to each element in Element402in the pattern table208is taken in the state which is defined by the image data I(t+1) on the basis of the learning parameter θ*, may generate the control signal a(t) (an example: “*”) which corresponds to a specific value (an example: 0.9) in the one-dimensional array z(t) which indicates each value in Element402which is output from the Q* network701and may control the modulation unit510on the basis of the control signal a(t).

Thereby, the image generator520can generate the image data I(t+1) that the action of the specific value by the control signal a(t) is reflected and the controller540can take the next action in the state which is called the image data I(t+1) like this.

(5) In addition, in the above (4), the specific value may be also set as a value which indicates a maximum value in the one-dimensional array z(t) which indicates each value in Element402in the pattern table208.

Thereby, the image generator520can generate the image data I(t+1) that the action whose value by the control signal a(t) is maximum is reflected and the controller540can take the next action in the state which is called the image data I(t+1) like this.

(6) In addition, in the above (4), the data processing apparatus100has the replay memory720which saves the data pack group Ds and the evaluator530which evaluates the numerical formula111on the basis of the modulation result (the signal x′) and the value in Objective Variable302.

The controller540has the Q network702which outputs the one-dimensional array z(t) which indicates the value of each element in the pattern table208in a state which is defined by the image data on the basis of the learning parameter θ. The controller540may add the statistical quantity r(j) which is the result of evaluation of the numerical formula111by the evaluator530to the second output result of a case where the image data I(j+1) is input into the Q network702as the reward and thereby calculate the value of the action as a teacher signal y(j), and may update the learning parameter θ on the basis of the teacher signal y(j) and the first output result of a case where image data I(j) is input into the Q network702and may update the learning parameter θ* by the updated learning parameter θ.

Thereby, optimization of the Q* network701can be promoted and an element which is higher in value can be specified from the one-dimensional array z (t) that the Q* network701outputs. Accordingly, identification and regression analysis of the patient data group with a high accuracy by the devised numerical formula111become possible.

(7) In addition, in the above (1), the data processing apparatus100has the evaluator530and the output unit (the output device204or the communication IF205). The evaluator530evaluates the numerical formula111on the basis of the modulation result (the value that a numerical value in the variable group of the patient data is substituted into the planned numerical formula111) (the signal x′) and the value in Objective Variable302. In a case where the statistical quantity r(j) which is the evaluation result of the numerical formula111by the evaluator530is, for example, more than the target value which is input into the target value input region862, the output unit may output the image data I(j) to be displayable.

Thereby, the data processing apparatus100can narrow down the numerical formulae111that the user103needs.

Incidentally, the present invention is not limited to the aforementioned embodiments and various modified examples and equivalent configurations within the gist of the appended Claims are included. For example, the aforementioned embodiments are described in detail in order to intelligibly describe the present invention and the present invention is not necessarily limited to the one which is equipped with all the configurations which are described. In addition, part of a configuration of a certain embodiment may be replaced with a configuration of another embodiment. In addition, the configuration of another embodiment may be added to the configuration of the certain embodiment. In addition, another configuration may be added to, deleted from or replaced with part of one configuration of each embodiment.

In addition, each configuration, each function, each processing unit, each processing means and so forth which are aforementioned may be realized in hardware by designing some or all of them, for example, by an integrated circuit and doing something like that, and the processor interprets and executes the programs which realize the respective functions of them and thereby they may be realized in software.

Information on the program, the table, the file and so forth which realize respective functions can be stored into storage devices such as a memory, a hard disc, an SSD (Solid State Drive) and so forth or recording media such as an IC (Integrated Circuit) card, an SD card, a DVD (Digital Versatile Disc).

In addition, control lines and information lines which are thought to be necessary for description are shown and they do not necessarily show all the control lines and information lines which are necessary for implementation. In actuality, it may be thought that almost all the configurations are mutually connected.