Machine learning methods and programs

The machine learning method addresses bias and black box issues in discrete choice models by training a neural network to generate a human-interpretable utility function, improving interpretability and reducing bias in decision-making processes.

JP2026036844APending Publication Date: 2026-03-06FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024139662
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Existing discrete choice models face issues with bias in utility function design and reduced interpretability when manually designed, leading to a black box effect.

Method used

A machine learning method that trains a neural network to identify a utility function using training data, allowing for a human-interpretable representation by constructing a neural network with specific parameters corresponding to explanatory variables in the utility function.

Benefits of technology

The method outputs a utility function that is interpretable by humans, reducing bias and enhancing understanding of the decision-making process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026036844000001_ABST
    Figure 2026036844000001_ABST
Patent Text Reader

Abstract

Outputs a human-interpretable utility function. [Solution] A computer executes a process of training a neural network (3) having a structure in which at least some of the parameters of the neural network (3) correspond to the degrees and coefficients of explanatory variables x1 to x3 included in utility functions V1 to V3 of a discrete choice model, using training data including values ​​(211) of the explanatory variables x1 to x3 and selection results (212), and identifying the utility functions V1 to V3 in the trained neural network (3).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a machine learning method and a machine learning program. [Background technology]

[0002] There are known methods for simulating human behavior or considering measures by modeling human behavior based on data related to human behavior (choice behavior), such as purchasing data on the web, behavior tracking data, and survey data.

[0003] Discrete choice models are sometimes used to model human behavior. Discrete choice models are models with a utility function U i This is a method for probabilistically modeling human behavior based on the magnitude of the utility function U i is the deterministic term V i and the error term ε i The deterministic term V i is the explanatory variable x of choice i i Assuming a linear combination of V and its parameter β, i =β x i The error term ε i Assuming that follows a certain probability distribution, the probability that a person chooses option i is P i is expressed in the form of softmax.

[0004] Utility function U i is determined manually by trial and error using expert knowledge. For example, the utility function U i The shape of the i In this case, the designer estimates the value of the parameter β from data on human behavior.

[0005] In an analysis using a discrete choice model, the analyst must be able to understand the logic by which the prediction results are output by the discrete choice model; in other words, the utility function U i In some cases, it is important to have a high level of interpretability for the utility function U iIf is manually designed, the utility function U i is the explanatory variable x i It can be analytically expressed by a combination of the above, so it can be said to have high interpretability (human interpretability).

