Learning Device
Patent Information
- Application Number
- JP2022530076
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-08
- Filing Date
- 2021-05-13
- Publication Date
- 2025-02-17
- Estimated Expiration
- 2041-05-13
Smart Images

Figure 0007630510000001 
Figure 0007630510000002 
Figure 0007630510000003
Abstract
Description
[Technical field]
[0001] One aspect of the present invention relates to a learning device. [Background technology]
[0002] A mechanism is known for calculating the probability (selection probability) that a particular user will take a predetermined action (e.g., viewing, purchasing, or rating a certain product, or visiting or rating a certain location) based on the user's behavioral history data (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2016-103107 A Summary of the Invention [Problem to be solved by the invention]
[0004] When applying the above mechanism to predict the actions of multiple users, it is necessary to calculate (learn) the probability of performing each action for each user. In this case, the number of parameters to be learned (i.e., the number of users x the number of actions) becomes large, which may result in a very large amount of calculations for learning and a huge amount of required computing resources.
[0005] An object of one aspect of the present invention is to provide a learning device that can effectively reduce the computational resources required for learning a prediction model that predicts the behaviors of multiple users. [Means for solving the problem]
[0006] A learning device according to one aspect of the present invention includes an acquisition unit that acquires behavioral history data indicating the behavioral history of each of a plurality of users, and a learning unit that uses the behavioral history data as teacher data to learn a first group of parameters and a second group of parameters included in a predictive model for predicting the behavior of each of the plurality of users, wherein the first group of parameters is a group of parameters related to the membership rate of each user to each of a plurality of clusters, and the second group of parameters is a group of parameters related to the behavioral tendency of each cluster for each of a plurality of actions.
[0007] A learning device according to an aspect of the present invention learns a first parameter group indicating the relationship between users and clusters and a second parameter group indicating the relationship between clusters and actions, instead of directly learning the probability that each of a plurality of users will perform each of a plurality of actions (i.e., the correspondence between users and actions). Here, a simplified example is shown below for a case where the number of users is 10 million, the number of actions is 10,000, and the number of clusters is 100. In this case, in the former case, the number of parameters to be learned is "100 billion (= the number of users (10 million) x the number of actions (10,000))". On the other hand, in the latter case, the number of parameters to be learned is "1,001,000,000 (= the number of users (10 million) x the number of clusters (100) + the number of clusters (100) x the number of actions (10,000))". In this way, according to the learning device according to an aspect of the present invention, the number of parameters to be learned can be effectively reduced. As a result, it is possible to effectively reduce the computational resources required for learning a prediction model. Effect of the Invention
[0008] According to one aspect of the present invention, it is possible to provide a learning device that can effectively reduce the computational resources required for learning a prediction model that predicts the behaviors of multiple users. [Brief description of the drawings]
[0009] [Figure 1] FIG. 2 is a diagram illustrating a functional configuration of a learning device according to an embodiment. [Diagram 2]FIG. 2 is a diagram illustrating an example of behavior history data. [Diagram 3] FIG. 13 is a diagram illustrating an example of a prediction model. [Figure 4] FIG. 13 is a diagram illustrating another example of a prediction model. [Diagram 5] 10 is a diagram illustrating a schematic diagram of a relationship between a parameter set P relating to behavioral tendencies of each user, a parameter set PC relating to a cluster membership rate, and a parameter set C relating to behavioral tendencies of each cluster. [Figure 6] FIG. 10A is a diagram showing an example of a parameter set PC related to a cluster membership rate, and FIG. 10B is a diagram showing an example of a parameter set C related to a behavioral tendency for each cluster. [Figure 7] FIG. 11 is a diagram for explaining a learning process. [Figure 8] FIG. 4 is a diagram illustrating a first learning process. [Figure 9] FIG. 11 is a diagram illustrating a second learning process. [Figure 10] 13 is a flowchart showing an example of the operation of the learning device. [Figure 11] 13 is a flowchart showing an example of a learning process in a case where the number of clusters is variable. [Figure 12] FIG. 2 illustrates an example of a hardware configuration of a learning device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or corresponding elements are designated by the same reference numerals, and duplicated explanations will be omitted.
[0011] FIG. 1 is a diagram showing a functional configuration of a learning device 10 according to an embodiment. The learning device 10 is a device that learns a prediction model (probabilistic model) for predicting the behavior of each user by using behavior history data indicating the behavior history of each of a plurality of users as teacher data. The learning device 10 may be configured by one computer device (e.g., a server device, etc.), or may be configured by multiple computer devices connected to each other so as to be able to communicate with each other. As shown in FIG. 1, the learning device 10 includes an acquisition unit 11, a behavior history DB 12, a learning unit 13, and a prediction model DB 14.
[0012] The acquisition unit 11 acquires behavior history data of each of a plurality of users. The acquisition unit 11 acquires behavior history data on actions (behaviors) performed by each user during a predetermined target period (for example, a period from "2019 / 11 / 1" to "2019 / 11 / 31"). The behavior history data of each of the plurality of users acquired by the acquisition unit 11 is stored in a behavior history DB 12, which is a database that stores behavior history data.
[0013] 2 is a diagram showing an example of behavior history data. As an example, the behavior history data includes a plurality of records defined for each action performed by a user. Each record is information that associates identification information (user ID) for identifying a user, time information indicating a time, location information indicating a location, and information indicating an action performed by a user identified by the user ID at the time and location.
[0014] The time information may be expressed, for example, by date and time (for example, information expressed in units of minutes, such as year, month, day, and hour and minute). However, the granularity of the time information is not limited to the above, and may be, for example, in units of hours, days, etc.
[0015] The location information may be represented by, for example, latitude and longitude. Alternatively, the location information may be represented by a type of location, such as "home," "office," "station," "convenience store," etc. The location information may be information indicating a relatively wide area, such as "Tokyo," or may be information (identifier) that identifies a regional mesh (e.g., a 500 m mesh).
[0016] The actions may include various user actions such as operations on a user terminal such as a smartphone (e.g., use of a specific application), visits to specific places (e.g., stores), and daily actions (e.g., specific actions such as running, sleeping, and eating). The types of actions acquired as the behavioral history data may be defined in advance, for example, at the design stage of the prediction model. Below, several methods for acquiring behavioral history data are illustrated. However, the method by which the acquisition unit 11 acquires the behavioral history data of each user is not limited to the specific methods illustrated below.
[0017] (First example of acquiring behavioral history data) The acquisition unit 11 may acquire the operation history of the user terminal owned by each user as the behavior history data. For example, when a user operates the user terminal to use a specific application (e.g., a transit search application, a music listening application, a video listening application, etc.), the acquisition unit 11 may acquire the usage history of the application (e.g., information associating the time, place, and the used application) as the behavior history data. At this time, the acquisition unit 11 may acquire, for example, the location information of the user terminal (e.g., information on latitude and longitude obtained by base station positioning, GPS positioning, etc.) as the location information. Alternatively, the acquisition unit 11 may use information indicating the correspondence between the latitude and longitude and the location (e.g., a store, etc.) to identify the above-mentioned location (e.g., a specific store, an area such as "Tokyo", a regional mesh, etc.) from the location information (latitude and longitude) of the user terminal, and acquire the location information indicating the identified location.
[0018] (Second example of acquiring behavioral history data) The acquisition unit 11 may acquire a history of location information of the user terminal and estimate the user's visited location from the history. Then, when it is estimated that the user has visited a specific location (for example, a location registered in advance as a target for which behavior history is to be acquired), the acquisition unit 11 may acquire behavior history data indicating the visit to the specific location (i.e., behavior history data in which the visit to the specific location is registered as an "executed action").
[0019] (Third example of acquiring behavioral history data) The acquisition unit 11 may acquire information on a behavior history that is explicitly input by a user operating a user terminal (for example, information indicating when, where, and what was done) as behavior history data.
[0020] (Fourth example of acquiring behavioral history data) When a user makes a payment using a credit card, a point card, or the like at a store, etc., the acquisition unit 11 may acquire behavior history data that treats the payment process as an "executed action." In this case, the acquisition unit 11 can acquire behavior history data indicating when and where (at which store) an action (payment process) was executed by acquiring the user's payment history from the store, etc., for example.
[0021] (The fifth example of acquiring behavioral history data) The acquisition unit 11 may acquire behavior history data limited to a certain specific behavior. As an example, a case where attention is paid to a user's purchasing behavior will be described. In this case, the acquisition unit 11 may acquire only the history of the user's purchasing behavior (action) as the behavior history data. In this case, the behavior history DB 12 accumulates behavior history data indicating when and at which store each user performed a purchasing behavior. From the behavior history data accumulated in this manner, the tendency of the user's purchasing behavior can be grasped. Examples of the tendency of purchasing behavior include a tendency of a place or time where a purchasing behavior is highly likely to be performed, a tendency of a time interval between successive purchasing behaviors, a tendency of a high probability of shopping at another store B after shopping at a certain store A, and the like.
[0022] The learning unit 13 learns a prediction model by using the behavior history data acquired by the acquisition unit 11 (i.e., the behavior history data stored in the behavior history DB 12) as teacher data. More specifically, the learning unit 13 learns a group of parameters included in the prediction model.
[0023] Before describing the details of the learning process by the learning unit 13, the prediction model M learned by the learning unit 13 will be described with reference to Figs. 3 and 4. The prediction model M is, for example, a machine learning model such as a neural network (multilayer neural network, hierarchical neural network, etc.) model, a point process model, etc. In addition, as an algorithm for learning (parameter estimation) the prediction model M, maximum likelihood estimation, Bayesian estimation, etc. may be used. As shown in Fig. 3 or 4, the prediction model M has parameter groups G, C, and PC as parameters (learned parameters) learned by the learning unit 13. The parameter group G (third parameter group) is a parameter group related to the overall behavioral tendency of multiple users. The parameter group C (second parameter group) is a parameter group related to the behavioral tendency of each cluster. The parameter group PC (first parameter group) is a parameter group related to the cluster belonging rate of each user. The parameter groups G, C, and PC will be described in detail later.
[0024] In the example of FIG. 3, the prediction model M is given the most recent behavioral history data of the user to be predicted (e.g., behavioral history data for the most recent period of a predetermined length) and the prediction target time t as input data. The prediction model M outputs the probability that each of a plurality of predefined actions will be performed by the user to be predicted at the prediction target time t based on the parameter group G, the parameter group C, and the parameter group PC (parameter group related to the user to be predicted). That is, the prediction model M applies the learned parameter groups G, C, and PC to the input data and performs a predetermined calculation, thereby outputting the probability of each action being performed. Such a prediction model M makes it possible to predict the behavior of the user to be predicted at a future point in time (the prediction target time t).
[0025] In the example of FIG. 4, the prediction model M is provided with the most recent behavioral history data of the user to be predicted and information indicating the action to be predicted as input data. The prediction model M outputs information that correlates the probability and time that the action to be predicted will be performed by the user to be predicted based on the parameter set G, the parameter set C, and the parameter set PC (parameter set related to the user to be predicted). Such a prediction model M makes it possible to predict a future time when the user to be predicted is likely (or unlikely) to perform a specific behavior (action to be predicted).
[0026] The usage method of the prediction model M shown in Fig. 3 and Fig. 4 is an example, and data other than the input data shown in the above example may be input to the prediction model M, and data other than the output result shown in the above example may be output. Furthermore, the prediction model M may be configured to be compatible with a plurality of usage methods (for example, the usage methods shown in Fig. 3 and Fig. 4 described above). That is, the prediction model M may operate as in the example shown in Fig. 3 when the most recent behavioral history data of the user to be predicted and the prediction target time t are input, and may operate as in the example shown in Fig. 4 when the most recent behavioral history data of the user to be predicted and information indicating the action to be predicted are input.
[0027] (For parameter group G) Next, a parameter group G related to the behavioral tendency of all users will be described. As an example, the parameter group G may be a plurality of (n) parameter groups G1, . . . , G n The parameter group G can be composed of multiple parameter groups G1, ..., G n One of the parameters may include the following:
[0028] (First example of a parameter group included in parameter group G) The parameter group G may include, for example, a parameter group indicating a correspondence between an action and time. This parameter group holds a parameter related to the probability that a certain action is executed at a certain time for each pair of a time and an action. Here, the "parameter related to probability" may be a value representing the probability itself, or may be a parameter (coefficient) used in a probability calculation formula (for example, see Equation 1 described later) predefined in the prediction model M (same below). As an example, when 10,000 actions are defined and 1440 time points are defined by dividing a day (24 hours) into minutes as time, the parameter group includes 14.4 million (=10,000×1440) parameters. The parameter is, for example, a parameter indicating the magnitude of the probability (i.e., a parameter indicating that the larger the value, the higher the probability).
[0029] (A second example of a parameter group included in parameter group G) The parameter group G may include a parameter group indicating a relationship between actions. This parameter group holds a parameter related to the probability that an arbitrary action B will be executed after an arbitrary action A is executed for each pair of two actions. For example, when 10,000 actions are prepared, the parameter group includes 100 million (=10,000 x 10,000) parameters. The parameter may be, for example, a parameter indicating the degree of probability as in the first example described above, or a parameter corresponding to the period (expected value) from the execution of action A until the execution of action B. In the latter case, the larger the value of the parameter, the lower the probability that action B will be executed immediately after the execution of action A.
[0030] The parameter set G(G1, ..., G n ) may be part of a predefined probability formula for calculating the occurrence probability (probability of execution) of each action. An example of the probability formula is shown below. Equation 1:P(A k|user,time,location,history)=G1(time)+G2(location)+exp(G3(time,location))+…+log(G n (time,history))+F(user)
[0031] In the above formula 1, "A k " is a variable indicating a specific action (for example, an action ID that identifies an action). "user" is a variable indicating a user (for example, a user ID that identifies a user). "time" is a variable indicating time (for example, information indicating the date and time). "location" is a variable indicating a location (for example, latitude and longitude, or an area ID indicating "Tokyo" as exemplified above, or an identifier for a "500m mesh"). "history" is a variable indicating the most recent behavioral history data of a user (the user indicated by the variable "user"). "history" is, for example, a representation of the behavioral history data (multiple records) shown in Figure 2, in a variable-length array, tensor format, etc. "P(A k |user,time,location,history)" is a command that expresses the action (variable "A" in the example) of a certain user (user indicated by the variable "user") at a certain time (time indicated by the variable "time") at a certain location (location indicated by the variable "location"). k " is the probability of performing an action.
[0032] The prediction model M may be, for example, a set of m predefined actions (actions A1, ..., A m ) has a probability calculation formula expressed as the above formula 1. That is, the prediction model M can be configured by a formula defined for each action expressed as the above formula 1, and a learned parameter set G, PC, and C used in the formula.
[0033] "G1(time)" on the right side of the above formula 1 is the time indicated by the variable "time" kSimilarly, "G2(location)" is a parameter related to the probability that action A is executed at the location indicated by the variable "location". k "G3(time,location)" is a parameter related to the probability that action A will be executed when the combination of the time indicated by the variable "time" and the location indicated by the variable "location" is realized. k is a parameter related to the probability that n "(time,history)" is the action A at the time indicated by the variable "time" when the most recent action history is the action history data indicated by the variable "history". k It is a parameter related to the probability that "G3(time, location)" and "G n Like "(time, history)", the parameters may be parameters of any function such as an exponential function (exp function), a logarithmic function (log function), or a trigonometric function (eg, sin, cos, etc.).
[0034] In addition, the parameter group G indicating the tendency of all users described above is a parameter group commonly applied to each of multiple users, and therefore does not have different parameters for each variable "user" in the above formula 1. In other words, the parameter group G alone cannot obtain a prediction result that reflects the characteristics (individual differences) unique to a user. Therefore, in order to obtain a prediction result that reflects the characteristics of each user, the prediction model M has a parameter group (parameter group C, PC) that has different parameters for each variable "user". "F(user)" in the above formula (1) is a parameter group corresponding to the variable "user" in the parameter group C, PC.
[0035] (For parameter groups PC and C) Next, the parameter sets PC and C will be described. First, referring to FIG. 5, the effect of using two parameter sets decomposed into the parameter sets PC and C as parameters indicating the behavioral tendency of each user will be described. As shown in FIG. 5, a method of obtaining a prediction result reflecting the characteristics of each user can be considered to learn a parameter set P that directly specifies the correspondence between the user and the action (for example, a parameter set that holds the degree of the tendency of the user to perform the action for each pair of the user and the action). However, in this method, when the number of users is represented as N and the number of actions is represented as Na, it is necessary to learn parameters of the number "N x Na". For example, when "N = 10 million, Na = 10,000", the number of parameters included in the parameter set P is 100 billion (= 10 million x 10,000). When the number of parameters to be learned becomes huge in this way, the computational resources required for the learning process also become huge, and it may be difficult to complete the learning process within a realistic time.
[0036] Therefore, in this embodiment, instead of using the parameter set P, a parameter set C related to the behavioral tendency of each cluster and a parameter set PC related to the cluster belonging rate of each user are used. In this case, it is possible to roughly grasp the behavioral tendency of each user through the clusters from the information of the parameter set C and the parameter set PC. Here, the number of clusters Nc is set to be smaller than the number of actions Na.
[0037] FIG. 6A shows an example of parameter group C in the case of "Nc=100". Parameter group C has parameters ("N×Nc" parameters) defined for each pair of a user and a cluster. Parameter group C can be expressed in a matrix format. The parameters corresponding to each element of the matrix shown in FIG. 6A indicate the user's membership rate to the cluster (i.e., the degree to which the user fits into the cluster). As an example, the larger the parameter value, the greater the degree to which the user fits into the cluster. In this example, the membership rate of user A to cluster 1 is "0.67". In other words, this indicates that the degree to which user A fits into the behavioral tendency of cluster 1 is "0.67".
[0038] FIG. 6B shows an example of the parameter group PC in the case of "Nc=100". The parameter group PC has parameters ("Nc×Na" parameters) defined for each pair of cluster and action. The parameter group PC can be expressed in a matrix format. The parameters corresponding to each element of the matrix shown in FIG. 6B indicate the tendency of the cluster with respect to the action. For example, the parameter indicates the degree of the probability (or tendency) that the cluster (user belonging to the cluster) will execute the action. In other words, the larger the parameter value, the higher the probability that the cluster (user belonging to the cluster) will execute the action. In this example, the probability that cluster 1 (user belonging to cluster 1) will execute action 1 is set to "0.28".
[0039] In the example of FIG. 6B, the parameter group PC includes only parameters related to one pattern (i.e., a general tendency common to all time periods), but the parameter group PC may include parameter groups as shown in FIG. 6B for each of a plurality of patterns (e.g., four time periods such as morning, afternoon, evening, and night). In this case, "F(user)" in the probability calculation formula of the above formula 1 is rewritten as "F(user, time)". In this embodiment, for the sake of simplicity, the parameter group PC is assumed to include only the parameter group of one pattern shown in FIG. 6B.
[0040] In this way, by using parameter sets C and PC instead of parameter set P, the number of parameters to be learned can be reduced. Specifically, while the number of parameters in parameter set PC is "N×Na", the number of parameters in parameter sets C and PC combined is "N×Nc+Nc×Na". Therefore, by making the number of clusters Nc sufficiently smaller than the number of actions Na, the number of parameters can be significantly reduced. For example, in the above-mentioned example, when "N=10 million, Na=10,000, Nc=100", the number of parameters in parameter set PC is "100 billion", while the number of parameters in parameter sets C and PC combined is "1,001,000,000". In other words, by using parameter sets C and PC instead of parameter set P, the number of parameters can be reduced by the order of the number of actions Na (here, 10 4 ) and the order of the number of clusters Nc (here, 10 2 ) (here, a difference of 100 times) can be used to reduce the number of parameters.
[0041] Next, the learning process by the learning unit 13 will be described in detail. As an example, the learning unit 13 executes a first learning process and a second learning process. More specifically, the learning unit 13 is configured to execute the second learning process after executing the first learning process. That is, the learning unit 13 does not learn the parameter group PC related to the cluster belonging rate of each of the multiple users at once, but divides the multiple users into a user group A (first user group) and a user group B (second user group), and executes the learning process in stages. More specifically, as shown in FIG. 7, the above-mentioned parameter group PC is divided into a parameter group PCa related to the cluster belonging rate of the user group A and a parameter group PCb related to the cluster belonging rate of the user group B, and these parameter groups PCa and PCb are not learned simultaneously but are learned in stages.
[0042] (First learning process) Fig. 8 is a diagram showing a schematic diagram of the first learning process. As shown in Fig. 8, the first learning process is a process of learning a parameter set G related to the behavioral tendency of all users, a parameter set C related to the behavioral tendency of each cluster, and a parameter set PCa related to the cluster belonging rate of the user group A by using the behavioral history data of each user included in the user group A as teacher data. That is, the first learning unit 13A generates the learned parameter sets G, C, and PCa from the behavioral history data of a part of users (user group A).
[0043] As described above, the learning unit 13 executes the first learning process by using a learning (parameter estimation) algorithm such as maximum likelihood estimation or Bayesian estimation for a machine learning model such as a neural network (multilayer neural network, hierarchical neural network, etc.) model or a point process model.
[0044] (Second learning process) FIG. 9 is a diagram showing a schematic diagram of the second learning process. As shown in FIG. 9, the second learning process is a process of learning a parameter group PCb related to the cluster belonging rate of the user group B without changing the parameter groups G, C, and PCa learned by the first learning process by using the behavior history data of each user included in the user group B as teacher data. That is, the learning unit 13 learns only the parameter group PCb after treating the learned parameter groups G and C obtained by the first learning process as fixed parameters. Note that since the user group B is independent of the user group A, the parameter group PCa related to the cluster belonging rate of the user group A learned by the first learning process does not affect the learning of the parameter group PCb related to the cluster belonging rate of the user group B. The second learning process is different from the first learning process only in the parameter group to be learned, and the machine learning model and algorithm used in the second learning process are the same as the machine learning model and algorithm used in the first learning process.
[0045] Next, the effect of executing the first learning process and the second learning process in stages will be described. To this end, the amount of calculation required for each of the cases where the parameter groups G, C, and PC are simultaneously learned using the behavior history data of all users (i.e., both user group A and user group B) (hereinafter referred to as the "comparative example") and where the parameter group G, C, and PCa are learned by the first learning process as described above and then the parameter group PCb is learned by the second learning process (hereinafter referred to as the "embodiment"). In the following description, the following notations will be used. O(G): The unit computational complexity required to learn the parameter set G O(PC): The unit computational complexity required for learning the parameter set PC O(PCa): The unit computational complexity required for learning the parameter set PCa O(PCb): The unit computational complexity required for learning the parameter set PCb O(C): The unit computational effort required to learn the parameter set C N: Total number of users N A : Number of users in user group A N B: Number of users in user group B M: The length of the behavioral history data for each user used as training data
[0046] Here, the length "M" of the behavior history data for each user used as teacher data is the number of records included in the behavior history data. For simplicity, it is assumed that there is no variation in the length of the behavior history data between users. In addition, O(G), O(PC), and O(C) defined above are the amount of calculation (unit amount of calculation) required to learn one piece of teacher data. Therefore, the amount of calculation required to learn a certain parameter group is expressed by the product of the number of teacher data and the unit amount of calculation of the parameter group. In addition, it is assumed that the unit amount of calculation O(G) of the parameter group G is sufficiently larger than the combined unit amount of calculation of the parameter groups PC and C (O(PC)+O(C)). As an example, it is assumed that the following formula 2 holds. In addition, it is assumed that the unit amount of calculation of the parameter groups PC, PCa, and PCb is equivalent. Specifically, it is assumed that the following formula 3 holds. Equation 2: O(G) = 1000 × {O(PC) + O(C)} Equation 3: O(PC) ≒ O(PCa) ≒ O(PCb)
[0047] Based on the above assumptions, the amount of calculation AC1 required in the comparative example is expressed by the following formula 4. Equation 4: AC1 = M × N × {O(G) + O(PC) + O(C)}
[0048] Here, when Equation 2 is applied to Equation 4, Equation 4 is transformed into Equation 5 below. Formula 5: AC1 = M × N × 1001 × {O(PC) + O(C)}
[0049] On the other hand, the amount of calculation AC2 required in the embodiment is expressed by the following formula 6. Equation 6: AC2=M×N A ×{O(G)+O(PCa)+O(C)}+M×N B ×O(PCb)
[0050] The first term of Equation 6 represents the amount of calculation required for the first learning process, and the second term of Equation 6 represents the amount of calculation required for the second learning process. When Equation 3 is applied to Equation 6, Equation 6 is transformed into Equation 7 below. Equation 7: AC2=M×N A ×1001×{O(PC)+O(C)}+M×N B ×O(PC)
[0051] In the case of Equation 7, when considering the amount of calculation (order), the first term is more dominant than the second term. In light of the above, the relationship of Equation 8 below is established between the amount of calculation AC1 of the comparative example shown in Equation 5 and the amount of calculation AC2 of the embodiment shown in Equation 7. Equation 8: AC2 / AC1≒N A / N
[0052] That is, according to the embodiment, the total amount of calculation is N A For example, if the total number of users N is 10 million, and the number of users in user group A is N A In the case where the number of users is 100,000, the embodiment can perform the learning process with 1 / 100 the amount of calculations required for the comparative example. That is, according to the embodiment, the learning of the parameter group G related to the overall user tendency is performed using as few samples (user group A) as possible, so that the overall amount of calculations can be effectively reduced. In addition, when learning the overall user tendency, if the number of samples (number of users) is too large, a problem of overfitting may occur. According to the embodiment, the occurrence of such a problem of overfitting can also be suppressed.
[0053] The learned parameter sets G, C, PCa, and PCb learned by the learning unit 13 as described above are stored in a prediction model DB 14, which is a database that stores the prediction model M.
[0054] Next, an example of the operation of the learning device 10 will be described with reference to the flowchart of FIG.
[0055] In step S1, the acquisition unit 11 acquires behavior history data (see FIG. 2) of each of a plurality of users. The behavior history data acquired by the acquisition unit 11 is stored in the behavior history DB 12.
[0056] In step S2, the learning unit 13 learns the parameter group G, C, and PCa included in the prediction model M by executing the above-mentioned first learning process using the behavioral history data of the first user group (user group A) as teacher data.
[0057] In step S3, the learning unit 13 executes the above-mentioned second learning process using the behavior history data of the second user group (user group B) as teacher data to learn the parameter group PCb included in the prediction model M. At this time, the parameter groups G, C, and PCa learned in step S2 are treated as fixed parameters. That is, in the second learning process, these parameter groups G, C, and PCa are not changed.
[0058] The prediction model M trained in steps S2 and S3 (that is, the parameter group G, C, PCa, and PCb included in the prediction model M) is stored in the prediction model DB14.
[0059] The learning device 10 described above learns a parameter set PC (PCa, PCb) indicating the relationship between users and clusters and a parameter set C indicating the relationship between clusters and actions, instead of directly learning the probability that each of a plurality of users performs each of a plurality of actions (for example, a parameter set P related to the behavioral tendency of each user shown in FIG. 5). As described above, when the number of users is 10 million, the number of actions is 10,000, and the number of clusters is 100, the number of parameters in the parameter set P is "100 billion (= the number of users (10 million) × the number of actions (10,000))", whereas the number of parameters in the parameter sets PC and C is "1,001,000,000 (= the number of users (10 million) × the number of clusters (100) + the number of clusters (100) × the number of actions (10,000))". In this way, according to the learning device 10, the number of parameters to be learned can be effectively reduced. As a result, it is possible to effectively reduce the computational resources required for learning the prediction model M.
[0060] In addition, a parameter set C relating to the behavioral tendency of each cluster and a parameter set PC (PCa) relating to the cluster affiliation rate of each user are simultaneously learned. As a result, the parameter sets C, PCa, and PCb are learned so as to reflect the behavioral tendency of each user (i.e., the tendency grasped from the behavioral history data of each user). With this configuration, compared to a case where the cluster (category) to which a user belongs is fixedly determined based on any attribute of the user such as gender, age, occupation, etc., flexible cluster setting can be performed according to the behavioral tendency of each user (i.e., setting the behavioral tendency of each cluster and the affiliation rate of the user to each cluster).
[0061] Moreover, the prediction model M includes a parameter group G related to the overall behavioral tendency of multiple users, and the learning unit 13 learns the parameter group G together with the parameter group PC (in this embodiment, the parameter group PCa of some users (user group A)) and the parameter group C. In this case, it is expected that highly accurate behavioral prediction can be performed by the prediction model M including both the parameter group G related to the behavioral tendency of all users and the parameter group PC and the parameter group C related to the behavioral tendency of each user (i.e., the behavioral tendency of each user defined via a cluster). For example, by using the behavioral tendency of all users indicated by the parameter group G as a standard and complementing the behavioral tendency specific to each user that deviates from the standard with the parameter group PC and the parameter group C, it is possible to accurately predict the behavioral tendency of each user.
[0062] Moreover, the learning unit 13 is configured to execute the second learning process (see FIG. 9) after executing the first learning process (see FIG. 8). As described above, in the first learning process, by learning the parameter group G based on the teacher data (behavior history data) of some users (user group A), learning can be performed with a smaller amount of calculation than learning based on the teacher data of all users. In addition, for example, after learning the parameter groups G, C, and PCa based on the behavior history data of the existing user group (user group A), a new user group (user group B) to be predicted may be added. In this case, after the new user group is added, only the parameter group that is required for the prediction (i.e., the parameter group PCb for the new user group) is learned without re-learning the already learned parameter groups G, C, and PCa, thereby making it possible to significantly reduce the calculation resources of the learning process.
[0063] Moreover, the learning unit 13 learns the prediction model M after fixing the number of clusters Nc in advance. As an example, in the above embodiment, the number of clusters Nc is fixed to "100". In this case, the prediction model can be learned with fewer computational resources than when the number of clusters Nc is made variable. More specifically, when the number of clusters Nc is treated as a variable parameter, computational resources increase by the amount of processing required to determine the number of clusters Nc. By fixing the number of clusters Nc, such computational resources are not required.
[0064] However, the number of clusters Nc may be treated as a variable parameter. That is, the learning unit 13 may learn the prediction model M by using the number of clusters Nc as a variable parameter. In this case, by adjusting the number of clusters Nc, it is possible to determine the optimal number of clusters in terms of the prediction accuracy of the prediction model M. For example, the learning unit 13 may set different numbers of clusters (for example, m different numbers of clusters Nc1, ..., Nc m ) (e.g., m prediction models M1, ..., M m ) and train multiple predictive models M1,…,M m The learning unit 13 may acquire an index for evaluating the quality of each of the prediction models M1, ..., M m Based on each of the indicators, the best predictive model M may be determined.
[0065] As an example of the index, there is an information criterion, which indicates that the smaller the value, the more appropriate the prediction (estimation). For example, the learning unit 13 calculates penalty terms such as likelihood and the number of parameters, etc., to estimate each prediction model M1, ..., M mThe above-mentioned likelihood and the number of parameters (i.e., the number of parameters according to the number of clusters) are calculated when estimating (learning) the parameter group. Therefore, the learning unit 13 can calculate the information criterion based on the likelihood and the number of parameters obtained at the same time as the end of the learning process. For example, when the Bayesian information criterion (BIC) is used as the information criterion, the learning unit 13 can calculate the BIC by using the formula "BIC = -2 × ln (L) + k × ln (n)". In the above formula, L is the likelihood, k is the number of parameters, and n is the size (number of records) of the teacher data (behavioral history data). The learning unit 13 calculates the information criterion for a plurality of prediction models M1, ..., M m The prediction model having the smallest information criterion among the prediction models M can be determined as the prediction model M to be finally adopted. That is, the number of different clusters Nc1, ..., Nc m Each result learned using the m ), it is possible to select (determine) a prediction model M that is determined to be the best based on the index. Therefore, even when an appropriate number of clusters Nc is not known in advance, it is possible to generate (determine) a prediction model M with high prediction accuracy.
[0066] With reference to FIG. 11, an example of a processing procedure for learning parameter groups G, PC, and C with the number of clusters Nc as a variable parameter will be described. Here, a case where parameter group PC is learned without dividing multiple users into user groups A and B will be described. Note that, when multiple users are divided into user groups A and B and the first learning process and the second learning process are performed as in the above embodiment, the "learning process" and "parameter groups G, PC, and C" in step S12 are replaced with "first learning process" and "parameter groups G, PCa, and C", respectively.
[0067] In step S11, the learning unit 13 sets the number of clusters (Nc1 is set as the initial setting). In step S12, the learning unit 13 executes the above-mentioned learning process using the number of clusters Nc set in step S1. As a result, a set of trained parameters G, PC, and C is obtained. In step S13, the learning unit 13 acquires an index (for example, the above-mentioned information criterion) for evaluating the quality of the prediction model M1 including the trained set of parameters G, PC, and C obtained in step S12. Next, the learning unit 13 acquires an index for evaluating the quality of the prediction model M1 including the trained set of parameters G, PC, and C obtained in step S12 (for example, the above-mentioned information criterion). Next, the learning unit 13 acquires a plurality of predetermined numbers of clusters Nc1, ...Nc m The process of steps S11 to S13 is repeated until the process for each of the cluster numbers Nc1, . . . Nc1, . . . Nc2, . . . m After the process for each of the numbers Nc1, . . . Nc is completed (step S14: YES), step S15 is executed. In step S15, the learning unit 13 performs a process for the number of clusters Nc1, . . . Nc m For each of the multiple prediction models M1,…,M m Based on the indices, the best predictive model M is determined.
[0068] In this case, the creator (operator) of the prediction model M sets the number of clusters Nc1, ..., Nc m In the above description, an example in which Nc1, ..., Nc2 is determined in advance has been described, but the number of clusters may be determined as follows. For example, the learning unit 13 may start with a predetermined initial value (e.g., 1) for the number of clusters, execute learning of the prediction model and acquisition of an index, and execute learning of the prediction model and acquisition of an index while changing (e.g., incrementing) the number of clusters until an index that satisfies a predetermined condition (e.g., an information amount criterion equal to or less than a predetermined threshold) is obtained. According to such processing, a plurality of numbers of clusters Nc1, ..., Nc m In addition, it is not necessary to determine the number of clusters Nc1, ..., Nc m For example, if the optimal number of clusters is 100, there are multiple numbers of clusters Nc1, ..., Ncm If is set in the range of "3 to 20", a prediction model M corresponding to the optimal number of clusters cannot be obtained. As described above, by executing the learning process with the end condition being that an index that satisfies a predetermined condition is obtained, it is possible to prevent the above problems from occurring.
[0069] The block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of at least one of hardware and software. The method of realizing each functional block is not particularly limited. That is, each functional block may be realized by using one device that is physically or logically combined, or may be realized by using two or more devices that are physically or logically separated and directly or indirectly connected (for example, by wire, wirelessly, etc.). The functional blocks may be realized by combining the one device or the multiple devices with software.
[0070] Functions include, but are not limited to, judging, determining, assessing, calculating, processing, deriving, investigating, searching, verifying, receiving, sending, outputting, accessing, resolving, selecting, choosing, establishing, comparing, anticipating, expecting, regarding, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, and assigning.
[0071] For example, the learning device 10 according to an embodiment of the present disclosure may function as a computer that performs the communication control method of the present disclosure. Fig. 12 is a diagram showing an example of a hardware configuration of the learning device 10 according to an embodiment of the present disclosure. The above-mentioned learning device 10 may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
[0072] In the following description, the term "apparatus" can be replaced with a circuit, a device, a unit, etc. The hardware configuration of the learning apparatus 10 may be configured to include one or more of the devices shown in FIG. 1, or may be configured to exclude some of the devices.
[0073] Each function in the learning device 10 is realized by loading a specific software (program) onto hardware such as the processor 1001 and memory 1002, causing the processor 1001 to perform calculations, control communication via the communication device 1004, and control at least one of the reading and writing of data in the memory 1002 and storage 1003.
[0074] The processor 1001 controls the entire computer by running, for example, an operating system. The processor 1001 may be configured with a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, a register, and the like.
[0075] Moreover, the processor 1001 reads out a program (program code), a software module, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002, and executes various processes according to the read out programs. As the program, a program that causes a computer to execute at least a part of the operations described in the above-mentioned embodiment is used. For example, the learning unit 13 may be realized by a control program stored in the memory 1002 and running on the processor 1001, and other functional blocks may be similarly realized. Although the above-mentioned various processes have been described as being executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The program may be transmitted from a network via a telecommunication line.
[0076] The memory 1002 is a computer-readable recording medium, and may be configured by at least one of, for example, a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), a Random Access Memory (RAM), etc. The memory 1002 may be called a register, a cache, a main memory (primary storage device), etc. The memory 1002 can store a program (program code), software modules, etc. that are executable to implement a communication control method according to an embodiment of the present disclosure.
[0077] Storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy (registered trademark) disk, a magnetic strip, and the like. Storage 1003 may be referred to as an auxiliary storage device. The above-mentioned storage medium may be, for example, a database, a server, or other suitable medium including at least one of memory 1002 and storage 1003.
[0078] The communication device 1004 is hardware (transmission / reception device) for performing communication between computers via at least one of a wired network and a wireless network, and is also called, for example, a network device, a network controller, a network card, or a communication module.
[0079] The input device 1005 is an input device (e.g., a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that accepts input from the outside. The output device 1006 is an output device (e.g., a display, a speaker, an LED lamp, etc.) that performs output to the outside. The input device 1005 and the output device 1006 may be integrated into one device (e.g., a touch panel).
[0080] In addition, each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between each device.
[0081] Furthermore, the learning device 10 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA), and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.
[0082] Although the present embodiment has been described in detail above, it is clear to those skilled in the art that the present embodiment is not limited to the embodiment described in this specification. The present embodiment can be implemented as a modified or altered form without departing from the spirit and scope of the present invention defined by the description of the claims. Therefore, the description in this specification is intended to be illustrative and does not have any limiting meaning on the present embodiment.
[0083] The order of the steps, sequences, flow charts, etc. of each aspect / embodiment described in this disclosure may be changed unless inconsistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.
[0084] The input and output information may be stored in a specific location (e.g., memory) or may be managed using a management table. The input and output information may be overwritten, updated, or added to. The output information may be deleted. The input information may be transmitted to another device.
[0085] The determination may be based on a value represented by a single bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).
[0086] Each aspect / embodiment described in this disclosure may be used alone, in combination, or switched according to execution. In addition, notification of specific information (e.g., notification that "X is the case") is not limited to being done explicitly, but may be done implicitly (e.g., not notifying the specific information).
[0087] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0088] Additionally, software, instructions, information, etc. may be transmitted or received over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using wired and / or wireless technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave, etc.), then these wired and / or wireless technologies are included within the definition of transmission media.
[0089] The information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies. For example, the data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
[0090] Furthermore, the information, parameters, etc. described in this disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information.
[0091] The names used for the above-mentioned parameters are not limiting in any way. Furthermore, the formulas etc. using these parameters may differ from those explicitly disclosed in this disclosure. The various information elements may be identified by any suitable names, and the various names assigned to these various information elements are not limiting in any way.
[0092] As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."
[0093] Any reference to an element using a designation such as "first," "second," etc., used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must precede the second element in some way.
[0094] When the terms "include," "including," and variations thereof are used in this disclosure, these terms are intended to be inclusive, similar to the term "comprising." Further, when used in this disclosure, the term "or" is not intended to be an exclusive or.
[0095] In this disclosure, where articles have been added due to translation, such as a, an, and the in English, the disclosure may include that the nouns following these articles are in the plural form.
[0096] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "coupled" may also be interpreted in the same way as "different." [Explanation of symbols]
[0097] 10...learning device, 11...acquisition unit, 12...behavioral history DB, 13...learning unit, 14...prediction model DB, C...parameter group (second parameter group), G...parameter group (third parameter group), PC, PCa, PCb...parameter group (first parameter group).
Claims
1. An acquisition unit that acquires behavior history data indicating the behavior history of each of a plurality of users; a learning unit that uses the behavior history data as teacher data to learn a first parameter group and a second parameter group included in a prediction model for predicting the behavior of each of the plurality of users, the first parameter group is a parameter group related to a membership rate of each of the users to each of a plurality of clusters; the second parameter group is a parameter group related to a behavioral tendency of each of the plurality of actions for each of the clusters; the prediction model includes a third parameter group related to an overall behavioral tendency of the plurality of users; The learning unit learns the third parameter group together with the first parameter group and the second parameter group, the learning unit is configured to execute a second learning process after executing a first learning process, the first learning process is a process of learning the first parameter group, the second parameter group, and the third parameter group of the first user group by using the behavior history data of the first user group as teacher data; The second learning process is a process of learning the first parameter group of the second user group without changing the first parameter group, the second parameter group, and the third parameter group of the first user group learned by the first learning process, by using the behavioral history data of a second user group different from the first user group as teacher data.
2. The behavior history data for each user includes a plurality of records in which a time, a location, and information indicating an action performed by the user at the time and the location are associated with each other, 2. The learning device of claim 1, wherein the prediction model is a model that outputs a probability that each of the multiple actions will be performed by the user to be predicted at the target time based on the first parameter group, a parameter group related to the user to be predicted that is included in the second parameter group, and the third parameter group, by receiving the most recent behavioral history data of the user to be predicted and the target time of prediction as input data.
3. The behavior history data for each user includes a plurality of records in which a time, a location, and information indicating an action performed by the user at the time and the location are associated with each other, 2. The learning device according to claim 1, wherein the prediction model is a model that receives the most recent behavioral history data of the user to be predicted and information indicating the action to be predicted as input data, and outputs information that correlates the probability and time that the action to be predicted will be performed by the user to be predicted based on the first parameter group, a parameter group related to the user to be predicted that is included in the second parameter group, and the third parameter group.
4. 4. The learning device according to claim 1, wherein the learning unit learns the prediction model after fixing the number of clusters in advance.
5. 4. The learning device according to claim 1, wherein the learning unit learns the prediction model using the number of clusters as a variable parameter.
6. The learning unit is A plurality of the prediction models having different numbers of clusters are trained, and an index for evaluating the quality of each of the plurality of prediction models is obtained; The learning device according to claim 5 , further comprising: a processor configured to determine a best predictive model based on the indicators of each of the plurality of predictive models.
Citation Information
Patent Citations
Clustering apparatus, information terminal, information providing system, and program
JP2016103107A
Parameter estimation device, prediction device, method, and program
JP2017083963A
System, method and apparatus for predictive modeling of spatially distributed data for location based commercial services
US20090024546A1
Method and system for automated detection, classification and prediction of multi-scale, multidimensional trends
US20190026761A1