WO2018154663A1 - 特徴選択システム、特徴選択方法および特徴選択プログラム - Google Patents
特徴選択システム、特徴選択方法および特徴選択プログラム Download PDFInfo
- Publication number
- WO2018154663A1 WO2018154663A1 PCT/JP2017/006647 JP2017006647W WO2018154663A1 WO 2018154663 A1 WO2018154663 A1 WO 2018154663A1 JP 2017006647 W JP2017006647 W JP 2017006647W WO 2018154663 A1 WO2018154663 A1 WO 2018154663A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature
- features
- variable
- prediction
- feature set
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- the present invention relates to a feature selection system, a feature selection method, and a feature selection program for selecting features used for prediction.
- Feature selection When constructing a prediction model or discriminant model, a feature selection (Feature selection) process for selecting a meaningful feature from a plurality of features is generally performed. By performing feature selection, it is possible to represent which features are important in observation data and how they are related.
- Patent Literature 1 describes a feature selection device that selects features used for malware determination.
- the feature selection device described in Patent Document 1 performs machine learning in advance on a readable character string included in an executable file of malware, and extracts words that are often used in malware.
- the feature selection device described in Patent Document 1 represents a feature group that appears in pairs in the verification data among the feature candidate groups, and represents a feature other than the representative (redundant feature). delete.
- optimization based on the prediction model can be performed.
- the optimization based on the prediction model can be said to optimize the features included in the prediction model so as to maximize the value of the objective function represented by the prediction model.
- An example of such optimization is optimizing prices using a sales volume prediction model.
- the prediction model described above can be constructed by using a general learning method based on past data.
- redundant features are generally excluded from the prediction model and are not selected.
- the effects of the curse of the dimension can be mitigated, learning can be speeded up, and the readability of the model can be improved without significantly adversely affecting the prediction accuracy.
- eliminating redundant features is beneficial from the viewpoint of preventing overlearning.
- one feature used for optimization of the prediction target is influenced by another feature used for prediction of the prediction target.
- a feature is selected without considering such a causal relationship, there may be a problem in optimization even if there is no problem in prediction accuracy.
- a situation in which a problem occurs will be described using a specific example.
- x is the price of the umbrella
- y is the number of sales of the umbrella
- z is a variable representing the weather
- x and z are features that are likely to affect the number of umbrellas sold.
- the number of sales of umbrellas is large.
- the store owner sets the price of the umbrella low.
- a feature selection system a feature selection method, and feature selection that can know features necessary for appropriate optimization performed using the prediction model when selecting a feature used for learning a prediction model.
- the purpose is to provide a program.
- the feature selection system selects a feature to be used for learning a prediction model when calculating an operation variable for optimizing an objective function expressed using the prediction model under a constraint condition.
- a receiving unit that accepts designation of a prediction target and designation of an operation variable; a first feature set that is a set of features that affect the prediction target from a set of features that can affect the prediction target;
- a feature selection unit that selects a second feature set, which is a set of features that affect the manipulated variable, and an output unit that outputs the first feature set and the second feature set are provided.
- the feature selection method is a feature selection method for selecting a feature to be used for learning a prediction model when calculating an operation variable for optimizing an objective function represented by the prediction model under a constraint condition.
- a method that accepts designation of a prediction target and designation of an operation variable, and from a set of features that can affect the prediction target, a first feature set that is a set of features that affect the prediction target, and an operation variable
- a second feature set that is a set of influential features is selected, and the first feature set and the second feature set are output.
- the feature selection program is a computer that selects a feature used for learning a prediction model when calculating an operation variable for optimizing an objective function expressed using the prediction model under a constraint condition.
- a feature selection program to be applied to a computer that accepts a prediction target specification and an operation variable specification from a set of features that can affect the prediction target, and a set of features that affect the prediction target. Executing a feature selection process that selects a certain first feature set and a second feature set that is a set of features that affect the manipulated variable, and an output process that outputs the first feature set and the second feature set. It is characterized by.
- the present invention when a feature used for learning a prediction model is selected, it is possible to know a feature necessary for appropriate optimization performed using the prediction model.
- 1 is a block diagram illustrating an embodiment of a price optimization system according to the present invention. It is a flowchart which shows the operation example in case a price optimization system performs price optimization. It is a flowchart which shows the example of the process which a price optimization system selects a characteristic according to designation
- feature is used to mean an attribute name.
- a specific value indicated by the attribute is referred to as an attribute value.
- An example of the attribute is a price, and an example of the attribute value in this case is 500 yen.
- characteristic when “characteristic” is described, its role is not limited, and it may mean an explanatory variable, a prediction target, or an operation variable, which will be described later, in addition to the meaning of the attribute name.
- the explanatory variable means a variable that can affect the prediction target.
- candidates for explanatory variables are input as inputs when performing feature selection. That is, in the feature selection, an explanatory variable that can affect the prediction target is selected as a feature from the explanatory variable candidates, and is output as a result.
- the explanatory variable selected in the feature selection is a subset of explanatory variable candidates.
- the prediction target is also called “objective variable” in the field of machine learning.
- a variable representing a prediction target is referred to as an explained variable. Therefore, it can be said that the prediction model is a model that represents the explained variable using one or more explanatory variables.
- a model obtained as a result of the learning process may be referred to as a learned model.
- the prediction model is a specific mode of the learned model.
- An operation variable means a variable in which some (for example, human) intervention is entered during an operation. Specifically, it means a variable to be optimized in the optimization process.
- the manipulated variable is a variable generally called “objective variable”.
- objective variable in order to avoid confusion with the objective variable used in machine learning, the term “objective variable” is used.
- the operation variable is a part of the explanatory variable.
- an explanatory variable when there is no need to distinguish between an explanatory variable and an operation variable, it is simply referred to as an explanatory variable.
- the explanatory variable when an explanatory variable is distinguished from an operation variable, the explanatory variable means a variable other than the operation variable.
- the explanatory variable other than the operation variable may be expressed as an external variable.
- the objective function means a target function for obtaining a maximum or minimum value by optimizing an operation variable under a given constraint condition in the optimization process.
- a function for calculating sales corresponds to the objective function.
- FIG. 1 is a block diagram showing an embodiment of a price optimization system according to the present invention.
- the price optimization system 100 of the present embodiment is a system that performs optimization based on prediction, and includes a reception unit 10, a feature selection unit 20, a learning unit 30, an optimization unit 40, and an output unit 50. ing.
- the price optimization system 100 of this embodiment performs feature selection as a specific aspect, the price optimization system 100 can be referred to as a feature selection system.
- the price optimization system of the present embodiment is a system that learns a prediction model used for prediction of a prediction target, and optimizes an objective function expressed using the prediction model under a constraint condition. It is the system which calculates the operational variable for.
- the objective function expressed using the prediction model is either an objective function defined using a prediction value predicted using the prediction model as an argument, or an objective function defined using a parameter of the prediction model as an argument. Also means.
- the receiving unit 10 includes a prediction target (in other words, an explained variable), a set of features that can affect the prediction target (in other words, an explanatory variable candidate), and an optimization target (in other words, an operation variable). Accept. Specifically, the accepting unit 10 accepts designation of which feature is the explained variable y and designation of which feature is the operation variable x. The receiving unit 10 receives a candidate for the explanatory variable z. When the price optimization system 100 holds candidates for the explanatory variable z in advance, the accepting unit 10 may accept two types of designations, namely, the designation of the prediction target that is the explained variable y and the designation of the operation variable x. Good.
- the accepting unit 10 may accept the candidate for the explanatory variable z and the identifier of the operational variable x included in the explanatory variable z. Good.
- the explained variable y represents the number of sales of the umbrella
- the operation variable x represents the price of the umbrella
- the explanatory variable z represents the weather. Also.
- the accepting unit 10 accepts various parameters necessary for subsequent processing.
- the feature selection unit 20 selects a feature used for learning the prediction model. Specifically, the feature selection unit 20 selects a set of features that affect the prediction target from a set of features that can affect the prediction target received by the reception unit 10.
- a set of features that affect the prediction target is referred to as a first feature set.
- the price is calculated as a set (first feature set) that affects the number of sales from a set of features that can affect the number of sales of the umbrella (product) to be predicted. To be elected.
- some of the redundant features are excluded from the first feature set.
- price and weather are regarded as redundant features as features for explaining the prediction target (number of sales), and one of price and weather is excluded from the first feature set. In the example described above, the weather is excluded.
- the feature selection unit 20 of the present embodiment selects a set of features that affect the manipulated variable from a set of features that can affect the prediction target received by the reception unit 10.
- a set of features that affect the manipulated variable is referred to as a second feature set.
- weather is selected as a set (second feature set) that affects the price, which is an operation variable.
- some of the redundant features are excluded from the second feature set.
- the feature selection unit 20 converts the feature set that can affect the number of sales of the product to be predicted into the first feature set that affects the prediction target (number of sales) and the operation variable (product price). Select the second feature set to be affected.
- the first feature set is a feature set necessary and sufficient when learning a prediction model used only for the purpose of prediction.
- the features not included in the first feature set and included in the second feature set are not necessarily required when learning a prediction model used only for the purpose of prediction, but are used for optimization based on prediction. This is a necessary feature when learning a model.
- the feature selection unit 20 does not exclude the operation variable itself (that is, the operation variable always remains in either the first feature set or the second feature set).
- the feature selection unit 20 may select the first feature set and the second feature set using a generally known feature selection technique.
- An example of the feature selection technique is L1 regularization.
- the method by which the feature selection unit 20 selects features is not limited to L1 regularization.
- Feature selection includes, for example, feature amount selection by greedy law such as matching or orthologous pursuit, and selection by various information amount standards.
- the regularization method is a method of adding a penalty every time a large number of feature quantities are selected.
- the greedy method is a method of selecting a predetermined number of feature amounts from influential feature amounts.
- the information amount criterion is a method of imposing a penalty based on a generalization error caused by selecting many feature amounts. A specific method of feature selection using L1 regularization will be described later.
- the learning unit 30 learns a prediction model in which the features included in the first feature set and the features included in the second feature set are explanatory variables, and the feature to be predicted is the explained variable.
- the learning unit 30 learns a prediction model in which the features included in the first feature set and the features included in the second feature set are explanatory variables and the number of sales is a prediction target.
- the learning unit 30 learns the prediction model using at least one feature included in the second feature set but not included in the first feature set as an explanatory variable.
- the learning unit 30 preferably uses all the features included in the first feature set and the features included in the second feature set as explanatory variables.
- the learning unit 30 learns the model using features that are included in the second feature set but not included in the first feature set as explanatory variables. A model can be generated.
- the optimization unit 40 optimizes the value of the manipulated variable so as to maximize or minimize the function of the explained variable defined with the prediction model generated by the learning unit 30 as an argument.
- the optimization unit 40 optimizes the price of the product under the constraint condition so that the sales amount defined by using the prediction model as an argument becomes high. More specifically, the optimization unit 40 optimizes the price of the product under the constraint condition so that the sales amount defined with the number of sales predicted using the prediction model as an argument becomes high.
- information representing the distribution of the prediction error can be input to the optimization unit 40, and optimization based on the information can be performed.
- optimization by penalizing a strategy with a large prediction error, optimization that avoids a risky strategy can be performed. This is called robust optimization, probability optimization, and the like, in contrast to optimization without using a prediction error.
- the prediction error distribution is a distribution related to a 1 and b.
- the prediction error distribution is, for example, a variance-covariance matrix.
- the distribution of the prediction error input depends on the contents of the prediction model, more specifically, the features included in the second feature set but not included in the first feature set.
- x 1 is an operation variable
- z 1 is an explanatory variable that is included in the first feature set
- z 2 and the explained variable be y.
- a prediction model represented by the following Expression 2 is used. Is generated.
- the feature selection is performed so that the feature is included in the prediction model. Can be entered.
- Equation 2 corresponds to the case where the feature value z related to the weather is not selected
- Equation 3 corresponds to the case where the feature value z related to the weather is selected.
- Equation 2 above shows that the prediction error distribution has high prediction accuracy when the price is high and low.
- Equation 3 includes a prediction error distribution representing information that the prediction accuracy is good when the price is high due to rain, but the prediction accuracy is low when the price is fine and the price is high. Therefore, by performing optimization based on the situation as shown in Expression 3, it is possible to avoid a situation in which a strategy with a high risk is selected due to feature quantity selection.
- the method by which the optimization unit 40 performs the optimization process is arbitrary, and the operation variable (price) may be optimized using a method for solving a general optimization problem.
- the output unit 50 outputs the optimization result. For example, when price optimization is performed so as to increase sales, the output unit 50 may output an optimal price and sales at that time.
- the output unit 50 may output not only the optimization result but also the first feature set and the second feature set selected by the feature selection unit 20. At this time, the output unit 50 may output the features included in the first feature set and the features included in the second feature set but not included in the first feature set in a distinguishable manner. . Examples of methods for outputting in a distinguishable manner include a method for changing the color of features that are included in the second feature set but not included in the first feature set, a method for highlighting, a method for changing the size, and italic The display method etc. are mentioned.
- the output destination of the output part 50 is arbitrary, For example, display apparatuses (not shown), such as a display apparatus with which the price optimization system 100 is provided, may be sufficient.
- the first feature set is a feature selected by a general feature selection process
- the second feature set is a feature selected in consideration of an optimization process that is a post-processing, and appears in the general feature selection process. There is no feature. By distinguishing and displaying such features, it becomes possible for the user to grasp and select an appropriate feature to be used when executing the optimization process. As a result, the user can browse the displayed information and adjust the characteristics using the domain knowledge.
- the reception unit 10, the feature selection unit 20, the learning unit 30, the optimization unit 40, and the output unit 50 are realized by a CPU of a computer that operates according to a program (price optimization program, feature selection program).
- the program is stored in a storage unit (not shown) included in the price optimization system 100, and the CPU reads the program, and according to the program, the reception unit 10, the feature selection unit 20, the learning unit 30, The optimization unit 40 and the output unit 50 may be operated.
- each of the reception unit 10, the feature selection unit 20, the learning unit 30, the optimization unit 40, and the output unit 50 may be realized by dedicated hardware.
- FIG. 2 is a flowchart showing an operation example when the price optimization system 100 performs price optimization.
- the feature selection unit 20 selects a first feature set that affects the number of sales (that is, the explained variable y) from a set of features that can affect the number of sales of the product (that is, candidates for the explanatory variable z) (step S1). S11). Furthermore, the feature selection unit 20 selects a second feature set that affects the price of the product (that is, the operation variable x) from the set of features that can affect the number of sales of the product (step S12).
- the learning unit 30 learns a prediction model in which the features included in the first feature set and the second feature set are explanatory variables and the number of sales is a prediction target. At that time, the learning unit 30 learns a prediction model having at least one feature that is included in the second feature set but not included in the first feature set as an explanatory variable (step S13).
- the optimization unit 40 optimizes the price of the product under the constraint condition so that the sales amount defined by using the prediction model as an argument becomes high (step S14).
- FIG. 3 is a flowchart showing an example of processing in which the price optimization system 100 selects a feature according to the designation of a prediction target and an operation variable.
- the accepting unit 10 accepts designation of the prediction target (ie, the explained variable y) and designation of the operation variable (ie, the operation variable x) (step S21).
- the feature selection unit 20 selects a first feature set that affects the prediction target and a second feature set that affects the manipulated variable from a set of features that can affect the prediction target (that is, candidates for the explanatory variable z). (Step S22).
- the feature selection unit 20 may input the selected first feature set and second feature set to the learning unit 30.
- the output unit 50 outputs the first feature set and the second feature set (step S23). At this time, the output unit 50 may output the features included in the first feature set and the features included in the second feature set but not included in the first feature set in a distinguishable manner. Good.
- the feature selection unit 20 selects a first feature set that affects the number of sales and a second feature set that affects the price of the product from a set of features that can affect the number of products sold.
- the learning unit 30 learns a prediction model in which the features included in the first feature set and the second feature set are explanatory variables and the number of sales is a prediction target, and the optimization unit 40 selects the prediction model. Optimize product prices under constraints so that sales defined as an argument are high.
- the learning unit 30 learns a prediction model having at least one feature that is included in the second feature set but not included in the first feature set as an explanatory variable.
- the receiving unit 10 receives the designation of the prediction target and the designation of the operation variable, and the feature selection unit 20 affects the prediction target from the set of features that can affect the prediction target.
- the feature set and the second feature set that affects the manipulated variable are selected and output by the output unit 50.
- L1 regularization is only one specific example of a number of feature selection techniques, and the feature selection technique that can be used in the present invention is not limited to L1 regularization.
- the manipulated variable x represents the price of the umbrella
- the explained variable y represents the number of sales of the umbrella
- the explanatory variables z 1 to z 3 are “rain in the morning”, “rain in the afternoon”, Whether it is “the end of the month (after the 15th)” is represented by a 0-1 variable.
- the true sales number y is generated as Equation 4 below.
- the explanatory variable z 3 although there is a candidate of the explanatory variables, it can be said that is a variable that is not related to the sales. Note that the value of (0, 1, 2) is assumed to be a random value in order to simplify the explanation.
- FIG. 4 is an explanatory diagram showing an example of a store sales record recorded in the database.
- the example shown in FIG. 4 shows that the price x, the number of sales y in the afternoon at the time of aggregation, and the presence / absence of characteristics at the time of aggregation are recorded for each aggregation unit identified by Id.
- the feature selection unit 20 by using the L1 regularization (Lasso), by selecting a non-zero w i that minimizes the equation 6 below, performs feature selection.
- the coefficient of the penalty for Lasso is set to 1/10 in order to simplify the description to be described later.
- the feature selection unit 20 further selects a feature that explains x. Specifically, the feature selection unit 20 performs feature selection by selecting a non-zero w ′ i that minimizes Equation 9 shown below.
- the feature selection technique that can be used in the present invention is not limited to L1 regularization, and other feature selection techniques can also be used.
- the feature selection process described above i.e., in addition to the features described the prediction target, the feature selection process also further select the features described operation variables, x, z 1 and z 2 are selected as features.
- the optimization unit 40 can recognize x, z 1 and z 2 as features necessary for the optimization, it can be determined that the weather should be considered for the optimization. You can avoid choosing a risky strategy of “sell at a high price”.
- the y hat is expressed by the following expression 12.
- Equations 10 and 13 ⁇ 1 to N (0, ⁇ 1 2 ) and ⁇ 2 to N (0, ⁇ 2 2 ), ⁇ 2 2 is sufficiently larger than ⁇ 1 2 and the number of data n. Let it be small. N (0, ⁇ 2 ) represents a normal distribution with an average of 0 and a variance ⁇ 2 .
- v 1 is defined as in the following Expression 14.
- v 1 satisfies the following formula 15 while (x z 1 z 2 ) satisfies the above formula 13.
- Equation 18 it is assumed that an estimated value w vector hat and a variance-covariance matrix ⁇ of the prediction error are obtained. ⁇ may also be replaced with the estimated value. Also, ⁇ is a properly selected positive parameter. At this time, the following Expression 19 is established.
- Equation 15 Since 1 / ⁇ 2 ′ is sufficiently larger than ⁇ 1 / ⁇ n, the price strategy x that does not satisfy Equation 15 is subject to a large penalty in Equation 18. Therefore, it is easy to select a price that satisfies Equation 20 shown below.
- the above equation 20 is equivalent to satisfying the above equation 13. Therefore, in the above specific example, this is equivalent to “pick a low price on a sunny day”.
- Equation 21 X is a domain and v is a function.
- ⁇ is a function.
- Equation 22 is typically defined using the error covariance matrix ⁇ . Note that the robust optimization method may be used by a method different from Equation 22.
- Equation 22 the second term acts as a penalty for strategies with large predictive variance.
- FIG. 5 is a block diagram showing an outline of a feature selection system according to the present invention.
- the feature selection system 90 according to the present invention accepts input of data (more specifically, a set of features) from the outside by the user.
- FIG. 6 is an explanatory diagram illustrating a specific example of data that the feature selection system illustrated in FIG. 5 receives from the outside by the user.
- the data illustrated in FIG. 6 is data indicating the price of umbrellas and the number of sales of umbrellas for each day, and the status of the day (for example, weather, maximum temperature, whether an advertisement has been issued, whether a holiday, etc.) It is.
- the feature selection system 90 is used for learning a prediction model when calculating an operation variable (for example, an operation variable x) for optimizing an objective function expressed using the prediction model under a constraint condition.
- a feature selection system for selecting a feature to be used which includes a reception unit 91 (for example, reception unit 10) that receives a specification of a prediction target (for example, an explained variable y) and a specification of an operation variable, and affects the prediction target
- a first feature set that is a set of features that affect the prediction target and a second feature set that is a set of features that affect the manipulated variable are selected from a set of possible features (for example, candidates for explanatory variable z)
- a feature selection unit 92 for example, the feature selection unit 20
- an output unit 93 for example, the output unit 50
- the feature selection system 90 uses the umbrella sales to designate the prediction target (explained variable y). The number is accepted, and the price of the umbrella is accepted for the designation of the operation variable (operation variable x).
- the feature selection system 90 (more specifically, the accepting unit 91) may specify a set of features (candidates for the explanatory variable z) that can affect the prediction target by specifying the situation of the day (for example, weather, maximum temperature, Whether or not an advertisement has been issued or whether or not it is a holiday.
- the feature selection system 90 receives the price of the umbrella and the status of the day as a set of features, and among the features, identification information indicating that the price of the umbrella is an operation variable (otherwise, a candidate for the explanatory variable z) May also be received together.
- the feature selection system 90 also includes a learning unit (for example, the learning unit 30) that learns a prediction model having at least one feature that is included in the second feature set but not included in the first feature set as an explanatory variable. It may be.
- a learning unit for example, the learning unit 30
- the learning unit may learn a model in which all the features included in the first feature set and the features included in the second feature set are explanatory variables, and the feature to be predicted is the explained variable. With such a configuration, it is possible to appropriately learn a prediction model used as an input for optimization processing in consideration of optimization processing as post-processing.
- the output unit 93 displays the features included in the first feature set and the features included in the second feature set but not included in the first feature set on the display device in a distinguishable manner. May be. With such a configuration, it is possible to distinguish between a feature selected when specialized in prediction and a feature selected only when considering optimization processing as post-processing.
- the feature selection unit 92 acquires a first feature set from a set of features that can affect the prediction target by performing feature selection processing using the prediction target as an explained variable, and a set of features that can affect the prediction target Then, the second feature set may be acquired by performing feature selection processing using the manipulated variable as the explained variable. Then, the output unit 93 may output the union of the acquired first feature set and second feature set.
- the feature selection unit 92 selects the feature specified as the operation variable to be included in the first feature set. As described above, by always leaving the feature designated as the operation variable, the optimization process as the post-process can be performed.
- the feature selection system 90 may be implemented as package software or API (Application Program Interface) having a feature selection function for learning a prediction model used for optimization based on prediction, for example.
- a feature selection function may be provided in SaaS (Software as Service) format.
- FIG. 7 is a schematic block diagram showing a configuration of a computer according to at least one embodiment.
- the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, and an interface 1004.
- the information processing system described above is mounted on the computer 1000.
- the operation of each processing unit described above is stored in the auxiliary storage device 1003 in the form of a program (feature selection program).
- the CPU 1001 reads out the program from the auxiliary storage device 1003, expands it in the main storage device 1002, and executes the above processing according to the program.
- the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
- Other examples of the non-temporary tangible medium include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 1004.
- this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may develop the program in the main storage device 1002 and execute the above processing.
- the program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that realizes the above-described function in combination with another program already stored in the auxiliary storage device 1003.
- difference file difference program
- the present invention is preferably applied to a feature selection system that selects features used for prediction.
- the present invention is preferably applied to a system that selects features used for optimizing hotel prices.
- the present invention is preferably applied to, for example, a system that is combined with a database and outputs a result (optimum solution) optimized based on prediction.
- the system may be provided as a system that performs a feature amount selection process and an optimization process based on the selection process.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
特徴選択システム90は、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合におけるその予測モデルの学習に用いられる特徴を選択する特徴選択システムであって、予測対象の指定と、操作変数の指定とを受け付ける受付部91と、予測対象に影響し得る特徴の集合から、その予測対象に影響する特徴の集合である第1特徴集合と、操作変数に影響する特徴の集合である第2特徴集合とを選択する特徴選択部92と、第1特徴集合と第2特徴集合とを出力する出力部93とを備えている。
Description
本発明は、予測に用いる特徴を選択する特徴選択システム、特徴選択方法および特徴選択プログラムに関する。
予測モデルや判別モデルを構築する際、複数の特徴の中から意味のある特徴を選択する特徴選択(Feature selection )処理が一般に行われる。特徴選択を行うことで、観測データのうち、どの特徴が重要であり、それらがどのように関係しているかを表すことが可能になる。
例えば、特許文献1には、マルウェア判定に用いられる特徴を選択する特徴選択装置が記載されている。特許文献1に記載された特徴選択装置は、マルウェアの実行ファイル中に含まれる可読文字列をあらかじめ機械学習し、マルウェアでよく用いられる語を抽出する。また、特許文献1に記載された特徴選択装置は、特徴の候補群のうち、検証用データにおいて組で出現する特徴群についてはいずれかの特徴で代表させ、代表以外の特徴(冗長特徴)を削除する。
対象の予測ができれば、その予測に基づいて将来の最適化戦略を検討することが可能である。例えば、予測モデルが生成される場合、この予測モデルに基づく最適化をすることができる。予測モデルに基づく最適化とは、予測モデルで表される目的関数の値を最大にするように、その予測モデルに含まれる特徴を最適化することであると言える。このような最適化の例として、売上数の予測モデルを用いて価格を最適化することが挙げられる。
過去のデータに基づく一般的な学習方法を用いることで、上述する予測モデルを構築することが可能である。その際、一般的な学習方法では、特許文献1にも記載されているように、冗長な特徴は予測モデルから除外され、選択されないことが一般的である。冗長な特徴を除外することで、予測精度に大きな悪影響を与えることなく、次元の呪いの効果を緩和したり、学習を高速化させたり、モデルの可読性を向上させたりできる。また、冗長な特徴を除外することは、過学習を防ぐ観点からも有益である。
ここで、予測対象の最適化に用いられる一の特徴が、予測対象の予測に用いられる他の特徴の影響を受けている場合も存在する。言い換えると、一の特徴と他の特徴との間に因果関係が存在する場合も存在する。このような因果関係を考慮せずに特徴を選択した場合、予測精度には問題が生じなくとも、最適化において問題が生じる場合がある。以下、具体例を用いて、問題が生じる状況を説明する。
ここでは、傘の価格の最適化問題を考える。xが傘の価格、yが傘の売上数、zが天気を表す変数とし、売上数yを予測するとする。ここでx、zは、傘の売上数に影響を与えそうな特徴の一つである。過去のデータでは、雨の場合には傘の売上数が多いため、それを見越して店主が傘の価格を高く設定しており、逆に晴れの場合には傘の売上数が少ないため、それを見越して店主が傘の価格を低く設定しているとする。
この状況を上記変数を用いて表すと、雨の日は、(x,y,z)=(“高い”,“多い”,“雨”)となり、晴れ日は、(x,y,z)=(“低い”,“少ない”,“晴”)となる。このとき、xとzとを用いてyが予測される。一方、xとzには強い相関があるため、このような状況でyを予測する場合、xだけでyを説明するのは十分なため(すなわち、x=高い、の場合、z=雨が常に成り立つため)、特徴選択処理によりzは冗長な特徴であるとみなされる。すなわち、zは特徴選択処理により除外される。したがって、予測において、p(y=多い|x=高い)=1という確率が成り立つ。
特徴であるzが選択されていないため、上記確率の式からは、xを高くすればyは多くなると言えるため、yを高くするための最適化の結果が「常に傘を高い値段で売る」と判断され得る。この結果は、晴れの日にも、傘を高い値段で売ったほうが売上数が増える、ということを意味しており、明らかに直感に反する。これは、最適化による介入をした結果と予測との違いであり、上記の例では、価格が高い時に自然に売れる量と、自ら価格を高くしたときに売れる量とは異なる。すなわち、介入を行って得られた値をdo(変数)と表すと、以下に示す式1の関係が成り立つ。
p(y=多い|x=高い)≠p(y=多い|do(x=高い)) (式1)
式1に例示する予測式p(y=多い|x=高い)は、過去データにおいて高い精度を有する。ただし、「晴れの日に傘を高い値段で売った」という実績データがないということに注意する必要がある。この場合、最適化器は、(x=高い、z=晴れ)という戦略の組み合わせが過去データに存在しないにもかかわらず、高い予測精度を元に最適化を行っていることになる。これは、特徴量選択によって、リスクの高い戦略であるという情報が入力されず、最適化器が適切に判断できない、という現象ととらえることができる。式1に示すような状況を考慮せず最適化を行ってしまうと、最適化の戦略として危ういものを選択してしまう可能性がある。すなわち、予測の場面においては、観測されない状況における予測精度は保証されない一方、最適化の場面においては、過去に観測されない状況も考慮される。
予測の観点から適切な特徴選択、すなわち予測の観点から冗長な特徴を除外するような特徴選択を行い、選択された特徴のみを用いて学習された予測モデルがあるとする。この予測モデルは予測の目的に用いられる限り、良いパフォーマンスを発揮すると思われる。しかし、この予測モデルを最適化の目的に用いた場合、危うい戦略を選択しまう結果、適切な最適化ができない場合も存在する。予測の目的にのみ用いられる予測モデルを学習するために必要な特徴の集合と、予測に基づく最適化に用いられる予測モデルを学習するために必要な特徴の集合とは、必ずしも一致しない、ということを、本発明者は見出した。予測モデルに基づく最適化を行う際には、予測の目的では冗長である特徴であっても、適切な最適化に必要な特徴については漏れなく選択できることが好ましい。
そこで、本発明では、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる特徴選択システム、特徴選択方法および特徴選択プログラムを提供することを目的とする。
本発明による特徴選択システムは、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合におけるその予測モデルの学習に用いられる特徴を選択する特徴選択システムであって、予測対象の指定と、操作変数の指定とを受け付ける受付部と、予測対象に影響し得る特徴の集合から、その予測対象に影響する特徴の集合である第1特徴集合と、操作変数に影響する特徴の集合である第2特徴集合とを選択する特徴選択部と、第1特徴集合と第2特徴集合とを出力する出力部とを備えたことを特徴とする。
本発明による特徴選択方法は、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合におけるその予測モデルの学習に用いられる特徴を選択する特徴選択方法であって、予測対象の指定と、操作変数の指定とを受け付け、予測対象に影響し得る特徴の集合から、その予測対象に影響する特徴の集合である第1特徴集合と、操作変数に影響する特徴の集合である第2特徴集合とを選択し、第1特徴集合と第2特徴集合とを出力することを特徴とする。
本発明による特徴選択プログラムは、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合におけるその予測モデルの学習に用いられる特徴を選択するコンピュータに適用される特徴選択プログラムであって、コンピュータに、予測対象の指定と、操作変数の指定とを受け付ける受付処理、予測対象に影響し得る特徴の集合から、その予測対象に影響する特徴の集合である第1特徴集合と、操作変数に影響する特徴の集合である第2特徴集合とを選択する特徴選択処理、および、第1特徴集合と第2特徴集合とを出力する出力処理を実行させることを特徴とする。
本発明によれば、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる。
まず初めに、本願発明について用いられる用語を説明する。本実施形態で特徴(Feature)とは、属性名の意味で用いられる。また、その属性が示す具体的な値のことを、属性の値と記す。属性の例は価格であり、この場合の属性の値の例は、500円である。なお、以下の説明で、「特徴」と記載した場合、その役割は限定されず、属性名の意味の他、後述する説明変数、予測対象、または、操作変数を意味することもある。
説明変数とは、予測対象に影響を与え得る変数を意味する。上述する傘の価格の最適化問題の例では、「午前に雨であるか否か」、「午後に雨であるか否か」、などの他、「月末であるか否か」などが説明変数に該当する。本実施形態では、特徴選択を行う際の入力として、説明変数の候補が入力される。すなわち、特徴選択では、説明変数の候補の中から予測対象に影響を与え得る説明変数が特徴として選択され、結果として出力される。言い換えると、特徴選択において選択された説明変数は、説明変数の候補の部分集合である。
予測対象は、機械学習の分野では、「目的変数」とも呼ばれる。なお、後述する最適化処理で一般的に用いられる「目的変数」との混同を避けるため、以下の説明では、予測対象を表す変数を被説明変数と記す。したがって、予測モデルは、被説明変数を1つ以上の説明変数を用いて表したモデルということができる。なお、本実施形態では、学習処理の結果得られるモデルのことを学習済モデルと記すこともある。本実施形態において、予測モデルは、学習済モデルの具体的態様である。
操作変数とは、オペレーションの際に何らかの(例えば、人の)介入が入る変数を意味する。具体的には、最適化処理において最適化の対象になる変数のことを意味する。なお、操作変数は、最適化処理では一般に「目的変数」と呼ばれる変数であるが、上述するように、機械学習で用いられる目的変数との混同を避けるため、「目的変数」との用語を用いずに本願発明を説明する。上述する傘の価格の最適化問題の例では、「傘の価格」が操作変数に該当する。
なお、操作変数は説明変数の一部である。以下の説明では、説明変数と操作変数とを区別する必要がない場合、単に説明変数と記載し、説明変数と操作変数とを区別する場合、説明変数は、操作変数以外の変数を意味する。また、説明変数と操作変数とを区別する場合、操作変数以外の説明変数を外部変数 と表現することもある。
目的関数は、最適化処理において、与えられた制約条件の下、操作変数を最適化することにより最大または最小の値を求める対象の関数を意味する。上述する傘の価格の最適化問題の例では、売上高(売上数×価格)を算出する関数が目的関数に該当する。
以下、本発明の実施形態を図面を参照して説明する。
図1は、本発明による価格最適化システムの一実施形態を示すブロック図である。本実施形態の価格最適化システム100は、予測に基づく最適化を行うシステムであり、受付部10と、特徴選択部20と、学習部30と、最適化部40と、出力部50とを備えている。なお、本実施形態の価格最適化システム100は、具体的態様として特徴選択を行うことから、価格最適化システム100のことを特徴選択システムということができる。
すなわち、本実施形態の価格最適化システムは、予測対象の予測に用いられる予測モデルを学習するシステムであり、また、その予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出するシステムである。ここで、予測モデルを用いて表される目的関数は、予測モデルを用いて予測される予測値を引数として定義される目的関数、および、予測モデルのパラメータを引数として定義される目的関数のいずれをも意味する。
受付部10は、予測対象(言い換えると、被説明変数)と、その予測対象に影響し得る特徴の集合(言い換えると、説明変数の候補)と、最適化の対象(言い換えると、操作変数)とを受け付ける。具体的には、受付部10は、どの特徴が被説明変数yであるのかの指定と、どの特徴が操作変数xであるのかの指定とを受け付ける。また、受付部10は、説明変数zの候補を受け付ける。なお、価格最適化システム100が予め説明変数zの候補を保持している場合、受付部10は、被説明変数yである予測対象の指定と、操作変数xの指定の2種類を受け付けてもよい。
上述するように、操作変数xは説明変数zの一部であることから、受付部10は、説明変数zの候補と、その説明変数zの中に含まれる操作変数xの識別子を受け付けてもよい。上述する傘の価格の最適化問題の場合、被説明変数yが傘の売上数を表わし、操作変数xが傘の価格を表わし、説明変数zが天気を表わす。また。受付部10は、後続の処理で必要になる各種パラメータも受け付ける。
特徴選択部20は、予測モデルの学習に用いられる特徴を選択する。具体的には、特徴選択部20は、受付部10が受け付けた予測対象に影響し得る特徴の集合から、予測対象に影響する特徴の集合を選択する。以下、予測対象に影響する特徴の集合を第1特徴集合と記す。例えば、上述する傘の価格の最適化問題の場合、予測対象である傘(商品)の売上数に影響し得る特徴の集合から、売上数に影響する集合(第1特徴集合)として、価格が選ばれる。このとき、予測対象を説明するために互いに冗長であるような特徴が複数存在する場合、冗長な特徴のうちいくつかは第1特徴集合からは除外される。上述した例では、予測対象(売上数)を説明するための特徴として価格と天気とは互いに冗長な特徴とみなされ、価格と天気とのうち片方が第1特徴集合から除外される。上述した例では、天気が除外される。
さらに、本実施形態の特徴選択部20は、受付部10が受け付けた予測対象に影響し得る特徴の集合から、操作変数に影響する特徴の集合を選択する。以下、操作変数に影響する特徴の集合を第2特徴集合と記す。例えば、上述する傘の価格の最適化問題の場合、操作変数である価格に影響する集合(第2特徴集合)として、天気が選ばれる。このとき、操作変数を説明するために互いに冗長であるような特徴が複数ある場合、冗長な特徴のうちいくつかは第2特徴集合からは除外される。
このように、特徴選択部20は、予測対象である商品の売上数に影響し得る特徴の集合から、予測対象(売上数)に影響する第1特徴集合と、操作変数(商品の価格)に影響する第2特徴集合とを選択する。ここで、第1特徴集合は、予測の目的のみに用いる予測モデルを学習する際に必要十分な特徴集合である。第1特徴集合には含まれず且つ第2特徴集合に含まれる特徴は、予測の目的のみに用いる予測モデルを学習する際には必ずしも必要な特徴ではないが、予測に基づく最適化に用いられる予測モデルを学習する際には必要となる特徴である。なお、特徴選択部20は、操作変数自体は除外しないものとする(すなわち、操作変数が、必ず第1特徴集合と第2特徴集合のいずれかに残るようにする)。
上記では、具体例を用いて特徴が選択される場合を例示したが、特徴選択部20は、一般に知られた特徴選択技術を用いて第1特徴集合および第2特徴集合を選択すればよい。特徴選択技術として、例えば、L1正則化が挙げられる。ただし、特徴選択部20が特徴を選択する方法はL1正則化に限られない。
特徴選択には、例えば、matching orthogonal pursuit等の貪欲法的による特徴量選択や、様々な情報量基準による選択も含まれる。なお、正則化法は、多くの特徴量を選ぶごとにペナルティを加える方法である。貪欲法は、有力な特徴量から決められた数の特徴量を選択する方法である。情報量基準は、多くの特徴量を選ぶことによって生じる汎化誤差に基づくペナルティを課す方法である。L1正則化を用いた特徴選択の具体的な方法については、後述される。
学習部30は、第1特徴集合に含まれる特徴および第2特徴集合に含まれる特徴を説明変数とし、予測対象の特徴を被説明変数とする予測モデルを学習する。価格の例の場合、学習部30は、第1特徴集合に含まれる特徴および第2特徴集合に含まれる特徴を説明変数とし、売上数を予測対象とする予測モデルを学習する。その際、学習部30は、第2特徴集合には含まれるが第1特徴集合には含まれない少なくとも一つの特徴を説明変数として用いて、予測モデルを学習する。なお、学習部30は、第1特徴集合に含まれる特徴および第2特徴集合に含まれる特徴の全ての特徴を説明変数とすることが好ましい。
一般的な特徴選択では、第2特徴集合に含まれる特徴が選択されないため、後述する最適化処理に影響するような特徴を含めた学習をすることは困難である。一方、本実施形態では、学習部30が第2特徴集合には含まれるが第1特徴集合には含まれない特徴を説明変数としてモデルを学習するため、後処理である最適化処理を考慮したモデルを生成できる。
最適化部40は、学習部30によって生成された予測モデルを引数として定義される被説明変数の関数を最大化または最小化するように操作変数の値を最適化するする。売上の例の場合、最適化部40は、予測モデルを引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する。より具体的には、最適化部40は、予測モデルを用いて予測される売上数を引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する。
予測モデルを用いて最適化する際、最適化部40に予測誤差の分布を表す情報を入力し、それに基づく最適化を行うことができる。つまり、予測誤差が大きい戦略に対してペナルティを課すことで、リスクの高い戦略を避けるような最適化ができる。これは、予測誤差を用いない最適化と対比して、ロバスト最適化、確率最適化などと呼ばれる。例えば、予測モデルがy=a1x1+bで表される場合、予測誤差の分布は、a1およびbに関する分布である。予測誤差の分布とは、例えば、分散共分散行列である。ここで入力される予測誤差の分布は、予測モデルの内容、より具体的には、第2特徴集合には含まれるが第1特徴集合には含まれない特徴に依存する。
例えば、操作変数をx1、説明変数であって第1特徴集合に含まれる特徴をz1、説明変数であって第2特徴集合には含まれるが第1特徴集合には含まれない特徴をz2、被説明変数をyとする。第2特徴集合には含まれるが第1特徴集合には含まれない特徴(すなわち、z2)を考慮しないような一般的な特徴選択が行われる場合、例えば、以下の式2に示す予測モデルが生成される。
y=a1x1+a2z1+b (式2)
一方、本実施形態のように、z2を考慮した特徴選択が行われる場合、例えば、以下の式3に示す予測モデルが生成される。
y=a1x1+a2z1+a3z2+b (式3)
このように予測モデルの生成には必ずしも必要がない特徴(z2)であっても、予測モデルに含めるように特徴選択が行われているため、より適切な予測誤差の分布を最適化部40に入力できる。
上述する傘の価格の最適化問題では、上記式2は、天気に関する特徴量zが選択されなかった場合に対応し、上記式3は、天気に関する特徴量zが選択された場合に対応する。上記式2は、予測誤差の分布は、価格が高いときも低いときも予測精度が高いことを示す。一方、上記式3は、雨で価格が高い場合の予測精度はよいが、晴れで価格が高い場合の予測精度は低い、という情報を表す予測誤差分布を含む。よって、式3に示すような状況を踏まえて最適化を行うことにより、特徴量選択が原因でリスクの高い戦略が選択されてしまうという状況を避けることができる。
最適化部40が最適化処理を行う方法は任意であり、一般的な最適化問題を解く方法を用いて操作変数(価格)を最適化すればよい。
出力部50は、最適化結果を出力する。例えば、売上高を高くするように価格最適化を行った場合、出力部50は、最適な価格と、その時の売上高を出力してもよい。
また、出力部50は、最適化結果だけでなく、特徴選択部20が選択した第1特徴集合と第2特徴集合を出力してもよい。このとき、出力部50は、第1特徴集合に含まれる特徴と、第2特徴集合には含まれるが第1特徴集合には含まれない特徴とを、区別し得る態様で出力してもよい。区別し得る態様で出力する方法の例として、第2特徴集合には含まれるが第1特徴集合には含まれない特徴の色を変える方法、強調表示する方法、大きさを変える方法、斜体で表示する方法などが挙げられる。また、出力部50の出力先は任意であり、例えば、価格最適化システム100が備えるディスプレイ装置などの表示装置(図示せず)であってもよい。
第1特徴集合は一般的な特徴選択処理で選択された特徴であり、第2特徴集合は後処理である最適化処理を考慮して選択された特徴であって一般的な特徴選択処理では現れない特徴である。このような特徴を区別して表示することで、最適化処理を実行する際に用いる適切な特徴をユーザが把握し、選択することが可能になる。その結果、ユーザは表示された情報を閲覧し、ドメイン知識を生かした特徴の調整も可能になる。
受付部10と、特徴選択部20と、学習部30と、最適化部40と、出力部50とは、プログラム(価格最適化プログラム、特徴選択プログラム)に従って動作するコンピュータのCPUによって実現される。
例えば、プログラムは、価格最適化システム100が備える記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、受付部10と、特徴選択部20と、学習部30と、最適化部40とおよび出力部50として動作してもよい。
また、受付部10と、特徴選択部20と、学習部30と、最適化部40と、出力部50とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、本実施形態の価格最適化システム100の動作例を説明する。図2は、価格最適化システム100が価格最適化を行う場合の動作例を示すフローチャートである。
特徴選択部20は、商品の売上数に影響し得る特徴の集合(すなわち、説明変数zの候補)から、売上数(すなわち、被説明変数y)に影響する第1特徴集合を選択する(ステップS11)。さらに、特徴選択部20は、商品の売上数に影響し得る特徴の集合から、商品の価格(すなわち、操作変数x)に影響する第2特徴集合を選択する(ステップS12)。
学習部30は、第1特徴集合と第2特徴集合に含まれる特徴を説明変数とし、売上数を予測対象とする予測モデルを学習する。その際、学習部30は、第2特徴集合には含まれるが第1特徴集合に含まれない少なくとも1つの特徴を説明変数とする予測モデルを学習する(ステップS13)。
最適化部40は、予測モデルを引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する(ステップS14)。
また、図3は、価格最適化システム100が予測対象と操作変数の指定に応じて特徴を選択する処理の例を示すフローチャートである。
受付部10は、予測対象(すなわち、被説明変数y)の指定と、操作変数(すなわち、操作変数x)の指定とを受け付ける(ステップS21)。特徴選択部20は、予測対象に影響し得る特徴の集合(すなわち、説明変数zの候補)から、その予測対象に影響する第1特徴集合と、操作変数に影響する第2特徴集合とを選択する(ステップS22)。特徴選択部20は、選択した第1特徴集合および第2特徴集合を学習部30に入力してもよい。
出力部50は、第1特徴集合と第2特徴集合とを出力する(ステップS23)。このとき、出力部50は、第1特徴集合に含まれる特徴と、第2特徴集合には含まれるが第1特徴集合には含まれない特徴とを、区別し得る態様にて出力してもよい。
以上のように、本実施形態では、特徴選択部20が、商品の売上数に影響し得る特徴の集合から、売上数に影響する第1特徴集合と、商品の価格に影響する第2特徴集合とを選択し、学習部30が、第1特徴集合と第2特徴集合に含まれる特徴を説明変数とし、売上数を予測対象とする予測モデルを学習し、最適化部40が、予測モデルを引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する。その際、学習部30は、第2特徴集合には含まれるが第1特徴集合に含まれない少なくとも1つの特徴を説明変数とする予測モデルを学習する。
よって、予測に基づいて価格を最適化する場合において、危うい戦略を回避できるように価格の最適化を行うための特徴を選択できる。
また、本実施形態では、受付部10が予測対象の指定と、操作変数の指定とを受け付け、特徴選択部20が、予測対象に影響し得る特徴の集合から、その予測対象に影響する第1特徴集合と、操作変数に影響する第2特徴集合とを選択して、出力部50が出力する。
よって、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる。
次に、本実施形態の価格最適化システム100が特徴を選択する処理を、L1正則化の具体例を用いて説明する。前述した通り、L1正則化は数ある特徴選択技術の一具体例に過ぎず、本発明に用いることができる特徴選択技術はL1正則化には限定されない。ここでは、雨の日の午後に傘が売れる、という例を考える。操作変数xが傘の価格を表わし、被説明変数yが傘の売上数を表わし、説明変数z1~z3が、それぞれ「午前に雨であるか」、「午後に雨であるか」、「月末(15日以降)」であるか、を0-1変数で表すものとする。ここで、真の売上数yが、以下の式4として生成されているとする。
y=-7z1+14z2-x/50+15+ノイズ (式4)
式4では、午後に雨(すなわち、z2=1)である場合には売り上げが伸びるが、午前に雨が降っていると(例えば、顧客が午前にすでに傘を買っているため)、売上が落ちる、というモデルを想定している。また、説明変数z3は、説明変数の候補ではあるが、売上に関係しない変数であるといえる。なお、ノイズは、説明を簡略化するため、(0,1,2)の値をランダムにとるものとする。
一方で、雨の日に傘が売れることを知っている店主は、以下に示す式5に基づいて傘の値段を設定しているものとする。
x=-100z1+200z2+500 (式5)
図4は、データベースに記録された店舗の売上記録の例を示す説明図である。図4に示す例では、Idで識別される集計単位ごとに価格x、その集計時の午後の売上数y、および、その集計時の特徴の有無が記録されていることを示す。例えば、Id=1で識別される売上記録は、午前および午後のいずれも雨が降っていない月末に、価格を500円に設定した場合、午後の傘の売上数が6本であったことを示す。
このようなデータに基づき、予測のための特徴選択が行われるとする。以下の説明では、特徴選択部20は、L1正則化(Lasso)を用いて、以下に示す式6を最小化する非ゼロのwiを選択することにより、特徴選択を行う。なお、式6において、Lassoのペナルティの係数を、後述する説明を簡易にするため、1/10としている。
十分なデータが得られているとの前提のもと、以下の式7または式8に示す関係を満たすwi(および、適切に選ばれたc)と、それらの線形結合(a×(式7に示すwi)+(1-a)×(式8に示すwi))とは、同様によくデータを説明し、式6における第一項が最小になる。しかし、式6における第二項のスパース性に対する制約から、式7に示すwiの組が得られる。これは、式7に示すwiの組では第二項から算出されるペナルティが1/200であるのに対し、式8に示すwiの組では第二項から算出されるペナルティが1.5になるためである。したがって、特徴としてxが選択される。
w0=1/20,w1=w2=w3=0 (式7)
w0=0,w1=-5,w2=10,w3=0 (式8)
w0=0,w1=-5,w2=10,w3=0 (式8)
なお、本具体例では、理想的なw0が明らかに小さい場合を例示しているが、w0が大きい場合にも、特徴選択の設定においてw0を必ず選ぶと指定することにより、同様の現象を観測できる。この設定は、特に、後処理の最適化を想定した場合で、価格を示す特徴に残ってほしい、と想定した場合になされる。
さらに、特徴選択部20は、式6に基づいて選択された特徴に加え、xを説明する特徴もさらに選択する。具体的には、特徴選択部20は、以下に示す式9を最小化する非ゼロのw´iを選択することにより、特徴選択を行う。
w´1=-100,w´2=-200のとき、式9における第一項が最小になる。例えば、5日に一度は午前および午後が独立に雨である、といったような雨の日の頻度が十分高い場合、第一項を最小化する効果は、第二項のペナルティに比べて十分大きくなる。結果して、w´1=-100,w´2=-200が解になるため、特徴としてz1およびz2が選択される。以上、本実施形態にかかる発明を、L1正則化を用いて実行した具体例について説明した。本発明に用いることができる特徴選択技術は、L1正則化には限定されず、他の特徴選択技術を用いることも可能である。
以上の特徴選択処理により、すなわち、予測対象を説明する特徴に加えて、操作変数を説明する特徴もさらに選択する特徴選択処理により、x,z1およびz2が特徴として選択される。言い換えると、最適化部40は、最適化に必要な特徴としてx,z1およびz2を認識できることから、最適化には天気を考慮すべきと判断できるため、例えば、「晴れの日に傘を高い値段で売る」という、危うい戦略を選択することを回避できる。
ここで、上述する危うい戦略を選択することを回避できる理由を、より詳細に説明する。特徴x,z1およびz2が正しく選択されたとして、以下の式10で示す予測式を作成し、w0ハット、w1ハットおよびw2ハット(ハットは、上付き^)を推定により得ることを考える。
xベクトルおよびwハットベクトルを以下の式11で表すと、yハットは、以下の式12で表される。
過去の戦略xは、上記式5に基づき、以下の式13のように生成されたとする。
x=-100z1+200z2+500+ε2 (式13)
なお、式10および式13において、ε1~N(0,σ1
2)、ε2~N(0,σ2
2)で、σ2
2はσ1
2およびデータ数nに比べて十分に小さいとする。なお、N(0,σ2)は、平均0、分散σ2の正規分布を表す。
ここで、ベクトルv1、v2、v3を規定する。まず、v1を以下の式14のように規定する。v1は、上記式13を満たす(x z1 z2)に対して、以下の式15を満たす。
推定法として、最小二乗法が用いられるとする。このとき、真の係数w*T=(-1/50 -7 14 15)として、推定値は、近似的に以下の式16に示す確率分布に従う。ここでは、説明の簡略化のため、式17に示す近似式を想定する。
式17において、σ2´=0(σ2)であり、γ2,γ3,γ4は定数である。また、v2,v3,v4はv1も含めて互いに直交な規格化されたベクトルである。
最適化の際、z1,z2の実現値チルダz1,チルダz2(チルダは上付き~)が得られたとする。このとき、以下の式18に示す楕円状の不確実性領域におけるロバスト最適化法を考える。
式18において、推定値wベクトルハットと、その予測誤差の分散共分散行列Σが得られていると仮定する。Σもその推定値で置き換えられてもよい。また、λは、適切に選ばれた正のパラメータである。このとき、以下に示す式19が成り立つ。
いま、1/σ2´がσ1/√nに比べ十分に大きいことから、上記式15を満たさない価格戦略xは、上記式18において、大きなペナルティをうける。よって、以下に示す式20を満たす価格が選ばれやすい。
上記式20は、上記式13を満たすことと等価である。よって、上記具体例では、「晴れの日には低い価格をつける」ということに相当する。
以上の内容は、以下のように一般化される。真のパラメータθ*に対する戦略xの最適化問題を以下に示す式21で定義する。
式21において、Xはドメイン、vは関数である。ここで、θ*の代わりにその推定値θハットと誤差分布が得られた場合のロバスト最適化問題を考える。誤差に正規性を仮定すると、典型的には、誤差の分散共分散行列Σを用いて、以下の式22が定義される。なお、式22にとは異なる方法でロバスト最適化法を用いてもよい。式22では、第2項が、予測分散が大きい戦略に対するペナルティとして働く。
以上、危うい戦略を選択することを回避できる理由を説明した。また、本実施形態の説明から、以下のことも説明される。上記式1に示すように、p(y=多い|x=高い)とp(y=多い|do(x=高い))とは等しくない。一方で、介入を行って得られた値(do(x=高い))が用いられる場合であっても、予測対象yを説明できる特徴量だけでなく、操作変数xを説明できる特徴量を残せばよい。これは、以下の式23で表す内容を意味する。
p(y=多い|x=高い,z=雨)=p(y=多い|do(x=高い),z=雨)
(式23)
(式23)
次に、本発明の概要を説明する。図5は、本発明による特徴選択システムの概要を示すブロック図である。本発明による特徴選択システム90は、ユーザによる外部からのデータ(より具体的には、特徴の集合)の入力を受け付ける。図6は、図5に例示する特徴選択システムがユーザにより外部から受け付けるデータの具体例を示す説明図である。図6に例示するデータは、日ごとの傘の価格および傘の売上数、並びに、その日の状況(例えば、天気、最高気温、広告を出したか否か、祝日か否か、など)を示すデータである。
本発明による特徴選択システム90は、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数(例えば、操作変数x)を算出する場合におけるその予測モデルの学習に用いられる特徴を選択する特徴選択システムであって、予測対象(例えば、被説明変数y)の指定と、操作変数の指定とを受け付ける受付部91(例えば、受付部10)と、予測対象に影響し得る特徴(例えば、説明変数zの候補)の集合から、その予測対象に影響する特徴の集合である第1特徴集合と、操作変数に影響する特徴の集合である第2特徴集合とを選択する特徴選択部92(例えば、特徴選択部20)と、第1特徴集合と第2特徴集合とを出力する出力部93(例えば、出力部50)とを備えている。
そのような構成により、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる
例えば、傘の価格の最適化問題の場合、図6に示す例では、特徴選択システム90(より具体的には、受付部91)は、予測対象(被説明変数y)の指定に傘の売上数を受け付け、操作変数(操作変数x)の指定に傘の価格を受け付ける。また、特徴選択システム90(より具体的には、受付部91)は、予測対象に影響し得る特徴(説明変数zの候補)の集合の指定に、その日の状況(例えば、天気、最高気温、広告を出したか否か、祝日か否か、など)を受け付ける。なお、特徴選択システム90は、特徴の集合として、傘の価格およびその日の状況を受け付け、その特徴のうち、傘の価格が操作変数である旨の識別情報(それ以外は、説明変数zの候補である旨の情報)を併せて受け付けてもよい。
また、特徴選択システム90は、第2特徴集合には含まれるが第1特徴集合に含まれない少なくとも1つの特徴を説明変数とする予測モデルを学習する学習部(例えば、学習部30)を備えていてもよい。
そして、学習部は、第1特徴集合に含まれる特徴および第2特徴集合に含まれる特徴の全てを説明変数とし、予測対象である特徴を被説明変数とするモデルを学習してもよい。そのような構成により、最適化処理の入力として用いられる予測モデルを、後処理である最適化処理をも考慮して適切に学習することができる。
また、出力部93は、第1特徴集合に含まれる特徴と、第2特徴集合には含まれるが第1特徴集合には含まれない特徴とを、区別し得る態様にて表示装置に表示してもよい。そのような構成により、予測に特化した場合に選択される特徴と、後処理である最適化処理を考慮した場合にはじめて選択される特徴とを区別することができる。
また、特徴選択部92は、予測対象に影響し得る特徴の集合から、予測対象を被説明変数として特徴選択処理を行うことで第1特徴集合を取得し、予測対象に影響し得る特徴の集合から、操作変数を被説明変数として特徴選択処理を行うことで第2特徴集合を取得してもよい。そして、出力部93は、取得された第1特徴集合と第2特徴集合との和集合を出力してもよい。
なお、特徴選択部92は、操作変数として指定された特徴を第1特徴集合に含めるように選択する。このように、操作変数として指定された特徴を必ず残すことにより、後処理である最適化処理が可能になる。
特徴選択システム90は、例えば予測に基づく最適化に用いられる予測モデルを学習するための特徴選択機能を備えた、パッケージソフトウェアやAPI(Application Program Interface )として実装されてもよい。このような特徴選択機能がSaaS(Software as a Service)形式で提供されても良い。
図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、CPU1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
上述の情報処理システムは、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラム(特徴選択プログラム)の形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行しても良い。
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
本発明は、予測に用いる特徴を選択する特徴選択システムに好適に適用される。例えば、本発明をホテルの価格を最適化に用いられる特徴を選択するようなシステムにも好適に適用される。また、本発明は、例えば、データベースと結合され、予測に基づいて最適化した結果(最適解)を出力するシステムに好適に適用される。この場合、例えば、特徴量の選択処理とそれ踏まえた最適化処理とを一まとめに行うシステムとして提供されてもよい。
10 受付部
20 特徴選択部
30 学習部
40 最適化部
50 出力部
100 価格最適化システム
20 特徴選択部
30 学習部
40 最適化部
50 出力部
100 価格最適化システム
Claims (10)
- 予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合における当該予測モデルの学習に用いられる特徴を選択する特徴選択システムであって、
予測対象の指定と、前記操作変数の指定とを受け付ける受付部と、
前記予測対象に影響し得る特徴の集合から、当該予測対象に影響する特徴の集合である第1特徴集合と、前記操作変数に影響する特徴の集合である第2特徴集合とを選択する特徴選択部と、
前記第1特徴集合と第2特徴集合とを出力する出力部とを備えた
ことを特徴とする特徴選択システム。 - 第2特徴集合には含まれるが第1特徴集合に含まれない少なくとも1つの特徴を説明変数とする予測モデルを学習する学習部を備えた
請求項1記載の特徴選択システム。 - 学習部は、第1特徴集合に含まれる特徴および第2特徴集合に含まれる特徴の全てを説明変数とし、予測対象である特徴を被説明変数とするモデルを学習する
請求項2記載の特徴選択システム。 - 出力部は、第1特徴集合に含まれる特徴と、第2特徴集合には含まれるが第1特徴集合には含まれない特徴とを、区別し得る態様にて表示装置に表示する
請求項1から請求項3のうちのいずれか1項に記載の特徴選択システム。 - 特徴選択部は、予測対象に影響し得る特徴の集合から、予測対象を被説明変数として特徴選択処理を行うことで第1特徴集合を取得し、予測対象に影響し得る特徴の集合から、操作変数を被説明変数として特徴選択処理を行うことで第2特徴集合を取得し、
出力部は、取得された前記第1特徴集合と前記第2特徴集合との和集合を出力する
請求項1から請求項4のうちのいずれか1項に記載の特徴選択システム。 - 特徴選択部は、操作変数として指定された特徴を第1特徴集合に含めるように選択する
請求項1から請求項5のうちのいずれか1項に記載の特徴選択システム。 - 予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合における当該予測モデルの学習に用いられる特徴を選択する特徴選択方法であって、
予測対象の指定と、前記操作変数の指定とを受け付け、
前記予測対象に影響し得る特徴の集合から、当該予測対象に影響する特徴の集合である第1特徴集合と、前記操作変数に影響する特徴の集合である第2特徴集合とを選択し、
前記第1特徴集合と第2特徴集合とを出力する
ことを特徴とする特徴選択方法。 - 第2特徴集合には含まれるが第1特徴集合に含まれない少なくとも1つの特徴を説明変数とする予測モデルを学習する
請求項7記載の特徴選択方法。 - 予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合における当該予測モデルの学習に用いられる特徴を選択するコンピュータに適用される特徴選択プログラムであって、
前記コンピュータに、
予測対象の指定と、前記操作変数の指定とを受け付ける受付処理、
前記予測対象に影響し得る特徴の集合から、当該予測対象に影響する特徴の集合である第1特徴集合と、前記操作変数に影響する特徴の集合である第2特徴集合とを選択する特徴選択処理、および、
前記第1特徴集合と第2特徴集合とを出力する出力処理
を実行させるための特徴選択プログラム。 - コンピュータに、
第2特徴集合には含まれるが第1特徴集合に含まれない少なくとも1つの特徴を説明変数とする予測モデルを学習する学習処理を実行させる
請求項9記載の特徴選択プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019500917A JP6708295B2 (ja) | 2017-02-22 | 2017-02-22 | 特徴選択システム、特徴選択方法および特徴選択プログラム |
PCT/JP2017/006647 WO2018154663A1 (ja) | 2017-02-22 | 2017-02-22 | 特徴選択システム、特徴選択方法および特徴選択プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/006647 WO2018154663A1 (ja) | 2017-02-22 | 2017-02-22 | 特徴選択システム、特徴選択方法および特徴選択プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018154663A1 true WO2018154663A1 (ja) | 2018-08-30 |
Family
ID=63253628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/006647 WO2018154663A1 (ja) | 2017-02-22 | 2017-02-22 | 特徴選択システム、特徴選択方法および特徴選択プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6708295B2 (ja) |
WO (1) | WO2018154663A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015138544A (ja) * | 2014-01-21 | 2015-07-30 | 横河電機株式会社 | 工業プラントにおける多変数予測コントローラの制御変数を監視するための方法およびシステム |
WO2016047118A1 (ja) * | 2014-09-26 | 2016-03-31 | 日本電気株式会社 | モデル評価装置、モデル評価方法、及び、プログラム記録媒体 |
-
2017
- 2017-02-22 WO PCT/JP2017/006647 patent/WO2018154663A1/ja active Application Filing
- 2017-02-22 JP JP2019500917A patent/JP6708295B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015138544A (ja) * | 2014-01-21 | 2015-07-30 | 横河電機株式会社 | 工業プラントにおける多変数予測コントローラの制御変数を監視するための方法およびシステム |
WO2016047118A1 (ja) * | 2014-09-26 | 2016-03-31 | 日本電気株式会社 | モデル評価装置、モデル評価方法、及び、プログラム記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2018154663A1 (ja) | 2019-06-27 |
JP6708295B2 (ja) | 2020-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160364783A1 (en) | Systems and methods for vehicle purchase recommendations | |
US20180075360A1 (en) | Accuracy-estimating-model generating system and accuracy estimating system | |
Gallego et al. | Online learning | |
JP2019519027A (ja) | 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨 | |
US20190266619A1 (en) | Behavior pattern search system and behavior pattern search method | |
US20210103858A1 (en) | Method and system for model auto-selection using an ensemble of machine learning models | |
US20090271139A1 (en) | Test case generation apparatus, generation method therefor, and program storage medium | |
US10984343B2 (en) | Training and estimation of selection behavior of target | |
US10725999B2 (en) | Extraction program, extraction device and extraction method | |
WO2018154662A1 (ja) | 価格最適化システム、価格最適化方法および価格最適化プログラム | |
US20190385178A1 (en) | Prediction system and prediction method | |
US20170140395A1 (en) | Selling status display method, selling status display apparatus, and recording medium | |
US10922219B2 (en) | A/B test apparatus, method, program, and system | |
US20220351051A1 (en) | Analysis system, apparatus, control method, and program | |
JP2015114988A (ja) | 処理装置、処理方法、およびプログラム | |
Crönert et al. | Inverse optimization of integer programming games for parameter estimation arising from competitive retail location selection | |
US20220027760A1 (en) | Learning device and learning method | |
WO2018154663A1 (ja) | 特徴選択システム、特徴選択方法および特徴選択プログラム | |
CN117764633A (zh) | 自监督学习模型的生成方法和转化率预估模型的生成方法 | |
JP7464115B2 (ja) | 学習装置、学習方法および学習プログラム | |
US20170262144A1 (en) | Multiple product attribute visualization | |
JP2015114987A (ja) | 処理装置、処理方法、およびプログラム | |
CN110163652B (zh) | 获客转化率预估方法及装置、计算机可读存储介质 | |
JP2018190126A (ja) | 分析装置、分析方法及び分析プログラム | |
CN110084541B (zh) | 用于预测供应商送货时长的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17897349 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019500917 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17897349 Country of ref document: EP Kind code of ref document: A1 |