[0006] Also, the utility function U i A method is also known in which all or part of the above (for example, the linear utility part) is replaced by a neural network (NN). [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Publication No. 2023-176898 Summary of the Invention [Problem to be solved by the invention]

[0008] Utility function U i When a product is designed manually, the design involves the designer's thoughts, so the utility function U i The explanatory variable x i Or, the parameter β may contain bias.

[0009] Utility function U i To reduce the possibility of bias in the utility function U i However, in this method, the utility function U i Since the design may become a black box, interpretability may be lower than with manual design.

[0010] In one aspect, an object of the present invention is to output a utility function that is human-interpretable. [Means for solving the problem]

[0011] In one aspect, a machine learning method may include a computer executing the following processes: the process may train a neural network having a structure in which at least some of the parameters of the neural network correspond to the degrees and coefficients of explanatory variables included in a utility function of a discrete choice model, using training data including values ​​of the explanatory variables and selection results; and the process may identify the utility function in the trained neural network. [Effects of the Invention]

[0012] In one aspect, the present invention is capable of outputting a human-interpretable utility function. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 2 is a block diagram illustrating an example of the hardware configuration of a computer that realizes the functions of a server according to an embodiment. [Figure 2] FIG. 2 is a block diagram illustrating an example of a functional configuration of a server according to an embodiment. [Figure 3] FIG. 2 is a diagram illustrating an example of an NN model constructed by an NN construction unit. [Figure 4] FIG. 10 is a diagram illustrating an NN model according to a comparative example. [Figure 5] FIG. 10 is a diagram illustrating another example of an NN model according to an embodiment. [Figure 6] FIG. 10 is a diagram illustrating an example of numerical experiment data according to an application example of an embodiment. [Figure 7] FIG. 10 is a diagram illustrating an NN model according to an application example of an embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of visualization of selection probabilities. [Figure 9] 10 is a flowchart illustrating an example of an operation of a process for specifying a utility function in a server according to an embodiment. [Figure 10] 10 is a flowchart illustrating an example of an operation of an adjustment process in a server according to an embodiment. [Figure 11]10 is a flowchart illustrating an example of the operation of an inference process in a server according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments will be described with reference to the drawings. However, the embodiments shown below are merely examples, and are not intended to exclude various modifications or application of techniques not explicitly stated in the embodiments. For example, the present embodiment can be implemented with various modifications within the scope of the spirit thereof. Furthermore, each figure does not intend to include only the components shown in the figure, but may include other functions, etc.

[0015] [A] Hardware configuration example First, an example of the hardware (HW) configuration of the server 2 (see FIG. 2) according to one embodiment will be described. The server 2 according to one embodiment may be a virtual server (VM: Virtual Machine) or a physical server. The functions of the server 2 may be realized by one computer or by two or more computers. Furthermore, at least some of the functions of the server 2 may be realized using HW resources and network (NW) resources provided by a cloud environment.

[0016] 1 is a block diagram showing an example of the HW configuration of a computer 1 that realizes the functions of a server 2 according to an embodiment. When multiple computers are used as HW resources that realize the functions of the server 2, each computer may have the HW configuration shown in FIG.

[0017] As illustrated in FIG. 1, the computer 1 may include, as its HW configuration, a processor 1a, an accelerator 1b, a memory 1c, a storage unit 1d, an IF (Interface) unit 1e, an IO (Input / Output) unit 1f, and a reading unit 1g.

[0018] The processor 1a is an example of a processing unit that performs various controls and calculations. The processor 1a may be connected to each block in the computer 1 via a bus 1j so that they can communicate with each other. The processor 1a may be a multiprocessor including multiple processors, a multi-core processor having multiple processor cores, or a configuration having multiple multi-core processors.

[0019] The processor 1a may be, for example, an integrated circuit (IC) such as a CPU, MPU, APU, DSP, ASIC, or FPGA. Note that the processor 1a may be a combination of two or more of these integrated circuits. CPU is an abbreviation for Central Processing Unit, MPU is an abbreviation for Micro Processing Unit, APU is an abbreviation for Accelerated Processing Unit, DSP is an abbreviation for Digital Signal Processor, ASIC is an abbreviation for Application Specific IC, and FPGA is an abbreviation for Field-Programmable Gate Array.

[0020] The accelerator 1b is a processing device that executes AI (Artificial Intelligence) tasks such as machine learning processing and inference processing using a machine learning model, and may be referred to as an AI accelerator. The accelerator 1b may also be configured as a graphics processing device (graphics accelerator) that controls screen display for the IO unit 1f (e.g., an output device such as a monitor). For example, the accelerator 1b may be mounted on the computer 1, or may be connected to the computer 1 via a bus 1j or various interconnects, or may be both. Examples of the accelerator 1b include various processing devices, such as integrated circuits (ICs) such as a GPU (Graphics Processing Unit), APU, DSP, ASIC, or FPGA.

[0021] The memory 1c stores various types of data, programs, and other information. Examples of the memory 1c include one or both of a volatile memory such as a dynamic random access memory (DRAM) and a non-volatile memory such as a persistent memory (PM).

[0022] The storage unit 1d stores various types of data, programs, and other information. Examples of the storage unit 1d include various storage devices such as a magnetic disk device such as a hard disk drive (HDD), a semiconductor drive device such as a solid state drive (SSD), and a nonvolatile memory. Examples of nonvolatile memory include a flash memory, a storage class memory (SCM), and a read-only memory (ROM).

[0023] The storage unit 1d may store a program 1h (machine learning program) that implements all or part of the various functions of the computer 1. For example, the processor 1a of the computer 1 can implement the function of a control unit 20 (see FIG. 2), which will be described later, by expanding the program 1h stored in the storage unit 1d into the memory 1c and executing it.

[0024] The IF unit 1e is an example of a communication IF that controls connections and communications between the computer 1 and other computers. For example, the IF unit 1e may include an adapter that complies with electrical communications (e.g., LAN (Local Area Network)) such as Ethernet (registered trademark) or optical communications such as FC (Fibre Channel). The adapter may support either or both wireless and wired communication methods. The program 1h may be downloaded to the computer 1 from a network via the communication IF and stored in the storage unit 1d.

[0025] The IO unit 1f may include one or both of an input device and an output device. Examples of input devices include a keyboard and a mouse. Examples of output devices include a monitor, a projector, a printer, and the like. The IO unit 1f may also include a touch panel or the like that combines an input device and a display device. The output device may be connected to the accelerator 1b.

[0026] The reading unit 1g is an example of a reader that reads data and program information recorded on the recording medium 1i. The reading unit 1g may include a connection terminal or device to which the recording medium 1i can be connected or inserted. Examples of the reading unit 1g include an adapter that complies with USB (Universal Serial Bus) or the like, a drive device that accesses a recording disk, and a card reader that accesses a flash memory such as an SD card. Note that the recording medium 1i may store a program 1h, and the reading unit 1g may read the program 1h from the recording medium 1i and store it in the memory unit 1d.

[0027] Examples of the recording medium 1i include non-transitory computer-readable recording media such as magnetic / optical disks and flash memories. Examples of magnetic / optical disks include flexible disks, CDs (Compact Discs), DVDs (Digital Versatile Discs), Blu-ray Discs, and HVDs (Holographic Versatile Discs). Examples of flash memories include semiconductor memories such as USB memories and SD cards.

[0028] The above-described HW configuration of the computer 1 is an example. Therefore, the HW in the computer 1 may be increased or decreased (for example, adding or deleting any block), divided, integrated in any combination, or the HW may be added or deleted as needed.

[0029] [B] Functional configuration example 2 is a block diagram showing an example of the functional configuration of the server 2 as an example of an embodiment. The server 2 is an example of a computer or information processing device that outputs a human-interpretable utility function.

[0030] 2, the server 2 may illustratively include a memory unit 21, an acquisition unit 22, an NN construction unit 23, a training unit 24, an adjustment unit 25, and an output unit 26. The functional blocks 22 to 26 included in the server 2 are an example of a control unit 20. The functions of the control unit 20 may be realized, for example, by the processor 1a of the computer 1 shown in FIG. 1 executing a program 1h deployed in the memory 1c.

[0031] The memory unit 21 may illustratively include a storage area capable of storing the training data set 21a, the NN model 3, and the utility function 30. The storage area of ​​the memory unit 21 may be realized by, for example, one or both of the storage areas of the memory 1c and the storage unit 1d of the computer 1 shown in FIG.

[0032] The training data set 21a may include, for example, data related to human behavior (choice behavior). The NN model 3 is a machine learning model that expresses a predetermined utility function, and may be used, for example, as a discrete choice model. The NN model 3 according to one embodiment may have a structure that allows the utility function to be expressed in a human-interpretable form. The utility function 30 is a human-interpretable representation of the utility function included in the NN model 3. Details of the information stored in the memory unit 21 will be described later.

[0033] The server 2 (control unit 20) may, for example, perform construction processing (design) of the NN model 3 based on the training dataset 21a, machine learning processing (training) of the NN model 3 using the training dataset 21a, and output processing of the utility function 30 included in the trained NN model 3.

[0034] The server 2 (control unit 20) may execute an inference process using the trained NN model 3, and in this case, inference data and inference results may be stored in the memory unit 21. In addition, the server 2 (control unit 20) may be provided with the adjustment unit 25 as an option (additional element) or may be omitted.

[0035] The acquisition unit 22 may, for example, receive the training data set 21a from another computer (not shown) via the IF unit 1e and a network, and store it in a storage area.

[0036] The NN construction unit 23 executes a construction process of the NN model 3 based on the training data set 21a. The construction process of the NN model 3 may include, for example, determining the width of each layer and each function included in the NN model 3. The width may be, for example, the number of nodes in a layer, the number of inputs and outputs of each function, etc.

[0037] The training unit 24 uses the training dataset 21a to perform machine learning processing on the NN model 3. Examples of the machine learning processing method include various known methods such as gradient descent. For example, the training unit 24 may update various parameters of the NN model 3 so as to minimize a loss function L based on a result output from the NN model 3 in response to input of input data included in the training dataset 21a and correct answer data, which is an example of a selection result included in the training dataset 21a.

[0038] The adjustment unit 25 adjusts parameters included in the trained NN model 3. For example, the adjustment unit 25 may perform re-machine learning processing (retraining, fine-tuning) of the trained NN model 3 in order to further improve the interpretability of the utility function 30.

[0039] The output unit 26 outputs output data. The output data may include, for example, at least one type of information from the NN model 3, the utility function 30, and an inference result (when the control unit 20 executes an inference process). The output data may be output by, for example, displaying the contents of the output data on a display device such as the IO unit 1f, storing the output data in the memory unit 21 or another computer, or transmitting the output data to another computer via the IF unit 1e and a network.

[0040] [C] Explanation of the NN model Next, an example of the NN model 3 according to an embodiment will be described. As described above, the NN model 3 expresses a predetermined utility function. Hereinafter, an example will be described in which the predetermined utility function is related to the selection of a transportation means. The utility function U i is expressed by the following formula (1). U i = V i + ε i (1)

[0041] In the above formula (1), i is a variable indicating one of the options. If the number of all options is N (N is an integer equal to or greater than 2), then 1≦i≦N. When N=3, option i may be, for example, "option i=1: car," "option i=2: train," "option i=3: bus," etc. V i is a deterministic term that indicates how attractive option i is to a person (the utility of option i). i is the error term, and the deterministic term V i In one embodiment, the error term ε i is assumed to follow a given probability distribution.

[0042] Deterministic term V i is expressed by the following formula (2). V i = β x i (2)

[0043] In the above formula (2), β is the weight. iis an explanatory variable, which is a factor that determines utility, such as factors related to travel by transportation. i There can be M (M is an integer of 1 or more) types of explanatory variables x i Let m (1≦m≦M) be the variable that indicates the explanatory variable x im It can also be written as: Explanatory variable x i If there are two or more (M≧2), the deterministic term V i may be represented by the following formula (2A): V i = β1 x i1 + … + β M x iM (2A)

[0044] In the above formula (2A), β1 to β M Each of these is an explanatory variable x i1 ~x iM The weights correspond to the explanatory variables x iM For example, if M=3, the explanatory variable x i1 : time”, “explanatory variable x i2 : Cost (fee)”, “Explanatory variable x i3 : distance”, etc.

[0045] error term ε i Assuming that follows a given probability distribution, a person can choose a utility function U i The probability P of choosing option i in the selection behavior according to i is in the form of softmax as shown in the following formula (3): In the following formula (3), j indicates all options including option i.

number

[0046] error term ε i Assuming that follows a predetermined probability distribution, as shown in the above formula (3), the selection probability P i is the utility function U i The deterministic term V included in i and the error term ε i The deterministic term Vi In other words, the selection probability P i In the calculation of i Therefore, in the following explanation, the deterministic term V i Let us use the utility function U i (determined term V i is regarded as the "utility function"), and the utility function V i It will be written as:

[0047] 3 is a diagram showing an example of the NN model 3 constructed by the NN construction unit 23. In FIG. 3, the NN model 3 constructed by the NN construction unit 23, input data 211, and correct answer data 212 are illustrated.

[0048] The input data 211 is one or more (M) explanatory variables x im In the example shown in FIG. 3, the explanatory variable x im In the example, i is omitted, and the explanatory variable x m It is written as follows.

[0049] The correct answer data 212 is the explanatory variable x i1 ~x iM is given, a person will select option i out of N options, and is an example of a selection result. The correct answer data 212 may be one-hot data in which only one of the values ​​1 to N corresponding to option i is "1" and all other values ​​are "0", for example.

[0050] The input data 211 and the correct answer data 212 are examples of training data. The training data set 21a may include a plurality of training data. The explanatory variable x im The number M of options i in the correct answer data 212 and the number N of options i in the correct answer data 212 may be fixed values ​​among the multiple training data included in the training data set 21a. In FIG. 3, an example where M=3 and N=3 is shown.

[0051] As illustrated in FIG. 3, the NN model 3 may include a logarithm function unit 31, a first fully connected layer 32, an exponential function unit 33, a second fully connected layer 34, and a selection probability function unit 35.

[0052] The logarithm function part 31 is the explanatory variable x im is the functional part of the logarithmic function (denoted as "ln(·)" in Figure 3) that converts the explanatory variable x im For example, the logarithm function unit 31 may have the same number of input / output units as the number M of input explanatory variables x im Each of these is taken as the logarithm log(x im ) and outputs it. In one embodiment, the logarithm function unit 31 converts the explanatory variable x im is the antilogarithm of the natural logarithm ln with Napier's constant (Euler's constant) e as the base, and the logarithm ln(x im )

[0053] The first fully connected layer 32 is a layer to which the output from the logarithmic function unit 31 is input. The first fully connected layer 32 fully connects M nodes 32a on the input side to X (X is an integer equal to or greater than 2) nodes 32c on the output side via edges 32b.

[0054] The number X of nodes 32c is a value related to the expressive power of the NN model 3, and defines the width of the first fully connected layer 32 and the second fully connected layer 34. The larger the value of X, the smaller the utility function V i The expressive power of M can be increased (improved). The value of X may be adjusted (tuned) by the NN constructor 23. Although three (X) nodes 32c are illustrated in FIG. 3, the value of X may be greater than the value of M (4 or more in the example of FIG. 3).

[0055] The number of edges 32b may be, for example, the product (M×X) of the number of nodes 32a and the number X of nodes 32c, or less. Each edge 32b is assigned a weight w by which the value from the node 32a connected to the edge 32b is multiplied. The weight w of the edge 32b in the first fully connected layer 32 is an example of a parameter (first parameter) of the NN model 3 (NN). At each node 32c, the product of the value of each node 32a connected to that node 32c and the weight w of the edge 32b is added across M nodes 32a.

[0056] In FIG. 3, the weights w assigned to the three (M) edges 32b connecting each of the three (M) nodes 32a to the first (top) node 32c are denoted by w 111 , w 121 , w 131 The first (leftmost) subscript (number) of the weight w indicates the first fully connected layer 32 (value: 1) or the second fully connected layer 34 (value: 2). The second (center) subscript indicates the node 32a (value: 1 to M) on the input side of the edge 32b, and the third (rightmost) subscript indicates the node 32c (value: 1 to X) on the output side of the edge 32b. Although not shown in the figure, each of the second and subsequent nodes 32c is similarly connected to each of the M nodes 32a by the edge 32b.

[0057] Here, the value of the node 32a on the input side of the first fully connected layer 32 is logarithm ln(x im ) Due to the properties of logarithms, the logarithm ln(x im ) and the weight w is the logarithm ln(x im w ) Furthermore, addition or subtraction between logarithms with the same base becomes multiplication or division between antilogarithms (see symbol A1 in FIG. 3).

[0058] Therefore, for example, the value of the first node 32c on the output side of the first fully connected layer 32 is expressed as ln(x1 w111 x2 w121 x3 w131 ) in the output node 32c of the first fully connected layer 32. The weight w is the explanatory variable xim In the following description, for convenience, when indicating the value of any node 32c of the first fully connected layer 32, it is expressed as ln(x i1 w1 … x iM wM ) is written as

[0059] The exponential function unit 33 is a functional unit of an exponential function (denoted as "exp(·)" in FIG. 3) that converts the output of the first fully connected layer 32 into an exponent, and may have the same number of input / output units as the number X of nodes 32c on the output side of the first fully connected layer 32. For example, the exponential function unit 33 converts each of the X values ​​input from the first fully connected layer 32 into an exponential function and outputs the converted value. In one embodiment, the exponential function unit 33 converts the logarithm ln(x i1 w1 … x iM wM ) is the exponent of the exponential function with Napier's constant (Euler's constant) e as the base, and e^ln(x i1 w1 … x iM wM )

[0060] Here, if the logarithmic function and the exponential function have a common base (for example, if they both have e), then e^ln(x i1 w1 … x iM wM ) is the real part of the logarithm, x i1 w1 … x iM wM That is, the output from the exponential function unit 33 is a function of the weight w of the explanatory variable x im expressed as the power (exponent) of x i1 w1 … x iM wM This becomes:

[0061] The second fully connected layer 34 is a layer to which the output from the exponential function unit 33 is input. The second fully connected layer 34 fully connects X+1 nodes 34a on the input side with N nodes 34c on the output side via edges 34b. Of the X+1 nodes 34a, X nodes 34a are each input with the output from the exponential function unit 33. For example, the value of the first node 34a on the input side of the second fully connected layer 34 is x1 w111 x2 w121 x3 w131 Among the X+1 nodes 34a, one bias node 34a is set with a value for bias b. The bias b is determined by the explanatory variable x im The bias node 34a may have a value of "1", for example.

[0062] The number of edges 34b may be, for example, the product of the number X+1 of nodes 34a and the number N of nodes 34c [(X+1)×N], or less. Each edge 34b is assigned a weight w or bias b, which is multiplied by the value from the node 34a connected to the edge 34b. The weight w and bias b of the edge 34b in the second fully connected layer 34 are an example of a parameter (second parameter) of the NN model 3 (NN). In each node 34c, the product of the value of each of the X+1 nodes 34a connected to the node 34c and the weight w or bias b of the edge 34b is added across the X+1 nodes 34a (see symbol A4).

[0063] In FIG. 3, the weights w assigned to the X edges 34b connecting each of the X nodes 34a to the first node 34c (top row) are denoted by w 211 , w 221 , w 231The first (leftmost) subscript (number) of the weight w indicates the first fully connected layer 32 (value: 1) or the second fully connected layer 34 (value: 2). The second (center) subscript indicates the node 34a (value: 1 to X) on the input side of the edge 34b, and the third (rightmost) subscript indicates the node 34c (value: 1 to N) on the output side of the edge 34b. Although not shown in the figure, each of the second and subsequent nodes 34c is similarly connected to each of the X+1 nodes 34a by the edge 34b.

[0064] In addition, the bias b applied to one edge 34b connecting one bias node 34a and the first node 34c is expressed as b 21 Of the subscripts (numbers) of bias b, the first (leftmost) subscript indicates the second fully connected layer 34 (value: 2), and the second (rightmost) subscript indicates the node 34c (value: 1 to N) on the output side of edge 34b.

[0065] The N nodes 34c are connected to a utility function V (V1 to V N For example, the utility function V1 of the first node 34c on the output side of the second fully connected layer 34 is expressed by the following equation (4) (see symbol A5 at the bottom of the page in FIG. 3). V1= w 211 x1 w111 x2 w121 x3 w131 + w 221 x1 w112 x2 w122 x3 w132 + w 231 x1 w113 x2 w123 x3 w133 + b 21 (4)

[0066] In the above formula (4), the weight w of the edge 32b in the first fully connected layer 32 is 111 , w 121 , w 131 , w 112 , w 122 , w132 , w 113 , w 123 , w 133 is the explanatory variable x included in the utility function V1 im The weight w of the edge 34b in the second fully connected layer 34 is expressed as the degree (exponent) of 211 , w 221 , w 231 is the explanatory variable x included in the utility function V1 im Furthermore, the bias b of the edge 34b in the second fully connected layer 34 is expressed as a coefficient of 21 is the explanatory variable x included in the utility function V1 im is expressed as a constant term in

[0067] In this way, the second fully connected layer 34 w1 x2 w2 The utility function V can be expressed at the output node 32c in a form (combination) of higher-order terms and interaction terms as shown above. The utility function V can also be expressed using X "components," the same number as the number of nodes 32c and 34a. By increasing the number of components, the expressive power of the utility function V can be improved.

[0068] The selection probability function unit 35 calculates the selection probability P i The selection probability function unit 35 may have the same number of input / output units as the number N of nodes 34c on the output side of the second fully connected layer 34. For example, as indicated by reference symbol A6, the selection probability function unit 35 calculates a selection probability P i Calculate.

number

[0069] The N selection probabilities P1 to P2 (three in the example of FIG. 3) output from the selection probability function unit 35 are N is an example of output data 4.

[0070] As described above, the NN construction unit 23 calculates the explanatory variable x in the input data 211 included in the training data set 21a. m and the number N of options i in the correct answer data 212. For example, the NN construction unit 23 may determine whether at least some of the parameters of the NN model 3 are based on the utility function V i Explanatory variables x included in i The NN construction unit 23 also constructs the NN model 3 so as to have a structure corresponding to the order and coefficients of the remaining parameters of the NN model 3, for example, the explanatory variable x i The NN model 3 may be configured to have a structure corresponding to the constant term of the above. In this way, the NN construction unit 23 can construct the NN model 3 using a fully connected layer that performs linear transformation, and it is possible to omit from within the NN model 3 the configuration of an activation function or the like that performs nonlinear transformation.

[0071] Therefore, the NN model 3 can express the utility function 30 using a simple mathematical formula that combines the input explanatory variables x (for example, time, cost (fee), distance, etc.). In this way, the NN construction unit 23 can construct the NN model 3 having a network structure that can express the utility function 30 in a form that can be interpreted by humans (high human interpretability).

[0072] [D] Explanation of machine learning process of NN model Next, an example of the machine learning process of the NN model 3 will be described.

[0073] 3, the training unit 24 inputs input data 211 included in the training data set 21a to the NN model 3 constructed by the NN construction unit 23. The training unit 24 calculates the selection probability P i and the supervised data 212 included in the training data set 21a, the parameters of the NN model 3 are updated so as to minimize the loss function L based on the supervised data 212 included in the training data set 21a.

[0074] FIG. 3 shows an example in which the training unit 24 uses cross-entropy loss as an example of the loss function L (see symbol A7). For example, the training unit 24 updates the weights w and bias b of the NN model 3 so that the loss function L shown in the following formula (6) is minimized, thereby obtaining a utility function V that explains the data. i can be estimated by gradient descent.

number

[0075] In the above formula (6), y k is the selection probability ("0" or "1": one chance) of the option k (1≦k≦N) in the correct answer data 212. k is the selection probability P of option k included in output data 4 k is.

[0076] In the machine learning process, the training unit 24 may use the loss function L shown in the following formula (6A) instead of the loss function L shown in the above formula (6).

number

[0077] In the above formula (6A), +λΣw 2 is a weight decay term, which is an example of a regularization term. The regularization term is w 2 Therefore, when the value of the weight w is large, the loss function L becomes large. Therefore, by training the NN model 3 using the above equation (6A) including the regularization term, the utility function V i The parameters of the utility function V are set to values ​​that make the weight w smaller. i can be updated to a value that makes the formula for

[0078] 4 is a diagram illustrating an NN model 100 according to a comparative example. In the comparative example, it is assumed that x1 and x2 are explanatory variables that are likely to affect the utility functions V1 and V2 of certain options i=1 and 2, respectively.

[0079] The NN model 100 shown in Fig. 4 repeatedly applies transformations to explanatory variables x1 and x2, which serve as input data, using a fully connected layer (linearly connected layer) 110 and an activation function 120 (denoted as "σ" in Fig. 4). Examples of the activation function 120 include tanh (hyperbolic tangent function) and Relu (rectified linear unit).

[0080] In the machine learning process of the NN model 100, the utility functions V1 and V2 resulting from repeated complex calculations are trained to match the training data, thereby determining the weights w and bias b of the NN model 100. However, with the NN model 100, it is difficult for a person to interpret the utility functions V1 and V2 obtained by training. One reason for this is that the NN model 100 includes a nonlinear transformation using the activation function 120.

[0081] Fig. 5 is a diagram showing another example of the NN model 3 according to an embodiment. For simplicity, Fig. 5 shows an example where M=2 and N=2.

[0082] As shown in FIG. 5, in the first fully connected layer 32, the weight of the edge 32b connecting the first (topmost) node 32a and the first (topmost) node 32c is w 111 The weight of the edge 32b connecting the first node 32a and the second node 32c (at the bottom of the page) is w 112 The weight of the edge 32b connecting the second node 32a (bottom row) and the first node 32c is w 121 and the weight of the edge 32b connecting the second node 32a and the second node 32c is w 122 is.

[0083] The value of the first node 32a in the first fully connected layer 32 is ln(x1), and the value of the second node 32a is ln(x2). Therefore, as shown by the symbol B1, the value of the first node 32c in the first fully connected layer 32 is ln(x1 w111 x2w121 ) As shown by the symbol B2, the value of the second node 32c of the first fully connected layer 32 is ln(x1 w112 x2 w122 )

[0084] The output of node 32c of the first fully connected layer 32 is input to the exponential function unit 33 and converted into an exponent. Therefore, as shown by reference symbol B3, the value of the first node 34a of the second fully connected layer 34 is x1 w111 x2 w121 Furthermore, as indicated by reference symbol B4, the value of the second node 34a of the second fully connected layer 34 is x1 w112 x2 w122 This becomes:

[0085] As shown in FIG. 5, in the second fully connected layer 34, the weight of the edge 34b connecting the first node 34a (top row) and the first node 34c (top row) is w 211 The weight of the edge 34b connecting the first node 34a and the second node 34c (in the middle of the page) is w 212 The weight of the edge 34b connecting the second node 34a (middle of the page) and the first node 34c is w 221 and the weight of the edge 34b connecting the second node 34a and the second node 34c is w 222 The bias of the edge 34b connecting the third node 34a (bottom row) and the first node 34c is b 21 and the bias of the edge 34b connecting the third node 34a and the second node 34c is b 22 is.

[0086] The value of the node 34c of the second fully connected layer 34 is expressed by a utility function V1 shown in the following equation (7) and a utility function V2 shown in the following equation (8) (see symbol B5). V1= w 211 x1 w111 x2 w121 + w 221 x1 w112 x2 w122 + b 21 (7) V2= w212 x1 w111 x2 w121 + w 222 x1 w112 x2 w122 + b 22 (8)

[0087] The output unit 26 may specify the utility function 30 and output the specified utility function 30 as output data. The utility function 30 may be, for example, utility functions V1 to V N The data may be in a human-interpretable format, such as a mathematical formula expressing each of the above, data (graph) visualizing (for example, graphing) the value ranges expressed by the mathematical formula, or a combination thereof.

[0088] The output unit 26 may specify the utility function 30 (in the form of a mathematical expression) as shown in the above formulas (7) and (8) based on, for example, the weights w and biases b extracted from the NN model 3 and the structure of the NN model 3 obtained from the number M of explanatory variables x, the number N of options i, and the number X of intermediate nodes. The intermediate node is the node 32c of the first fully connected layer 32 or the node 34a of the second fully connected layer 34.

[0089] Alternatively, the output unit 26 may specify the weights w and bias b extracted from the NN model 3 and the structure of the NN model 3 as the utility function 30. In this case, the computer that acquires the output data may generate the utility function 30 in a format that is easily interpretable by humans, such as a mathematical formula or graph of the utility function 30, based on the weights w, bias b, and the structure of the NN model 3. Even in this case, the utility function 30 expressed by the weights w and bias b and the structure of the NN model 3 output from the output unit 26 can be at least converted into a mathematical formula, and therefore can be said to be human-interpretable information.

[0090] Here, for example, it is assumed that the training data set 21a is the result of selection by a discrete choice model having a utility function V1 shown in the following equation (9) and a utility function V2 shown in the following equation (10). V1 = 1.0x1 + 2.0x2(9) V2= 2.0x1+ 1.0x2+ 0.5 (10)

[0091] For example, it is assumed that as a result of the machine learning process by the training unit 24, the weights w and biases b of the NN model 3 are as follows: w 211 = 1.0, w 221 = 2.0, w 212 = 2.0, w 222 = 1.0, w 111 = 1.0, w 121 = 0.0, w 112 = 0.0, w 122 = 1.0, b 21 = 0.0, b 22 = 0.5

[0092] When these parameters are substituted into the above equations (7) and (8), the utility functions V1 and V2 become as shown in the following equations (11) and (12), respectively, which are identical to the above equations (9) and (10), which are the utility functions V1 and V2 that can be said to be the generators of the training dataset 21a. V1= 1.0x1 1.0 x2 0.0 + 2.0x1 0.0 x2 1.0 + 0.0 = 1.0x1+ 2.0x2(11) V2= 2.0x1 1.0 x2 0.0 + 1.0x1 0.0 x2 1.0 + 0.5 = 2.0x1+ 1.0x2+ 0.5 (12)

[0093] As another example, assume that the training data set 21a is the result of selection by a discrete choice model having a utility function V1 shown in the following equation (13) and a utility function V2 shown in the following equation (14). V1= 1.0x1 2 (13) V2= 1.0x2 2 + 1.0 (14)

[0094] For example, it is assumed that as a result of the machine learning process by the training unit 24, the weights w and biases b of the NN model 3 are as follows: w 211 = 1.0, w 221 = 0.0, w 212 = 0.0, w 222 = 1.0, w 111 = 2.0, w 121 = 0.0, w 112 = 0.0, w 122 = 2.0, b 21 = 0.0, b 22 = 1.0

[0095] When these parameters are substituted into the above equations (7) and (8), the utility functions V1 and V2 become as shown in the following equations (15) and (16), respectively, which are identical to the above equations (13) and (14), which are the utility functions V1 and V2 that can be said to be the generators of the training data set 21a. V1= 1.0x1 2.0 x2 0.0 + 0.0x1 0.0 x2 2.0 + 0.0 = 1.0x1 2 (15) V2= 0.0x1 2.0 x2 0.0 + 1.0x1 0.0 x2 2.0 + 1.0 = 1.0x2 2 + 1.0 (16)

[0096] From the above formula (15), it can be seen that the explanatory variable x1 has a strong influence on the utility function V1, and from the above formula (16), it can be seen that the explanatory variable x2 has a strong influence on the utility function V2.

[0097] In this way, the NN model 3 according to one embodiment has a structure in which parameters (e.g., weight w and bias b) correspond to a mathematical formula that expresses the utility function V in an interpretable form. In other words, unlike the NN model 100 shown in Fig. 4, the NN model 3 has a structure in which the utility function V obtained as a result of training is in a form that can be interpreted by humans and can express various combinations of variables.

[0098] [E] Explanation of the parameter adjustment process for the NN model Next, an example of the parameter adjustment process performed by the adjustment unit 25 will be described.

[0099] For example, it is assumed that as a result of the machine learning process by the training unit 24, the weights w and biases b of the NN model 3 are as follows: w 211 = 1.65, w 221 = 2.12, w 212 = 0.84, w 222 = 3.32, w 111 = 1.11, w 121 = 1.85, w 112 = 2.01, w 122 = 0.24, b 21 = 3.40, b 22 = 0.25

[0100] Substituting these parameters into the above equations (7) and (8), the utility functions V1 and V2 are given by the following equations (17) and (18), respectively. V1= 1.65x1 1.11 x2 1.85 + 2.12x1 2.01 x2 0.24 + 3.40 (17) V2= 0.84x1 1.11 x2 1.85 + 3.32x1 2.01 x2 0.24 + 0.25 (18)

[0101] In the above equations (17) and (18), all weights w and biases b of the NN model 3 are expressed as real numbers with decimal points. When the degrees of the explanatory variables x1 and x2 are real numbers, the interpretability of the utility function V may be reduced compared to when the degrees are integers.

[0102] Therefore, the adjustment unit 25 may perform rounding of the first parameter corresponding to the degree of the explanatory variable x included in the identified utility function 30, and adjust the second parameter corresponding to the coefficient of the explanatory variable x while keeping the rounded first parameter fixed. i can be made into a simpler form (function form), improving interpretability.

[0103] The adjustment unit 25 adjusts the utility function V obtained by training by the training unit 24, for example. i The weight w of the edge 32b of the first fully connected layer 32 in 111 , w 121 , w 112 , w 122 For example, the adjustment unit 25 may simplify the weight w of the edge 32b of the first fully connected layer 32 by rounding. 111 , w 121 , w 112 , w 122 may be converted into integers by a method (operation) such as rounding off, as shown below. Converting into integers by a method such as rounding off is an example of fraction processing. w 111 = 1.00, w 121 = 2.00, w 112 = 2.00, w 122 = 0.00

[0104] Furthermore, the adjustment unit 25 adjusts the weight w of the edge 34b of the second fully connected layer 34 while fixing the value of the weight w of the edge 32b of the first fully connected layer 32 to a simplified (e.g., integer) value. 211 , w 221 , w 212 , w 222 and bias b 21 , b 22may be adjusted (fine-tuned). An example of an adjustment method is retraining the NN model 3. Various known methods may be used as the retraining method.

[0105] By adjusting the parameters by the adjusting unit 25 described above, the weight w and bias b of the NN model 3 become, for example, as follows: w 211 = 1.72, w 221 = 1.93, w 212 = 0.87, w 222 = 3.61, w 111 = 1.00, w 121 = 2.00, w 112 = 2.00, w 122 = 0.00, b 21 = 3.23, b 22 = 0.36

[0106] Substituting these parameters into the above equations (7) and (8), the utility functions V1 and V2 become simple formulas in which the degrees of the explanatory variables x1 and x2 are integers, as shown in the following equations (19) and (20), respectively. This allows for greater interpretability of the utility functions V1 and V2. V1= 1.72x1 1.00 x2 2.00 + 1.93x1 2.00 x2 0.00 + 3.23 = 1.72x1x2 2 + 1.93x1 2 + 3.23 (19) V2= 0.87x1 1.00 x2 2.00 + 3.61x1 2.00 x2 0.00 + 0.36 = 0.87x1x2 2 + 3.61x1 2 + 0.36 (20)

[0107] [F] Application example Next, an application example of the method according to an embodiment will be described. In the application example, assuming the application of the method according to an embodiment to a real environment, the results of a numerical experiment performed by generating selection data in which the utility function V is unknown will be described.

[0108] Fig. 6 is a diagram showing an example of numerical experiment data according to an application example of an embodiment. Fig. 6 shows, as numerical experiment data according to the application example, the value ranges of explanatory variables x1 and x2 and a selection result label C. Choice C1 (solid line frame), choice C2 (dash-dotted line frame), choice C3 (dashed line frame), and choice C4 (dotted line frame) respectively indicate four options included in the selection result label C.

[0109] The explanatory variables x1 and x2 are an example of input data 211, and have a value range of 0.0 to 10.0. The selection result label C is an example of correct answer data 212. The selection result label C indicates different choices from choices C1 to C4 depending on the values ​​of the explanatory variables x1 and x2. For example, if 5.0≦x1≦10.0 and 5.0≦x2≦10.0, then choice C1 is selected; if 0.0≦x1<5.0 and 5.0≦x2≦10.0, then choice C2 is selected; if 0.0≦x1<5.0 and 0.0≦x2<5.0, then choice C3 is selected; and if 5.0≦x1≦10.0 and 0.0≦x2<5.0, then choice C4 is selected.

[0110] In the application example, the utility function V was specified based on the explanatory variables x1 and x2 and the selection result labels C (C1 to C4). The data used in the experiment was generated using random numbers, and the number of training data in the training data set 21a was 10,000, and the number of test data was 1,000.

[0111] 7 is a diagram illustrating an NN model 3 according to an application example of an embodiment. In the application example, the number X of intermediate nodes is set to 10. The input data 211 is explanatory variables x1 and x2, and the selection probability P i The number N (the number of correct answer data 212) is four, which are the choices C1 to C4.

[0112] In addition, the first fully connected layer 32 had no bias b, and the second fully connected layer 34 had bias b. Furthermore, the optimizer was Adam, the Weight Decay parameter was 0.01, and the loss function L was tolerance entropy loss. In the application example, the machine learning process was stopped at Epoch number 100, when sufficient convergence of learning (training) was confirmed. In the application example, the result of fine-tuning by the adjustment unit 25 was the final NN model 3.

[0113] As the estimation (identification) results of the NN model 3 for the numerical experiment data, utility functions V1 to V4 shown in the following equations (21) to (24), respectively, were obtained. V1= +0.2305x1 2 x2 - 0.1142x2 2 -1.051x1 2 -0.8550x2-0.6885 (21) V2= -0.1070x1 2 x2+0.4320x2 2 -0.02816x1 2 -0.1921x2-0.8550 (22) V3= -0.1973x1 2 x2 - 0.07701x2 2 +0.4128x1 2 +1.557x2+3.094 (23) V4= -0.1023x1 2 x2 - 0.1590x2 2 +0.5902x1 2 -0.4842x2-1.551 (24)

[0114] Thus, numerical experiments related to the application example showed that a complex and interpretable utility function V could be estimated from the data. The accuracy rate of the selection results for the test data was 99.7%, which was sufficient accuracy.

[0115] Fig. 8 is a diagram showing an example of visualization of the selection probability P. Fig. 8 shows a graph D that represents the utility functions V1 to V4 shown in the above equations (21) to (24) in three-dimensional space. In Fig. 8, the solid line graph indicated by symbol D1 represents the selection probability P1 corresponding to selection C1, and the dashed line graph indicated by symbol D2 represents the selection probability P2 corresponding to selection C2. Furthermore, the dashed line graph indicated by symbol D3 represents the selection probability P3 corresponding to selection C3, and the dotted line graph indicated by symbol D4 represents the selection probability P4 corresponding to selection C4.

[0116] The output unit 26 may output, as output data, one or both of the above formulas (21) to (24) and graph D shown in FIG. 8 as the utility function 30. This allows the utility function 30 (V i ) can be presented (output) to the analyst.

[0117] [G] Operation example Next, an example of the operation of the server 2 as an example of an embodiment configured as described above will be described with reference to FIGS.

[0118] [G-1] Utility function specification process FIG. 9 is a flowchart for explaining an example of the operation of the process of specifying the utility function 30 in the server 2 according to an embodiment.

[0119] As illustrated in FIG. 9, the acquisition unit 22 acquires a training data set 21a (step S1).

[0120] The NN construction unit 23 constructs an NN model 3 with X intermediate nodes based on the number M of explanatory variables x and the number N of options i in each training data included in the training data set 21a (step S2: see FIG. 3).

[0121] The training unit 24 uses the training data set 21a to perform machine learning processing of the NN model 3 (step S3).

[0122] The control unit 20 determines whether or not to execute the adjustment process (step S4). Whether or not to execute the adjustment process may be determined based on, for example, whether or not there is an instruction from a user such as an analyst, whether or not the weight w of the first fully connected layer 32 is an integer value, etc. If the control unit 20 determines to execute the adjustment process (YES in step S4), the process proceeds to step S5, the adjustment unit 25 executes the adjustment process, and the process proceeds to step S6. If the control unit 20 determines not to execute the adjustment process (NO in step S4), the process proceeds to step S6.

[0123] In step S6, the output unit 26 identifies the utility function 30. For example, the output unit 26 may generate a mathematical expression that expresses the utility function 30 based on the parameters of the NN model 3 and the structure of the NN model 3.

[0124] The output unit 26 outputs the utility function 30 (step S7), and the process ends.

[0125] [G-2] Adjustment processing 10 is a flowchart illustrating an example of the operation of the adjustment process in the server 2 according to an embodiment. The process shown in FIG. 10 is an example of the adjustment process in step S5 shown in FIG.

[0126] As illustrated in FIG. 10, the adjustment unit 25 simplifies the weights w of the first fully connected layer 32 in the NN model 3, for example, by rounding them off to integers (step S11).

[0127] The adjustment unit 25 performs a re-machine learning process (fine tuning) of the NN model 3 using, for example, the training dataset 21a while fixing the weights w of the simplified first fully connected layer 32 (step S12), and the process ends. As a result, the parameters of the NN model 3 include the weights w of the simplified first fully connected layer 32 and the weights w and bias b of the second fully connected layer 34 updated by fine tuning.

[0128] [G-3] Inference processing 11 is a flowchart illustrating an example of the operation of the inference process in the server 2 according to an embodiment. When the control unit 20 executes the inference process using the trained (retrained) NN model 3, the process illustrated in FIG. 11 may be executed.

[0129] The control unit 20 acquires inference data (step S21). The number of explanatory variables x included in the inference data matches the number M of nodes 32a in the first fully connected layer 32 of the trained (retrained) NN model 3. The number of options matches the number N of nodes 34c in the second fully connected layer 34 of the trained (retrained) NN model 3.

[0130] The control unit 20 inputs the inference data to the trained (retrained) NN model 3, and obtains the output data 4 obtained from the NN model 3 as the inference result (step S22).

[0131] The output unit 26 outputs the inference result (step S23), and the process ends.

[0132] [H] Other The technology according to the embodiment described above can be implemented with the following modifications and variations.

[0133] For example, the functional blocks 22 to 26 included in the server 2 shown in FIG. 2 may be merged in any combination, or may be divided into individual blocks.

[0134] 2 may be configured such that each processing function is realized by a plurality of devices cooperating with each other via a network. As an example, the control unit 20 (acquisition unit 22, NN construction unit 23, training unit 24, adjustment unit 25, and output unit 26) may be realized by an application server or a web server, and the memory unit 21 may be realized by a DB (Database) server. In this case, the web server, application server, and DB server may cooperate with each other via a network to realize the processing functions of the server 2.

[0135] Furthermore, in the embodiment, the first fully connected layer 32 of the NN model 3 is described as not including the bias b, but this is not limited thereto. The first fully connected layer 32 may further include a node 32a for the bias b and an edge 32b connecting the node 32a with each node 32c. Note that the bias b assigned to the edge 32b of the first fully connected layer 32 becomes a coefficient of the explanatory variable x in the utility function V, similar to the weight w of the second fully connected layer 34. In other words, the bias b of the first fully connected layer 32 can be expressed by the weight w of the second fully connected layer 34. For this reason, in the embodiment, the bias b of the first fully connected layer 32 is omitted.

[0136] Furthermore, the optimizer, regularization term parameters, and loss function L used in training the NN model 3 are not limited to the above-mentioned examples, and various methods and values ​​may be used.

[0137] In addition, in one embodiment, the base of the logarithmic function in the logarithmic function unit 31 and the base of the exponential function in the exponential function unit 33 are both e, but this is not limited to this and a value other than e may be used as long as the two functions are correlated (for example, matched).

[0138] [I] Supplementary Note The following additional notes are provided regarding the above-described embodiments.

[0139] (Appendix 1) training a neural network having a structure in which at least some of the parameters of the neural network correspond to the degrees and coefficients of explanatory variables included in a utility function of a discrete choice model, using training data including values ​​of the explanatory variables and selection results; Identifying the utility function in the trained neural network. A machine learning method in which processing is performed by a computer.

[0140] (Appendix 2) the training process includes configuring the neural network so that the parameters of the neural network correspond to the degrees of the explanatory variables, the coefficients, and a constant term; The machine learning method described in Appendix 1.

[0141] (Appendix 3) The training process includes a process of configuring the neural network, which includes a logarithmic function that converts the explanatory variables into logarithms, a first fully connected layer that receives an output from the logarithmic function, an exponential function that converts an output from the first fully connected layer into an exponential, a second fully connected layer that receives an output from the exponential function, and a function that calculates a selection probability from the output of the second fully connected layer. 10. The machine learning method of claim 1 or 2.

[0142] (Appendix 4) performing rounding of a first parameter corresponding to the degree of the explanatory variable included in the identified utility function; adjusting a second parameter corresponding to the coefficient of the explanatory variable while keeping the first parameter after the rounding process fixed; 4. The machine learning method according to any one of Supplementary Note 1 to Supplementary Note 3, wherein the processing is executed by the computer.

[0143] (Appendix 5) outputting the determined utility function in an interpretable format; 5. The machine learning method according to any one of Supplementary Note 1 to Supplementary Note 4, wherein the processing is executed by the computer.

[0144] (Appendix 6) training a neural network having a structure in which at least some of the parameters of the neural network correspond to the degrees and coefficients of explanatory variables included in a utility function of a discrete choice model, using training data including values ​​of the explanatory variables and selection results; Identifying the utility function in the trained neural network. A machine learning program that lets a computer perform processing.

[0145] (Appendix 7) the training process includes configuring the neural network so that the parameters of the neural network correspond to the degrees of the explanatory variables, the coefficients, and a constant term; The machine learning program described in Appendix 6.

[0146] (Appendix 8) The training process includes a process of configuring the neural network, which includes a logarithmic function that converts the explanatory variables into logarithms, a first fully connected layer that receives an output from the logarithmic function, an exponential function that converts an output from the first fully connected layer into an exponential, a second fully connected layer that receives an output from the exponential function, and a function that calculates a selection probability from the output of the second fully connected layer. 1. A machine learning program as set forth in Appendix 6 or Appendix 7.

[0147] (Appendix 9) performing rounding of a first parameter corresponding to the degree of the explanatory variable included in the identified utility function; adjusting a second parameter corresponding to the coefficient of the explanatory variable while keeping the first parameter after the rounding process fixed; 9. The machine learning program according to any one of claims 6 to 8, which causes the computer to execute a process.

[0148] (Appendix 10) outputting the determined utility function in an interpretable format; 10. The machine learning program according to any one of Supplementary Note 6 to Supplementary Note 9, which causes the computer to execute processing. [Explanation of symbols]

[0149] 1. Computer 2 Server 20 Control Unit 21 Memory section 21a Training dataset 211 Input Data 212 Correct data 22 Acquisition Department 23 NN construction part 24 Training Department 25 Adjustment section 26 Output section 3. NN model 30 Utility Function 31 Logarithmic Function Section 32 First fully connected layer 32a, 32c, 34a, 34c nodes 32b, 34b Edge 33 Exponential Function 34 Second fully connected layer 35 Selection probability function part 4 Output data

Claims

1. training a neural network having a structure in which at least some of the parameters of the neural network correspond to the degrees and coefficients of explanatory variables included in a utility function of a discrete choice model, using training data including values ​​of the explanatory variables and selection results; Identifying the utility function in the trained neural network. A machine learning method in which processing is performed by a computer.

2. the training process includes configuring the neural network so that the parameters of the neural network correspond to the degrees of the explanatory variables, the coefficients, and a constant term; The machine learning method of claim 1 .

3. The training process includes a process of configuring the neural network, the neural network including: a logarithmic function that converts the explanatory variables into logarithms; a first fully connected layer that receives an output from the logarithmic function; an exponential function that converts an output from the first fully connected layer into an exponential; a second fully connected layer that receives an output from the exponential function; and a function that calculates a selection probability from the output of the second fully connected layer. The machine learning method according to claim 1 or 2.

4. performing rounding of a first parameter corresponding to the degree of the explanatory variable included in the identified utility function; adjusting a second parameter corresponding to the coefficient of the explanatory variable while keeping the first parameter after the rounding process fixed; The machine learning method according to claim 1 or 2, wherein the processing is executed by the computer.

5. outputting the determined utility function in an interpretable format; The machine learning method according to claim 1 or 2, wherein the processing is executed by the computer.

6. training a neural network having a structure in which at least some of the parameters of the neural network correspond to the degrees and coefficients of explanatory variables included in a utility function of a discrete choice model, using training data including values ​​of the explanatory variables and selection results; Identifying the utility function in the trained neural network. A machine learning program that lets a computer perform processing.

Citation Information

Patent Citations

  • Calculation system and calculation method of neural network

    JP2023176898A