WO2021251056A1 - 学習装置 - Google Patents

学習装置 Download PDF

Info

Publication number
WO2021251056A1
WO2021251056A1 PCT/JP2021/018266 JP2021018266W WO2021251056A1 WO 2021251056 A1 WO2021251056 A1 WO 2021251056A1 JP 2021018266 W JP2021018266 W JP 2021018266W WO 2021251056 A1 WO2021251056 A1 WO 2021251056A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter group
user
learning
parameter
group
Prior art date
Application number
PCT/JP2021/018266
Other languages
English (en)
French (fr)
Inventor
典昭 廣川
義隆 井上
謙司 篠田
愛実 川崎
佑介 深澤
Original Assignee
株式会社Nttドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Priority to US18/000,844 priority Critical patent/US20230214716A1/en
Priority to JP2022530076A priority patent/JPWO2021251056A1/ja
Publication of WO2021251056A1 publication Critical patent/WO2021251056A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • One aspect of the present invention relates to a learning device.
  • the probability (selection probability) that the user takes a predetermined action is calculated.
  • the mechanism is known (see, for example, Patent Document 1).
  • One aspect of the present invention is to provide a learning device capable of effectively reducing the computational resources required for learning a prediction model that predicts the behavior of a plurality of users.
  • the learning device has an acquisition unit that acquires behavior history data indicating the behavior history of each of the plurality of users, and uses the behavior history data as teacher data to obtain the behavior of each of the plurality of users.
  • a learning unit for learning a first parameter group and a second parameter group included in a prediction model for prediction is provided, and the first parameter group is a parameter group relating to the affiliation rate of each user to each of a plurality of clusters.
  • the second parameter group is a parameter group relating to the behavioral tendency of each cluster for each of the plurality of actions.
  • the learning device directly learns the probability that each of a plurality of users executes each of a plurality of actions (that is, the correspondence between the user and the action), instead of directly learning the user.
  • the first parameter group showing the relationship between the cluster and the cluster and the second parameter group showing the relationship between the cluster and the action are learned.
  • a learning device capable of effectively reducing the computational resources required for learning a prediction model that predicts the behavior of a plurality of users.
  • FIG. 1 is a diagram showing a functional configuration of the learning device 10 according to the embodiment.
  • the learning device 10 is a device that learns a prediction model (probability model) for predicting the behavior of each user by using the behavior history data indicating the behavior history of each of the plurality of users as teacher data.
  • the learning device 10 may be configured by one computer device (for example, a server device or the like), or may be configured by a plurality of computer devices that are communicably connected to each other.
  • the learning device 10 includes an acquisition unit 11, an action history DB 12, a learning unit 13, and a prediction model DB 14.
  • the acquisition unit 11 acquires the action history data of each of the plurality of users.
  • the acquisition unit 11 has, for example, an action history of an action (behavior) executed by each user during a predetermined target period (for example, a period from "2019/11/1" to "2019/11/31"). Get the data.
  • the action history data of each of the plurality of users acquired by the acquisition unit 11 is stored in the action history DB 12 which is a database for storing the action history data.
  • FIG. 2 is a diagram showing an example of behavior history data.
  • the action history data includes a plurality of records defined for each action performed by the user.
  • Each record contains identification information (user ID) that identifies the user, time information that indicates the time, location information that indicates the location, and actions performed by the user specified by the user ID at the time and location. The information shown and the information associated with each other.
  • Time information can be represented, for example, by date and time (eg, minute information represented by year, month, day and hour and minute).
  • minute information represented by year, month, day and hour and minute.
  • particle size of the time information is not limited to the above, and may be, for example, an hour unit, a day unit, or the like.
  • Location information can be represented, for example, by latitude and longitude.
  • the place information may be represented by the type of place such as "home”, “company”, “station”, and “convenience store”.
  • the location information may be information indicating a relatively wide area such as "Tokyo”, or information (identifier) for identifying a regional mesh (for example, a 500 m mesh).
  • Actions include, for example, operations on user terminals such as smartphones (for example, use of specific applications), visits to specific places (for example, stores), daily activities (for example, specific actions such as running, sleeping, and eating), and the like.
  • Can include the actions of various users of.
  • the type of action acquired as the action history data may be defined in advance, for example, at the design stage of the prediction model.
  • some methods for acquiring behavior history data will be illustrated. However, the method in which the acquisition unit 11 acquires the behavior history data of each user is not limited to the specific method exemplified below.
  • the acquisition unit 11 may acquire the operation history of the user terminal possessed by each user as action history data. For example, when the user operates a user terminal to use a specific application (for example, a transfer search application, a music viewing application, a video viewing application, etc.), the acquisition unit 11 uses the usage history (for example, time and place) of the application. Information associated with the used application) may be acquired as action history data. At this time, the acquisition unit 11 can acquire, for example, the position information of the user terminal (for example, the latitude and longitude information obtained by base station positioning, GPS positioning, etc.) as location information.
  • a specific application for example, a transfer search application, a music viewing application, a video viewing application, etc.
  • the acquisition unit 11 uses the usage history (for example, time and place) of the application. Information associated with the used application) may be acquired as action history data.
  • the acquisition unit 11 can acquire, for example, the position information of the user terminal (for example, the latitude and longitude information obtained by base station positioning, GPS positioning, etc
  • the acquisition unit 11 uses information indicating the correspondence between the latitude and longitude and the location (for example, a store or the like), and uses the information indicating the correspondence between the location (for example, a store or the like) to obtain the above-mentioned location (for example, a specific store) from the position information (latitude and longitude) of the user terminal.
  • Areas such as "Tokyo", regional mesh, etc.) may be specified and location information indicating the specified location may be acquired.
  • the acquisition unit 11 may acquire the history of the position information of the user terminal and estimate the visit location of the user from the history. Then, when it is estimated that the user has visited a specific place (for example, a place registered in advance as a target for acquiring the action history), the acquisition unit 11 indicates that the user has visited the specific place. Data (that is, action history data registered as "acts performed" by visiting a specific place) may be acquired.
  • the acquisition unit 11 may acquire information related to the action history (for example, information indicating when, where, and what was done) explicitly input by the user by operating the user terminal as action history data.
  • the acquisition unit 11 may acquire behavior history data in which the payment process is an "executed action".
  • the acquisition unit 11 acquires the action history data indicating when, where (at which store), and the action (payment process) is executed, for example, by acquiring the payment history of the user from a store or the like. Can be done.
  • the acquisition unit 11 may acquire the action history data only for a specific action.
  • the acquisition unit 11 may acquire only the history of the user's purchasing behavior (action) as behavior history data.
  • the behavior history DB 12 stores the behavior history data indicating when and at which store the purchasing behavior was performed for each user. From the behavior history data accumulated in this way, it is possible to grasp the tendency of the user's purchasing behavior.
  • the tendency of purchasing behavior for example, the tendency of the place or time where the probability of purchasing behavior is high, the tendency of the time interval between continuous purchasing behaviors, and the tendency of shopping at one store A and then shopping at another store B. There is a tendency that the probability is high.
  • the learning unit 13 learns the prediction model by using the behavior history data acquired by the acquisition unit 11 (that is, the behavior history data stored in the behavior history DB 12) as the teacher data. More specifically, the learning unit 13 learns the parameter group included in the prediction model.
  • 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, or the like. Further, as an algorithm for learning (parameter estimation) of the prediction model M, maximum likelihood estimation, Bayesian estimation, and the like can be used. As shown in FIG. 3 or FIG. 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 relating to the overall behavioral tendency of a plurality of users.
  • the parameter group C (second parameter group) is a parameter group relating to the behavioral tendency of each cluster.
  • the parameter group PC (first parameter group) is a parameter group related to the cluster affiliation rate of each user. Details of each parameter group G, C, and PC will be described later.
  • the prediction model M is given the latest behavior history data of the prediction target user (for example, the behavior history data in the latest predetermined length period) and the prediction target time t as input data. Be done.
  • each of a plurality of predefined actions is executed by the prediction target user 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 prediction target user).
  • the prediction model M it is possible to predict the behavior of the prediction target user at a future time point (prediction target time t).
  • the prediction model M is provided with the latest action history data of the prediction target user and information indicating the prediction target action as input data.
  • the prediction model M provides information that correlates the probability and time that the prediction target action is executed by the prediction target user based on the parameter group G, the parameter group C, and the parameter group PC (parameter group related to the prediction target user). Output.
  • a prediction model M it is possible to predict a future time point in which a prediction target user is likely (or low) to perform a specific action (prediction target action).
  • the method of using the prediction model M shown in FIGS. 3 and 4 is an example, and data other than the input data shown in the above example may be input to the prediction model M, which is shown in the above example. Data other than the output result may be output.
  • the prediction model M may be configured to be compatible with a plurality of usage methods (for example, the usage methods shown in FIGS. 3 and 4 described above). That is, the prediction model M operates as in the example shown in FIG. 3 when the prediction target user's latest behavior history data and the prediction target time t are input, and the prediction target user's latest behavior history data. And when the information indicating the predicted action is input, the operation may be performed as in the example shown in FIG.
  • the parameter group G may be composed of a plurality of (n) parameter groups G 1 , ..., G n .
  • the parameter group G may include the following parameter groups as one of a plurality of parameter groups G 1 , ..., G n.
  • the parameter group G may include, for example, a parameter group indicating the correspondence between the action and the time.
  • This parameter group holds parameters related to the probability that an action at a certain point in time is executed for each pair of time point and action.
  • the "parameter related to probability” may be a value representing the probability itself, or a parameter (coefficient) used in a probability calculation formula (for example, see formula 1 described later) defined in advance in the prediction model M. ) (The same shall apply hereinafter).
  • the parameter is, for example, a parameter indicating the magnitude of the probability (that is, a parameter indicating that the larger the value, the higher the probability).
  • the parameter group G may include a parameter group indicating the relationship between actions.
  • This parameter group holds a parameter related to the probability that any action B is executed after any action A is executed for each set of two actions.
  • the parameter may be, for example, a parameter indicating a high probability as in the first example described above, or may be a period (expected value) from the execution of the action A to the execution of the action B. It may be the corresponding parameter. In the latter case, the larger the value of the parameter, the lower the probability that the action B will be executed immediately after the action A is executed.
  • Equation 1 P ( Ak
  • user, time, location, history) G 1 (time) + G 2 (location) + exp (G 3 (time, location)) + ... + log (G n (time, history)) + F (User)
  • Ak 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 a time (for example, information indicating a date and an hour / minute).
  • location is a variable indicating a location (for example, latitude and longitude, or an area ID indicating "Tokyo” as exemplified above, an identifier of "500m mesh", etc.).
  • the “history” is a variable indicating the latest action history data of the user (the user indicated by the variable “user”).
  • the “history” is, for example, a behavior history data (several records) shown in FIG. 2 represented by a variable length array, a tensor format, or the like.
  • user, time, probability, probability) is a place (indicated by the variable “location") at a certain time (time indicated by the variable "time") of a certain user (user indicated by the variable "user”). It is the probability of executing a certain action (action indicated by the variable "Ak ”) at the place).
  • the prediction model M has, for example, a probability calculation formula expressed as the above formula 1 for each of a plurality (m pieces) of predefined actions (actions A 1 , ..., Am). That is, the prediction model M can be composed of an equation defined for each action expressed as in the above equation 1 and trained parameter groups G, PC, and C used in the equation.
  • G 1 (time)” on the right side of the above equation 1 is a parameter relating to the probability that the action Ak is executed at the time indicated by the variable “time”.
  • G 2 (location) is a parameter relating to the probability that the action Ak will be executed at the location indicated by the variable “location”.
  • G 3 (time, location)” is a parameter relating to the probability that the action Ak is executed when the combination of the time indicated by the variable “time” and the location indicated by the variable “location” is realized.
  • G n (time, history)” is a parameter relating to the probability that the action Ak is executed at the time indicated by the variable “time” when the latest action history is the action history data indicated by the variable “history”.
  • the parameters are an exponential function (exp function), a logarithmic function (log function), and a trigonometric function (for example, like “G 3 (time, location)” and “G n (time, history)” in the above equation 1. It may be a parameter of any function such as sin, cos, etc.).
  • the prediction model M has a parameter group (parameter group C, PC) having different parameters for each variable "user” in order to obtain a prediction result that reflects the characteristics of each user.
  • “F (user)” in the above equation (1) is a parameter group corresponding to the variable “user” in the parameter group C and PC.
  • the parameter group C related to the behavior tendency of each cluster and the parameter group PC related to the cluster affiliation rate of each user are used instead of using the parameter group P.
  • the number of clusters Nc is set to be smaller than the number of actions Na.
  • the parameter group C has parameters (“N ⁇ Nc” parameters) defined for each pair of the user and the cluster.
  • the parameter group C can be represented in a matrix format.
  • the parameter corresponding to each element of the matrix shown in FIG. 6A indicates the user's affiliation rate with respect to the cluster (that is, the degree to which the user fits into the cluster).
  • the larger the parameter value the greater the degree to which the user fits into the cluster.
  • the affiliation rate of user A with respect to cluster 1 is "0.67". That is, it is shown that the degree to which the user A applies to the behavioral tendency of the cluster 1 is "0.67".
  • the parameter group PC has parameters (“Nc ⁇ Na” parameters) defined for each pair of cluster and action.
  • the parameter group PC can be represented in a matrix format.
  • the parameters corresponding to each element of the matrix shown in FIG. 6B indicate the tendency of the cluster to the action.
  • the parameter indicates the high probability (or tendency) that the cluster (user belonging to the cluster) executes an action. That is, the larger the parameter value, the higher the probability that the cluster (user belonging to the cluster) will execute the action.
  • the probability that cluster 1 (user belonging to cluster 1) executes action 1 is "0.28".
  • the parameter group PC contains only parameters related to one pattern (that is, a general tendency common to all time zones), but the parameter group PC has a plurality of patterns. For each of (for example, four time zones such as morning, noon, evening, and night), the parameter group as shown in FIG. 6B may be included. In this case, "F (user)" in the probability calculation formula of the above formula 1 is rewritten as "F (user, time)". In the present embodiment, for the sake of simplicity, the parameter group PC includes only one pattern of the parameter group shown in FIG. 6B.
  • the parameter group in place of the parameter set P C by using a PC, the order (here, 10 4) of the number of actions Na (here, 10 2) and the cluster number Nc order difference (here with, The number of parameters can be reduced by 100 times the difference).
  • the learning unit 13 executes the first learning process and the 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 PCs related to the cluster affiliation rate of each of the plurality of users at once, but instead uses the plurality of users as the user group A (first user group) and the user group B (second user group). ) And the learning process is executed step by step. More specifically, as shown in FIG. 7, the above-mentioned parameter group PC is divided into a parameter group PCa related to the cluster affiliation rate of the user group A and a parameter group PCb related to the cluster affiliation rate of the user group B. The parameter groups PCa and PCb are not learned at the same time, but are learned step by step.
  • FIG. 8 is a diagram schematically showing the first learning process.
  • the behavior history data of each user included in the user group A is used as the teacher data, so that the parameter group G relating to the behavior tendency of the entire user and the behavior tendency of each cluster are used.
  • This is a process for learning the parameter group C related to the parameter group C and the parameter group PCa related to the cluster affiliation rate of the user group A. That is, the first learning unit 13A generates the learned parameter groups G, C, and PCa from the behavior history data of some users (user group A).
  • the learning unit 13 learns the maximum likelihood estimation method, the Bayesian estimation method, and the like for machine learning models such as neural network (multilayer neural network, hierarchical neural network, etc.) model and point process model.
  • the first learning process is executed by using the (parameter estimation) algorithm.
  • FIG. 9 is a diagram schematically showing the second learning process.
  • the second learning process uses the behavior history data of each user included in the user group B as teacher data, so that the parameter groups G, C, and PCa learned by the first learning process are used. It is a process of learning the parameter group PCb related to the cluster affiliation rate of the user group B without changing. That is, the learning unit 13 treats the learned parameter groups G and C obtained by the first learning process as fixed parameters, and then learns only the parameter group PCb. Since the user group B is independent of the user group A, the parameter group PCa related to the cluster affiliation rate of the user group A learned by the first learning process is the learning of the parameter group PCb related to the cluster affiliation rate of the user group B. Does not affect.
  • the second learning process differs from the first learning process only in the parameter group of the learning target, 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. Is.
  • G Unit calculation amount required for learning the parameter group
  • PC Unit calculation amount required for learning the parameter group
  • PCa Unit calculation required for learning the parameter group PCa the amount ⁇ O
  • PCb unit amount of computation required for the learning of the parameter group PCb
  • C a unit amount of computation required for the learning of the parameter group C ⁇ N: total number of users ⁇ N a: the user of the user group a number & N B: number of users
  • user groups B M length of the action history data for each user to be used as teacher data
  • the length "M" of the action history data for each user used as the teacher data is the number of records included in the action history data.
  • O (G), O (PC), and O (C) defined above are calculation amounts (unit calculation amounts) required for learning for one teacher data. Therefore, the amount of calculation required for learning a certain parameter group is expressed by the product of the number of teacher data and the unit calculation amount of the parameter group. Further, it is assumed that the unit calculation amount O (G) of the parameter group G is sufficiently larger than the sum of the unit calculation amounts of the parameter groups PC and C (O (PC) + O (C)). As an example, it is assumed that the following equation 2 holds.
  • Equation 7 when the amount of calculation (order) is considered, the first term becomes dominant rather than the second term.
  • Equation 8 AC2 / AC1 ⁇ N A / N
  • the embodiment than in the comparative example, it becomes possible to reduce the overall amount of calculation to about N A / N.
  • the total number of users N are 10 million people, if the user number N A of the user group A is 100,000, embodiments can perform the learning process in the calculation of 1/100 of a comparative example. That is, according to the embodiment, the total amount of calculation can be effectively reduced by learning the parameter group G regarding the tendency of the entire user by using as few samples (user group A) as possible.
  • the number of samples (number of users) is too large in learning the tendency of the entire user, an overfitting problem may occur. According to the embodiment, it is possible to suppress the occurrence of such an overfitting problem.
  • the trained parameter groups G, C, PCa, and PCb learned by the learning unit 13 as described above are stored in the prediction model DB 14 which is a database for storing the prediction model M.
  • step S1 the acquisition unit 11 acquires the action history data (see FIG. 2) of each of the plurality of users.
  • the action history data acquired by the acquisition unit 11 is stored in the action history DB 12.
  • step S2 the learning unit 13 uses the behavior history data of the first user group (user group A) as teacher data to execute the first learning process described above, so that the parameter group G, included in the prediction model M, Learn C and PCa.
  • step S3 the learning unit 13 uses the behavior history data of the second user group (user group B) as teacher data to execute the above-mentioned second learning process, thereby performing the parameter group PCb included in the prediction model M. learn.
  • 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.
  • the prediction model M learned in steps S2 and S3 (that is, the parameter groups G, C, PCa, PCb included in the prediction model M) is stored in the prediction model DB 14.
  • the learning device 10 described above directly learns the probability that each of the plurality of users executes each of the plurality of actions (actions) (for example, the parameter group P regarding the behavior tendency for each user shown in FIG. 5). Instead, the parameter group PC (PCa, PCb) showing the relationship between the user and the cluster and the parameter group C showing the relationship between the cluster and the action are learned.
  • the number of users is 10 million
  • the number of actions is 10,000
  • the number of clusters is 100
  • 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.
  • the parameter group C related to the behavior tendency of each cluster and the parameter group PC (PCa) related to the cluster affiliation rate of each user are learned at the same time.
  • the parameter groups C, PCa, and PCb are learned so that the behavior tendency for each user (that is, the tendency grasped from the behavior history data of each user) is reflected.
  • the cluster (category) to which the user belongs is fixedly determined based on any attribute of the user such as gender, age, and occupation. (That is, the behavior tendency for each cluster and the user's affiliation rate for each cluster) can be set.
  • the prediction model M includes a parameter group G relating to the overall behavior tendency of a plurality of users
  • the learning unit 13 includes a parameter group PC (a parameter group of some users (user group A in this embodiment)).
  • the parameter group G is learned together with the PCa) and the parameter group C.
  • the prediction model M including both the parameter group G regarding the behavior tendency of the entire user and the parameter group PC and the parameter group C regarding the behavior tendency for each user (that is, the behavior tendency for each user defined via the cluster). Therefore, it can be expected to perform highly accurate behavior prediction.
  • the behavioral tendency peculiar to each user deviating from the behavioral tendency is complemented by the parameter group PC and the parameter group C to accurately predict the behavioral tendency of each user. It will be possible to do well.
  • the learning unit 13 is configured to execute the second learning process (see FIG. 9) after executing the first learning process (see FIG. 8).
  • 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 is performed based on the teacher data of all users. Learning can be performed with a smaller amount of calculation than in the case. Further, 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. Be done.
  • the learning unit 13 learns the prediction model M after fixing the number of clusters Nc in advance.
  • the number of clusters Nc is fixed to "100".
  • the prediction model can be learned with less computational resources than when the number of clusters Nc is variable. More specifically, when the number of clusters Nc is treated as a variable parameter, the calculation resource increases by the amount that processing for determining the number of clusters Nc is required. By fixing the number of clusters Nc, such a calculation resource becomes unnecessary.
  • the number Nc of clusters may be treated as a variable parameter. That is, the learning unit 13 may learn the prediction model M with 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 optimum number of clusters from the viewpoint of the prediction accuracy of the prediction model M.
  • the learning section 13 a different number of clusters to each other (e.g., the cluster number Nc 1 to m different, ..., Nc m) a plurality of predictive models with (e.g., m-number of predictive model M 1, ..., M m)
  • a plurality of predictive models with e.g., m-number of predictive model M 1, ..., M m
  • an index for evaluating the goodness of each of the plurality of prediction models M 1 , ..., M m may be acquired.
  • the learning unit 13, a plurality of predictive models M1, ..., based on the index of each of M m may determine the best predictive model M.
  • the learning unit 13 can calculate the information criterion for each prediction model M 1 , ..., M m by calculating the penalty terms such as the likelihood and the number of parameters.
  • the likelihood and the number of parameters described above that is, the number of parameters according to the number of clusters
  • 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.
  • L is the likelihood
  • k is the number of parameters
  • n is the size (number of records) of the teacher data (behavior history data).
  • the learning unit 13 can determine a prediction model having the smallest information criterion among the plurality of prediction models M 1 , ..., M m as the prediction model M to be finally adopted.
  • step S11 the learning unit 13 sets the number of clusters (Nc 1 is set as the initial setting).
  • step S12 the learning unit 13 executes the above-mentioned learning process using the number of clusters Nc set in step S1.
  • the trained parameter groups G, PC, and C are obtained.
  • step S13 the learning unit 13, obtains learned parameter group G obtained in step S12, PC, index for evaluating the goodness of prediction model M 1 comprising C (e.g., above-mentioned information criterion) do.
  • the learning unit 13 repeats the processes of the above steps S11 to S13 until the processes for each of the plurality of predetermined cluster numbers Nc 1 and ... Nc m are completed (step S14: NO).
  • step S15 the learning unit 13 determines the best prediction model M based on the indexes of the plurality of prediction models M 1 , ..., M m obtained for each of the plurality of clusters Nc 1 , ... Nc m. ..
  • the learning unit 13 starts the number of clusters from a predetermined initial value (for example, 1 or the like), executes learning of the prediction model described above and acquires an index, and performs an index satisfying a predetermined condition (for example).
  • the above-mentioned prediction model learning and index acquisition may be executed while changing (for example, incrementing) the number of clusters until an information amount standard below a predetermined threshold is obtained.
  • each functional block may be realized using one physically or logically coupled device, or two or more physically or logically separated devices can be directly or indirectly (eg, for example). , Wired, wireless, etc.) and may be realized using these plurality of devices.
  • the functional block may be realized by combining the software with the one device or the plurality of devices.
  • Functions include judgment, decision, judgment, calculation, calculation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, solution, selection, selection, establishment, comparison, assumption, expectation, and assumption. Broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, assigning, etc., but limited to these I can't.
  • the learning device 10 in the 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 the hardware configuration of the learning device 10 according to the embodiment of the present disclosure.
  • the learning device 10 described above 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.
  • the word “device” can be read as a circuit, device, unit, etc.
  • the hardware configuration of the learning device 10 may be configured to include one or more of the devices shown in FIG. 1, or may be configured not to include some of the devices.
  • the processor 1001 For each function in the learning device 10, the processor 1001 performs an operation by loading predetermined software (program) on hardware such as the processor 1001 and the memory 1002, and controls the communication by the communication device 1004, or the memory 1002. And by controlling at least one of reading and writing of data in the storage 1003.
  • predetermined software program
  • the processor 1001 operates, for example, an operating system to control the entire computer.
  • the processor 1001 may be configured by a central processing unit (CPU: Central Processing Unit) including an interface with peripheral devices, a control device, an arithmetic unit, a register, and the like.
  • CPU Central Processing Unit
  • the processor 1001 reads 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 these.
  • a program program code
  • the learning unit 13 may be realized by a control program stored in the memory 1002 and operating in the processor 1001, and may be realized in the same manner for other functional blocks.
  • the memory 1002 is a computer-readable recording medium, and is composed of at least one such as a ROM (Read Only Memory), an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), and a RAM (Random Access Memory). May be done.
  • the memory 1002 may be referred to as a register, a cache, a main memory (main storage device), or the like.
  • the memory 1002 can store a program (program code), a software module, or the like that can be executed to implement the communication control method according to the embodiment of the present disclosure.
  • the storage 1003 is a computer-readable recording medium, and is, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, an optical magnetic disk (for example, a compact disk, a digital versatile disk, or a Blu-ray). It may consist of at least one (registered trademark) disk), smart card, flash memory (eg, card, stick, key drive), floppy (registered trademark) disk, magnetic strip, and the like.
  • the storage 1003 may be referred to as an auxiliary storage device.
  • the storage medium described above may be, for example, a database, server or other suitable medium containing at least one of the memory 1002 and the storage 1003.
  • the communication device 1004 is hardware (transmission / reception device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, a communication module, or the like.
  • the input device 1005 is an input device (for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that accepts an input from the outside.
  • the output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that outputs to the outside.
  • the input device 1005 and the output device 1006 may have an integrated configuration (for example, a touch panel).
  • each device such as the processor 1001 and the memory 1002 is connected by the bus 1007 for communicating information.
  • the bus 1007 may be configured by using a single bus, or may be configured by using a different bus for each device.
  • the learning device 10 includes hardware such as a microprocessor, a digital signal processor (DSP: Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). It may be configured, and some or all of each functional block may be realized by the hardware. For example, processor 1001 may be implemented using at least one of these hardware.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • the input / output information and the like may be stored in a specific location (for example, a memory) or may be managed using a management table. Information to be input / output may be overwritten, updated, or added. The output information and the like may be deleted. The input information or the like may be transmitted to another device.
  • the determination may be made by a value represented by 1 bit (0 or 1), by a true / false value (Boolean: true or false), or by comparing numerical values (for example, a predetermined value). It may be done by comparison with the value).
  • the notification of predetermined information (for example, the notification of "being X") is not limited to the explicit one, but is performed implicitly (for example, the notification of the predetermined information is not performed). May be good.
  • Software whether called software, firmware, middleware, microcode, hardware description language, or other names, is an instruction, instruction set, code, code segment, program code, program, subprogram, software module.
  • Applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, features, etc. should be broadly interpreted.
  • software, instructions, information, etc. may be transmitted and received via a transmission medium.
  • the software uses at least one of wired technology (coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL: Digital Subscriber Line), etc.) and wireless technology (infrared, microwave, etc.) to create a website.
  • wired technology coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL: Digital Subscriber Line), etc.
  • wireless technology infrared, microwave, etc.
  • the information, signals, etc. described in this disclosure may be represented using any of a variety of different techniques.
  • data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description are voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. It may be represented by a combination of.
  • the information, parameters, etc. described in the present disclosure may be expressed using an absolute value, a relative value from a predetermined value, or another corresponding information. It may be represented.
  • references to elements using designations such as “first” and “second” as used in this disclosure does not generally limit the quantity or order of those elements. These designations can be used in the present disclosure as a convenient way to distinguish between two or more elements. Therefore, references to the first and second elements do not mean that only two elements can be adopted, or that the first element must somehow precede the second element.
  • the term "A and B are different” may mean “A and B are different from each other”.
  • the term may mean that "A and B are different from C”.
  • Terms such as “separate” and “combined” may be interpreted in the same way as “different”.
  • 10 ... learning device, 11 ... acquisition unit, 12 ... action 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).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biophysics (AREA)
  • Tourism & Hospitality (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Pure & Applied Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Algebra (AREA)
  • Economics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Mathematical Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一実施形態の学習装置10は、複数のユーザの各々の行動履歴を示す行動履歴データを取得する取得部11と、行動履歴データを教師データとして用いることにより、複数のユーザの各々の行動を予測するための予測モデルMに含まれるパラメータ群PC,Cを学習する学習部13と、を備える。パラメータ群PCは、複数のクラスタの各々に対するユーザ毎の所属率に関するパラメータ群である。パラメータ群Cは、複数のアクションの各々についてのクラスタ毎の行動傾向に関するパラメータ群である。

Description

学習装置
 本発明の一側面は、学習装置に関する。
 特定のユーザの行動履歴データに基づいて、当該ユーザが所定のアクション(例えば、所定の商品の閲覧、購入、評価、又は所定の場所の訪問、評価等)をとる確率(選択確率)を計算する仕組みが知られている(例えば特許文献1参照)。
特開2016-103107号公報
 上記仕組みを適用して複数のユーザの行動予測を行う場合、ユーザ毎の各アクションを実行する確率を計算(学習)する必要がある。この場合、学習すべきパラメータ数(すなわち、ユーザ数×行動数)が多くなる結果、学習のための計算量が非常に大きくなり、必要な計算リソースが膨大になるおそれがある。
 本発明の一側面は、複数のユーザの行動を予測する予測モデルの学習に必要な計算リソースを効果的に低減することが可能な学習装置を提供することを目的とする。
 本発明の一側面に係る学習装置は、複数のユーザの各々の行動履歴を示す行動履歴データを取得する取得部と、行動履歴データを教師データとして用いることにより、複数のユーザの各々の行動を予測するための予測モデルに含まれる第1パラメータ群及び第2パラメータ群を学習する学習部と、を備え、第1パラメータ群は、複数のクラスタの各々に対するユーザ毎の所属率に関するパラメータ群であり、第2パラメータ群は、複数のアクションの各々についてのクラスタ毎の行動傾向に関するパラメータ群である。
 本発明の一側面に係る学習装置は、複数のユーザの各々が複数の行動(アクション)の各々を実行する確率(すなわち、ユーザとアクションとの対応関係)を直接的に学習する代わりに、ユーザとクラスタとの関係を示す第1パラメータ群と、クラスタとアクションとの関係を示す第2パラメータ群と、を学習する。ここで、ユーザ数が1000万人であり、アクション数が1万であり、クラスタ数が100である場合について、単純化した例を以下に示す。この場合、前者の場合には、学習すべきパラメータの数は「1000億(=ユーザ数(1000万)×アクション数(1万))」となる。一方、後者の場合には、学習すべきパラメータの数は「10億100万(=ユーザ数(1000万)×クラスタ数(100)+クラスタ数(100)×アクション数(1万))」となる。このように、本発明の一側面に係る学習装置によれば、学習すべきパラメータ数を効果的に削減することができる。その結果、予測モデルの学習に必要な計算リソースを効果的に低減することが可能となる。
 本発明の一側面によれば、複数のユーザの行動を予測する予測モデルの学習に必要な計算リソースを効果的に低減することが可能な学習装置を提供することができる。
実施形態に係る学習装置の機能構成を示す図である。 行動履歴データの一例を示す図である。 予測モデルの一例を示す図である。 予測モデルの他の例を示す図である。 ユーザ毎の行動傾向に関するパラメータ群Pと、クラスタ所属率に関するパラメータ群PC及びクラスタ毎の行動傾向に関するパラメータ群Cとの関係を模式的に示す図である。 (A)はクラスタ所属率に関するパラメータ群PCの一例を示す図であり、(B)はクラスタ毎の行動傾向に関するパラメータ群Cの一例を示す図である。 学習処理について説明するための図である。 第1学習処理を模式的に示す図である。 第2学習処理を模式的に示す図である。 学習装置の動作の一例を示すフローチャートである。 クラスタ数を可変にする場合の学習処理の一例を示すフローチャートである。 学習装置のハードウェア構成の一例を示す図である。
 以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
 図1は、一実施形態に係る学習装置10の機能構成を示す図である。学習装置10は、複数のユーザの各々の行動履歴を示す行動履歴データを教師データとして用いることにより、各ユーザの行動を予測するための予測モデル(確率モデル)を学習する装置である。学習装置10は、一のコンピュータ装置(例えばサーバ装置等)によって構成されてもよいし、互いに通信可能に接続された複数のコンピュータ装置によって構成されてもよい。図1に示されるように、学習装置10は、取得部11と、行動履歴DB12と、学習部13と、予測モデルDB14と、を備えている。
 取得部11は、複数のユーザの各々の行動履歴データを取得する。取得部11は、例えば、予め定められた対象期間(例えば、「2019/11/1」から「2019/11/31」までの期間等)に各ユーザが実行したアクション(行動)についての行動履歴データを取得する。取得部11により取得された複数のユーザの各々の行動履歴データは、行動履歴データを記憶するデータベースである行動履歴DB12に記憶される。
 図2は、行動履歴データの一例を示す図である。一例として、行動履歴データは、ユーザが行ったアクション毎に定義される複数のレコードを含んでいる。各レコードは、ユーザを識別する識別情報(ユーザID)と、時間を示す時間情報と、場所を示す場所情報と、当該時間及び当該場所において当該ユーザIDにより特定されるユーザによって実行されたアクションを示す情報と、を互いに関連付けた情報である。
 時間情報は、例えば、日時(例えば、年月日及び時分で表される分単位の情報)によって表され得る。ただし、時間情報の粒度は上記に限られず、例えば時間単位、日単位等であってもよい。
 場所情報は、例えば、緯度及び経度により表され得る。それ以外にも、場所情報は、「自宅」、「会社」、「駅」、「コンビニエンスストア」等の場所の種別により表されてもよい。また、場所情報は、「東京」等の比較的広いエリアを示す情報であってもよいし、地域メッシュ(例えば500mメッシュ)を識別する情報(識別子)等であってもよい。
 アクションは、例えば、スマートフォン等のユーザ端末に対する操作(例えば、特定のアプリケーションの利用)、特定の場所(例えば店舗)への訪問、日常行動(例えば、走る、寝る、食べる等の特定の行動)等の様々なユーザの行動を含み得る。行動履歴データとして取得されるアクションの種類は、例えば予測モデルの設計段階等において予め定義されてもよい。以下、行動履歴データを取得するためのいくつかの方法を例示する。ただし、取得部11が各ユーザの行動履歴データを取得する方法は、以下に例示する特定の方法には限定されない。
(行動履歴データの第1の取得例)
 取得部11は、各ユーザが所持するユーザ端末の操作履歴を、行動履歴データとして取得してもよい。例えば、ユーザがユーザ端末を操作して特定のアプリケーション(例えば乗換検索アプリケーション、音楽視聴アプリケーション、動画視聴アプリケーション等)を利用した場合、取得部11は、当該アプリケーションの利用履歴(例えば、時間と場所と利用されたアプリケーションとを関連付けた情報)を行動履歴データとして取得してもよい。このとき、取得部11は、例えば、ユーザ端末の位置情報(例えば、基地局測位、GPS測位等により得られる緯度及び経度の情報)を、場所情報として取得することができる。或いは、取得部11は、緯度及び経度と場所(例えば店舗等)との対応関係を示す情報を用いて、ユーザ端末の位置情報(緯度及び経度)から上述したような場所(例えば、特定の店舗、「東京」等のエリア、地域メッシュ等)を特定し、特定された場所を示す場所情報を取得してもよい。
(行動履歴データの第2の取得例)
 取得部11は、ユーザ端末の位置情報の履歴を取得し、当該履歴からユーザの訪問場所を推定してもよい。そして、取得部11は、ユーザが特定の場所(例えば、予め行動履歴を取得する対象として登録された場所)に訪問したと推定された場合に、当該特定の場所に訪問したことを示す行動履歴データ(すなわち、特定の場所に訪問したことが「実行されたアクション」として登録された行動履歴データ)を取得してもよい。
(行動履歴データの第3の取得例)
 取得部11は、ユーザがユーザ端末を操作して明示的に入力した行動履歴に関する情報(例えば、いつ、どこで、何をしたかを示す情報)を行動履歴データとして取得してもよい。
(行動履歴データの第4の取得例)
 取得部11は、ユーザが店舗等において、クレジットカード或いはポイントカード等を利用して決済した場合に、当該決済処理を「実行されたアクション」とする行動履歴データを取得してもよい。この場合、取得部11は、例えば、店舗等からユーザの決済履歴を取得することにより、いつ、どこで(どの店舗で)、アクション(決済処理)を実行したかを示す行動履歴データを取得することができる。
(行動履歴データの第5の取得例)
 取得部11は、ある特定の行動に限定して行動履歴データを取得してもよい。一例として、ユーザの購買行動に着目する場合について説明する。この場合、取得部11は、ユーザの購買行動(アクション)の履歴のみを行動履歴データとして取得してもよい。この場合、行動履歴DB12には、各ユーザについて、いつ、どの店舗で、購買行動を行ったかを示す行動履歴データが蓄積される。このように蓄積された行動履歴データから、ユーザの購買行動の傾向を把握することができる。購買行動の傾向としては、例えば、購買行動を行う確率が高い場所又は時間の傾向、互いに連続する購買行動間の時間間隔の傾向、ある店舗Aで買い物をした後に別の店舗Bで買い物をする確率が高いといった傾向等が挙げられる。
 学習部13は、取得部11により取得された行動履歴データ(すなわち、行動履歴DB12に記憶された行動履歴データ)を教師データとして用いることにより、予測モデルを学習する。より具体的には、学習部13は、予測モデルに含まれるパラメータ群を学習する。
 学習部13による学習処理の詳細を説明する前に、図3及び図4を参照して、学習部13により学習される予測モデルMについて説明する。予測モデルMは、例えば、ニューラルネットワーク(多層ニューラルネットワーク、階層型ニューラルネットワーク等)モデル、点過程モデル等の機械学習モデルである。また、予測モデルMの学習(パラメータ推定)のアルゴリズムとしては、最尤推定、ベイズ推定等が用いられ得る。図3又は図4に示されるように、予測モデルMは、学習部13により学習されたパラメータ(学習済みパラメータ)として、パラメータ群G,C,PCを有している。パラメータ群G(第3パラメータ群)は、複数のユーザの全体的な行動傾向に関するパラメータ群である。パラメータ群C(第2パラメータ群)は、クラスタ毎の行動傾向に関するパラメータ群である。パラメータ群PC(第1パラメータ群)は、各ユーザのクラスタ所属率に関するパラメータ群である。各パラメータ群G,C,PCの詳細については後述する。
 図3の例では、予測モデルMには、予測対象ユーザの直近の行動履歴データ(例えば、直近の予め定められた長さの期間における行動履歴データ)と予測対象時刻tとが入力データとして与えられる。予測モデルMは、パラメータ群G、パラメータ群C、及びパラメータ群PC(予測対象ユーザに関するパラメータ群)に基づいて、予め定義された複数のアクションの各々が予測対象時刻tに予測対象ユーザによって実行される確率を出力する。すなわち、予測モデルMは、入力データに対して学習済みのパラメータ群G,C,PCを適用して所定の演算を実行することにより、アクション毎の実行される確率を出力する。このような予測モデルMによれば、将来時点(予測対象時刻t)における予測対象ユーザの行動を予測することが可能となる。
 図4の例では、予測モデルMには、予測対象ユーザの直近の行動履歴データと予測対象アクションを示す情報とが入力データとして与えられる。予測モデルMは、パラメータ群G、パラメータ群C、及びパラメータ群PC(予測対象ユーザに関するパラメータ群)に基づいて、予測対象ユーザによって予測対象アクションが実行される確率と時間とを互いに関連付けた情報を出力する。このような予測モデルMによれば、予測対象ユーザが特定の行動(予測対象アクション)を実行する可能性が高い(又は低い)将来の時点を予測することが可能となる。
 なお、図3及び図4に示した予測モデルMの利用方法は一例であり、予測モデルMには、上記例で示した入力データ以外のデータが入力されてもよいし、上記例で示した出力結果以外のデータが出力されてもよい。また、予測モデルMは、複数の利用方法(例えば、上述した図3及び図4に示した利用方法)に対応可能に構成されてもよい。すなわち、予測モデルMは、予測対象ユーザの直近の行動履歴データと予測対象時刻tとが入力された場合には図3に示した例のように動作し、予測対象ユーザの直近の行動履歴データと予測対象アクションを示す情報とが入力された場合には図4に示した例のように動作してもよい。
(パラメータ群Gについて)
 次に、ユーザ全体の行動傾向に関するパラメータ群Gについて説明する。一例として、パラメータ群Gは、複数(n個)のパラメータ群G,…,Gによって構成され得る。パラメータ群Gは、複数のパラメータ群G,…,Gのうちの1つとして、以下のようなパラメータ群を含み得る。
(パラメータ群Gに含まれるパラメータ群の第1の例)
 パラメータ群Gは、例えば、アクションと時間との対応関係を示すパラメータ群を含み得る。このパラメータ群は、ある時点にあるアクションが実行される確率に関するパラメータを、時点とアクションとの組毎に保持している。ここで、「確率に関するパラメータ」とは、確率自体を表す値であってもよいし、予測モデルMにおいて予め定義された確率算出式(例えば、後述する式1参照)において利用されるパラメータ(係数)であってもよい(以下同じ)。一例として、1万個のアクションが定義されており、時間として1日(24時間)を分単位で区切った1440時点が定義されている場合には、上記パラメータ群は、1440万(=1万×1440)個のパラメータを含む。当該パラメータは、例えば、確率の大きさを示すパラメータ(すなわち、値が大きいほど確率が高いことを示すパラメータ)である。
(パラメータ群Gに含まれるパラメータ群の第2の例)
 パラメータ群Gは、アクション間の関係を示すパラメータ群を含み得る。このパラメータ群は、任意のアクションAが実行された後に任意のアクションBが実行される確率に関するパラメータを2つのアクションの組毎に保持している。例えば、1万個のアクションが用意されている場合には、上記パラメータ群は、1億(=1万×1万)個のパラメータを含む。当該パラメータは、例えば、上述した第1の例と同様に確率の高さを示すパラメータであってもよいし、アクションAが実行された後にアクションBが実行されるまでの期間(期待値)に対応するパラメータであってもよい。後者の場合、当該パラメータの値が大きいほどアクションAが実行された後すぐにアクションBが実行される確率が低いことを表すことになる。
 上述したようなパラメータ群G(G,…,G)は、アクション毎の発生確率(実行される確率)を算出するために予め定義された確率算出式の一部を構成し得る。確率算出式の一例を以下に示す。
式1:P(A|user,time,location,history)=G(time)+G(location)+exp(G(time,location))+…+log(G(time,history))+F(user)
 上記式1において、「A」は特定のアクションを示す変数(例えば、アクションを識別するアクションID)である。「user」はユーザを示す変数(例えば、ユーザを識別するユーザID)である。「time」は時刻を示す変数(例えば、年月日及び時分を示す情報)である。「location」は場所を示す変数(例えば、緯度及び経度、又は上記で例示したような「東京」を示すエリアID、「500mメッシュ」の識別子等)である。「history」はユーザ(変数「user」が示すユーザ)の直近の行動履歴データを示す変数である。「history」は、例えば、図2で示した行動履歴データ(複数のレコード)を可変長の配列、テンソル形式等によって表したものである。「P(A|user,time,location,history)」は、あるユーザ(変数「user」が示すユーザ)がある時刻(変数「time」が示す時刻)にある場所(変数「location」が示す場所)において、あるアクション(変数「A」が示すアクション)を実行する確率である。
 予測モデルMは、例えば、予め定義された複数(m個)のアクションの各々(アクションA,…,A)について、上記式1のように表される確率算出式を有している。すなわち、予測モデルMは、上記式1のように表されるアクション毎に定義された式と、当該式において用いられる学習済みのパラメータ群G,PC,Cと、によって構成され得る。
 上記式1の右辺における「G(time)」は、変数「time」が示す時刻においてアクションAが実行される確率に関するパラメータである。同様に「G(location)」は、変数「location」が示す場所においてアクションAが実行される確率に関するパラメータである。「G(time,location)」は、変数「time」が示す時刻及び変数「location」が示す場所との組み合わせが実現された場合にアクションAが実行される確率に関するパラメータである。「G(time,history)」は、直近の行動履歴が変数「history」が示す行動履歴データである場合に変数「time」が示す時刻においてアクションAが実行される確率に関するパラメータである。なお、上記式1の「G(time,location)」及び「G(time,history)」のように、パラメータは、指数関数(exp関数)、対数関数(log関数)、三角関数(例えばsin,cos等)等の任意の関数のパラメータであってもよい。
 なお、上述したユーザ全体の傾向を示すパラメータ群Gは、複数のユーザの各々に共通に適用されるパラメータ群であるため、上記式1の変数「user」毎に異なるパラメータを有していない。つまり、パラメータ群Gだけでは、ユーザ固有の特徴(個人差)を反映させた予測結果を得ることはできない。そこで、予測モデルMは、ユーザ毎の特徴を反映させた予測結果を得るために、変数「user」毎に異なるパラメータを有するパラメータ群(パラメータ群C,PC)を有している。上記式(1)における「F(user)」は、当該パラメータ群C,PCにおける変数「user」に応じたパラメータ群である。
(パラメータ群PC,Cについて)
 次に、パラメータ群PC,Cについて説明する。まず、図5を参照して、ユーザ毎の行動傾向を示すパラメータとして、パラメータ群PC,Cに分解された2つのパラメータ群を用いる効果について説明する。図5に示されるように、ユーザ毎の特徴を反映した予測結果を得る方法としては、ユーザとアクションとの対応関係を直接規定したパラメータ群P(例えば、ユーザがアクションを実行する傾向の度合いをユーザとアクションとの組毎に保持するパラメータ群)を学習することが考えられる。しかし、この方法では、ユーザ数をN、アクション数をNaと表した場合、「N×Na」の数のパラメータを学習する必要がある。例えば、「N=1000万、Na=1万」である場合には、パラメータ群Pに含まれるパラメータ数は1000億(=1000万×1万)となる。このように学習すべきパラメータ数が膨大になると、学習処理に必要な計算リソースも膨大となり、現実的な時間で学習処理を完了させることが困難となる場合がある。
 そこで、本実施形態では、上記パラメータ群Pを用いる代わりに、クラスタ毎の行動傾向に関するパラメータ群Cと各ユーザのクラスタ所属率に関するパラメータ群PCとが用いられる。この場合、パラメータ群C及びパラメータ群PCの情報から、クラスタを介して、ユーザ毎の行動傾向をおおまかに把握することが可能となる。ここで、クラスタ数Ncは、アクション数Naよりも少なくなるように設定される。
 図6の(A)は、「Nc=100」の場合におけるパラメータ群Cの一例を示している。パラメータ群Cは、ユーザとクラスタとの組毎に定義されたパラメータ(「N×Nc」個のパラメータ)を有している。パラメータ群Cは、行列形式で表現され得る。図6の(A)に示される行列の各要素に相当するパラメータは、クラスタに対するユーザの所属率(すなわち、ユーザがクラスタに当てはまる度合い)を示している。一例として、パラメータ値が大きいほど、ユーザがクラスタに当てはまる度合いが大きいことを示している。この例では、クラスタ1に対するユーザAの所属率は「0.67」とされている。つまり、ユーザAがクラスタ1の行動傾向に当てはまる度合いが「0.67」であることを示している。
 図6の(B)は、「Nc=100」の場合におけるパラメータ群PCの一例を示している。パラメータ群PCは、クラスタとアクションとの組毎に定義されたパラメータ(「Nc×Na」個のパラメータ)を有している。パラメータ群PCは、行列形式で表現され得る。図6の(B)に示される行列の各要素に相当するパラメータは、アクションに対するクラスタの傾向を示している。例えば、当該パラメータは、クラスタ(クラスタに所属するユーザ)がアクションを実行する確率(或いは傾向)の高さを示している。すなわち、パラメータ値が大きいほど、クラスタ(クラスタに所属するユーザ)がアクションを実行する確率が高いことを示している。この例では、クラスタ1(クラスタ1に所属するユーザ)がアクション1を実行する確率が「0.28」とされている。
 なお、図6の(B)の例では、パラメータ群PCは一つのパターン(すなわち、全時間帯に共通の一般的な傾向)に関するパラメータのみを含んでいるが、パラメータ群PCは、複数のパターン(例えば、朝、昼、夕方、夜等の4つの時間帯等)のそれぞれについて、図6の(B)に示したようなパラメータ群を含んでいてもよい。この場合、上記式1の確率算出式における「F(user)」は、「F(user,time)」と書き換えられる。本実施形態では説明を簡単にするために、パラメータ群PCは図6の(B)に示した1パターンのパラメータ群のみを含むものとする。
 このように、パラメータ群Pの代わりにパラメータ群C,PCを用いることで、学習すべきパラメータ数を削減することができる。具体的には、パラメータ群PCのパラメータ数「N×Na」に対して、パラメータ群C,PCを併せたパラメータ数は「N×Nc+Nc×Na」となる。従って、クラスタ数Ncをアクション数Naよりも十分に小さくすることで、パラメータ数を大幅に削減することができる。例えば、上述した例のように「N=1000万、Na=1万、Nc=100」である場合、パラメータ群PCのパラメータ数が「1000億」となるのに対して、パラメータ群C,PCを併せたパラメータ数は「10億100万」となる。つまり、パラメータ群Pの代わりにパラメータ群C,PCを用いることにより、アクション数Naのオーダ(ここでは、10)とクラスタ数Ncのオーダ(ここでは、10)との差(ここでは、100倍の差)だけ、パラメータ数を削減することができる。
 次に、学習部13による学習処理の詳細について説明する。一例として、学習部13は、第1学習処理及び第2学習処理を実行する。より具体的には、学習部13は、第1学習処理を実行した後に、第2学習処理を実行するように構成されている。すなわち、学習部13は、複数のユーザの各々のクラスタ所属率に関するパラメータ群PCを一気に学習するのではなく、複数のユーザをユーザ群A(第1ユーザ群)とユーザ群B(第2ユーザ群)とに分けて、段階的に学習処理を実行する。より具体的には、図7に示されるように、上述したパラメータ群PCを、ユーザ群Aのクラスタ所属率に関するパラメータ群PCaとユーザ群Bのクラスタ所属率に関するパラメータ群PCbとに分け、これらのパラメータ群PCa,PCbを同時に学習するのではなく、段階的に学習する。
(第1学習処理)
 図8は、第1学習処理を模式的に示す図である。図8に示されるように、第1学習処理は、ユーザ群Aに含まれる各ユーザの行動履歴データを教師データとして用いることにより、ユーザ全体の行動傾向に関するパラメータ群Gと、クラスタ毎の行動傾向に関するパラメータ群Cと、ユーザ群Aのクラスタ所属率に関するパラメータ群PCaと、を学習する処理である。つまり、第1学習部13Aは、一部のユーザ(ユーザ群A)の行動履歴データから、学習済みのパラメータ群G,C,PCaを生成する。
 上述したように、学習部13は、例えば、ニューラルネットワーク(多層ニューラルネットワーク、階層型ニューラルネットワーク等)モデル、点過程モデル等の機械学習モデルに対して、最尤推定法、ベイズ推定法等の学習(パラメータ推定)アルゴリズムを用いることで、第1学習処理を実行する。
(第2学習処理)
 図9は、第2学習処理を模式的に示す図である。図9に示されるように、第2学習処理は、ユーザ群Bに含まれる各ユーザの行動履歴データを教師データとして用いることにより、第1学習処理により学習されたパラメータ群G,C,PCaを変更することなく、ユーザ群Bのクラスタ所属率に関するパラメータ群PCbを学習する処理である。すなわち、学習部13は、第1学習処理により得られた学習済みのパラメータ群G,Cを固定パラメータとして扱った上で、パラメータ群PCbのみを学習する。なお、ユーザ群Bはユーザ群Aと独立しているため、第1学習処理により学習されたユーザ群Aのクラスタ所属率に関するパラメータ群PCaは、ユーザ群Bのクラスタ所属率に関するパラメータ群PCbの学習には影響しない。第2学習処理は、第1学習処理と学習対象のパラメータ群が異なるだけであり、第2学習処理で用いられる機械学習モデル及びアルゴリズムは、第1学習処理で用いられる機械学習モデル及びアルゴリズムと同様である。
 次に、第1学習処理と第2学習処理とを段階的に実行することによる効果について説明する。そのために、全てのユーザ(すなわち、ユーザ群A及びユーザ群Bの両方)の行動履歴データを用いてパラメータ群G,C,PCを同時に学習する場合(以下「比較例」という。)と、上記のように第1学習処理によってパラメータ群G,C,PCaを学習した後に第2学習処理によってパラメータ群PCbを学習する場合(以下「実施例」という。)と、のそれぞれに必要な計算量について考える。以下の説明では、以下に示す表記を用いる。
・O(G):パラメータ群Gの学習に必要な単位計算量
・O(PC):パラメータ群PCの学習に必要な単位計算量
・O(PCa):パラメータ群PCaの学習に必要な単位計算量
・O(PCb):パラメータ群PCbの学習に必要な単位計算量
・O(C):パラメータ群Cの学習に必要な単位計算量
・N:全ユーザ数
・N:ユーザ群Aのユーザ数
・N:ユーザ群Bのユーザ数
・M:教師データとして用いられるユーザ毎の行動履歴データの長さ
 ここで、教師データとして用いられるユーザ毎の行動履歴データの長さ「M」は、行動履歴データに含まれるレコード数である。ここでは説明を簡単にするために、行動履歴データの長さにユーザ間のばらつきはないものとする。また、上記に定義したO(G)、O(PC)、及びO(C)は、教師データ1つ分の学習に必要となる計算量(単位計算量)である。従って、あるパラメータ群の学習に必要となる計算量は、教師データの個数と当該パラメータ群の単位計算量との積によって表される。また、パラメータ群Gの単位計算量O(G)はパラメータ群PC,Cの単位計算量を併せたもの(O(PC)+O(C))よりも十分に大きいものとする。一例として、下記式2が成立するものとする。また、ここでは、パラメータ群PC,PCa,PCbの単位計算量は同等であるものとする。具体的には、下記式3が成立するものとする。
式2:O(G)=1000×{O(PC)+O(C)}
式3:O(PC)≒O(PCa)≒O(PCb)
 上記を前提とすると、比較例において必要となる計算量AC1は、下記式4により表される。
式4:AC1=M×N×{O(G)+O(PC)+O(C)}
 ここで、式4に式2を適用すると、式4は下記式5のように変形される。
式5:AC1=M×N×1001×{O(PC)+O(C)}
 一方、実施例において必要となる計算量AC2は、下記式6により表される。
式6:AC2=M×N×{O(G)+O(PCa)+O(C)}+M×N×O(PCb)
 式6の第1項は第1学習処理に必要な計算量を表しており、式6の第2項は第2学習処理に必要な計算量を表している。ここで、式6に式3を適用すると、式6は下記式7のように変形される。
式7:AC2=M×N×1001×{O(PC)+O(C)}+M×N×O(PC)
 式7において、計算量(オーダ)について考えた場合、第2項よりも第1項が支配的になる。上記を踏まえると、式5で示される比較例の計算量AC1と式7で示される実施例の計算量AC2との間には、以下の式8の関係が成立する。
式8:AC2/AC1≒N/N
 すなわち、実施例によれば、比較例よりも、全体の計算量をN/N程度まで削減できることになる。例えば、全ユーザ数Nが1000万人であり、ユーザ群Aのユーザ数Nが10万人である場合、実施例は比較例の1/100の計算量で学習処理を行うことができる。すなわち、実施例によれば、ユーザ全体の傾向に関するパラメータ群Gの学習をなるべく少ないサンプル(ユーザ群A)を用いて行うことで、全体の計算量を効果的に削減することができる。また、ユーザ全体の傾向の学習を行うにあたって、サンプル数(ユーザ数)を多くし過ぎると、オーバーフィッティングの問題も生じ得る。実施例によれば、このようなオーバーフィッティングの問題の発生を抑制することもできる。
 上述のように学習部13によって学習された学習済みのパラメータ群G,C,PCa,PCbは、予測モデルMを格納するデータベースである予測モデルDB14に記憶納される。
 次に、図10のフローチャートを参照して、学習装置10の動作の一例について説明する。
 ステップS1において、取得部11は、複数のユーザの各々の行動履歴データ(図2参照)を取得する。取得部11により取得された行動履歴データは、行動履歴DB12に記憶される。
 ステップS2において、学習部13は、第1ユーザ群(ユーザ群A)の行動履歴データを教師データとして用いて上述した第1学習処理を実行することにより、予測モデルMに含まれるパラメータ群G,C,PCaを学習する。
 ステップS3において、学習部13は、第2ユーザ群(ユーザ群B)の行動履歴データを教師データとして用いて上述した第2学習処理を実行することにより、予測モデルMに含まれるパラメータ群PCbを学習する。このとき、ステップS2において学習されたパラメータ群G,C,PCaは、固定パラメータとして扱われる。すなわち、第2学習処理において、これらのパラメータ群G,C,PCaは変更されない。
 ステップS2及びS3で学習された予測モデルM(すなわち、予測モデルMに含まれるパラメータ群G,C,PCa,PCb)は、予測モデルDB14に記憶される。
 以上説明した学習装置10は、複数のユーザの各々が複数の行動(アクション)の各々を実行する確率(例えば、図5に示したユーザ毎の行動傾向に関するパラメータ群P)を直接的に学習する代わりに、ユーザとクラスタとの関係を示すパラメータ群PC(PCa,PCb)と、クラスタとアクションとの関係を示すパラメータ群Cと、を学習する。上述したように、ユーザ数を1000万人、アクション数を1万、クラスタ数を100とした場合、パラメータ群Pのパラメータ数は「1000億(=ユーザ数(1000万)×アクション数(1万))」となるのに対して、パラメータ群PC,Cのパラメータ数は「10億100万(=ユーザ数(1000万)×クラスタ数(100)+クラスタ数(100)×アクション数(1万))」となる。このように、学習装置10によれば、学習すべきパラメータ数を効果的に削減することができる。その結果、予測モデルMの学習に必要な計算リソースを効果的に低減することが可能となる。
 また、クラスタ毎の行動傾向に関するパラメータ群Cと、各ユーザのクラスタ所属率に関するパラメータ群PC(PCa)とが、同時に学習される。その結果、ユーザ毎の行動傾向(すなわち、各ユーザの行動履歴データから把握される傾向)が反映されるように、パラメータ群C,PCa,PCbが学習される。この構成によれば、例えば性別、年代、職業等のユーザの任意の属性に基づいてユーザが所属するクラスタ(カテゴリ)を固定的に定める場合と比較して、ユーザ毎の行動傾向に応じて柔軟なクラスタ設定(すなわち、クラスタ毎の行動傾向及び各クラスタに対するユーザの所属率の設定)を行うことができる。
 また、予測モデルMは、複数のユーザの全体的な行動傾向に関するパラメータ群Gを含んでおり、学習部13は、パラメータ群PC(本実施形態では一部のユーザ(ユーザ群A)のパラメータ群PCa)及びパラメータ群Cと共にパラメータ群Gを学習する。この場合、ユーザ全体の行動傾向に関するパラメータ群Gとユーザ毎の行動傾向(すなわち、クラスタを介して規定されるユーザ毎の行動傾向)に関するパラメータ群PC及びパラメータ群Cとの両方を含む予測モデルMによって、精度の高い行動予測を行うことが期待できる。例えば、パラメータ群Gにより示されるユーザ全体の行動傾向を基準として、そこから外れた各ユーザ特有の行動傾向をパラメータ群PC及びパラメータ群Cにより補完することで、ユーザ毎の行動傾向の予測を精度良く行うことが可能となる。
 また、学習部13は、第1学習処理(図8参照)を実行した後に第2学習処理(図9参照)を実行するように構成されている。上述したように、第1学習処理において、一部のユーザ(ユーザ群A)の教師データ(行動履歴データ)に基づいてパラメータ群Gを学習することにより、全ユーザの教師データに基づいて学習する場合よりも、少ない計算量で学習を行うことができる。また、例えば、既存ユーザ群(ユーザ群A)の行動履歴データに基づいてパラメータ群G,C,PCaを学習した後に、予測対象としたい新規ユーザ群(ユーザ群B)が追加される場合も考えられる。この場合、新規ユーザ群が追加された後に、既に学習済みのパラメータ群G,C,PCaを学習し直すことなく、追加で必須となるパラメータ群(すなわち、新規ユーザ群についてのパラメータ群PCb)のみを学習することで、学習処理の計算リソースを大幅に削減することができる。
 また、学習部13は、クラスタ数Ncを予め固定した上で、予測モデルMを学習する。上記実施形態では一例として、クラスタ数Ncは「100」に固定されている。この場合、クラスタ数Ncを可変にする場合よりも少ない計算リソースで予測モデルを学習することができる。より具体的には、クラスタ数Ncを可変パラメータとして扱った場合、クラスタ数Ncを決定するための処理が必要となる分だけ計算リソースが増えてしまう。クラスタ数Ncを固定することにより、このような計算リソースが不要となる。
 ただし、クラスタの数Ncは、可変パラメータとして扱われてもよい。すなわち、学習部13は、クラスタ数Ncを可変パラメータとして、予測モデルMを学習してもよい。この場合、クラスタ数Ncを調整することで、予測モデルMの予測精度の観点から最適な数のクラスタを決定することが可能となる。例えば、学習部13は、互いに異なるクラスタ数(例えば、m個の異なるクラスタ数Nc,…,Nc)を有する複数の予測モデル(例えば、m個の予測モデルM,…,M)を学習すると共に、複数の予測モデルM,…,Mの各々の良さを評価するための指標を取得してもよい。そして、学習部13は、複数の予測モデルM1,…,Mの各々の指標に基づいて、最良の予測モデルMを決定してもよい。
 指標の一例として、値が小さい程予測(推定)が適切であることを示す情報量基準が挙げられる。例えば、学習部13は、尤度及びパラメータ数等のペナルティ項等を計算することにより、各予測モデルM,…,Mについての情報量基準を算出することができる。上述した尤度及びパラメータ数(すなわち、クラスタ数に応じたパラメータ数)は、パラメータ群の推定(学習)時に算出される。従って、学習部13は、学習処理の終了と同時に得られる尤度及びパラメータ数に基づいて、情報量基準を算出することができる。例えば、情報量基準としてベイズ情報量基準(BIC)を用いる場合、学習部13は、式「BIC=-2×ln(L)+k×ln(n)」を用いることにより、BICを算出することができる。なお、上記式において、Lは尤度であり、kはパラメータ数であり、nは教師データ(行動履歴データ)のサイズ(レコード数)である。学習部13は、複数の予測モデルM,…,Mのうち最小の情報量基準を有する予測モデルを、最終的に採用する予測モデルMとして決定することができる。すなわち、互いに異なる複数のクラスタ数Nc,…,Ncを用いて学習した各結果(学習した結果得られた各予測モデルM,…,M)から、指標に基づいて最良と判断される予測モデルMを選択(決定)することができる。このため、適切なクラスタ数Ncが事前に把握されていない場合において、予測精度の高い予測モデルMを生成(決定)することができる。
 図11を参照して、クラスタ数Ncを可変パラメータとしてパラメータ群G,PC,Cを学習する処理の処理手順の一例について説明する。ここでは、複数のユーザをユーザ群A,Bに分けずに、パラメータ群PCを学習する場合について説明する。なお、上記実施形態のように、複数のユーザをユーザ群A,Bに分けて第1学習処理及び第2学習処理を行う場合には、ステップS12における「学習処理」及び「パラメータ群G,PC,C」は、「第1学習処理」及び「パラメータ群G,PCa,C」にそれぞれ置き換えられる。
 ステップS11において、学習部13は、クラスタ数を設定する(初期設定としては、Ncが設定される)。ステップS12において、学習部13は、ステップS1で設定されたクラスタ数Ncを用いて、上述した学習処理を実行する。その結果、学習済みのパラメータ群G,PC,Cが得られる。ステップS13において、学習部13は、ステップS12で得られた学習済みのパラメータ群G,PC,Cを含む予測モデルMの良さを評価するための指標(例えば、上述した情報量基準)を取得する。続いて、学習部13は、予め定められた複数のクラスタ数Nc1,…Ncのそれぞれについての処理が完了するまで、上記ステップS11~S13の処理を繰り返す(ステップS14:NO)。そして、学習部13は、複数のクラスタ数Nc1,…Ncのそれぞれについての処理が完了した後(ステップS14:YES)、ステップS15を実行する。ステップS15において、学習部13は、複数のクラスタ数Nc1,…Ncのそれぞれについて得られた複数の予測モデルM,…,Mの指標に基づいて、最良の予測モデルMを決定する。
 なお、ここでは、予め予測モデルMの作成者(オペレータ)が、複数のクラスタ数Nc,…,Ncを予め定めておく例について説明したが、クラスタ数は、以下のように決定されてもよい。例えば、学習部13は、クラスタ数を予め定められた初期値(例えば1等)からスタートさせて、上述した予測モデルの学習及び指標の取得を実行し、予め定められた条件を満たす指標(例えば、予め定められた閾値以下の情報量基準)が得られるまで、クラスタ数を変更(例えばインクリメント)しながら上述した予測モデルの学習及び指標の取得を実行してもよい。このような処理によれば、予め複数のクラスタ数Nc,…,Ncを定めておく必要がない。また、予め定められた複数のクラスタ数Nc,…,Ncの中に最適なクラスタ数が存在しないといった問題が生じることを防止できる。例えば、最適なクラスタ数が「100」である場合に、複数のクラスタ数Nc,…,Ncを「3~20」の範囲に設定してしまうと、最適なクラスタ数に対応する予測モデルMを得ることができない。上記のように、予め定められた条件を満たす指標が得られることを終了条件として学習処理を実行することにより、上記のような問題が生じることを防止できる。
 なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
 機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。
 例えば、本開示の一実施の形態における学習装置10は、本開示の通信制御方法を行うコンピュータとして機能してもよい。図12は、本開示の一実施の形態に係る学習装置10のハードウェア構成の一例を示す図である。上述の学習装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。学習装置10のハードウェア構成は、図1に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 学習装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、学習部13は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る通信制御方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
 通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
 また、学習装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
 以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
 本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
 本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
 本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
 また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
 上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々な情報要素は、あらゆる好適な名称によって識別できるので、これらの様々な情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
 本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
 本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
 本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
 本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
 10…学習装置、11…取得部、12…行動履歴DB、13…学習部、14…予測モデルDB、C…パラメータ群(第2パラメータ群)、G…パラメータ群(第3パラメータ群)、PC,PCa,PCb…パラメータ群(第1パラメータ群)。

Claims (8)

  1.  複数のユーザの各々の行動履歴を示す行動履歴データを取得する取得部と、
     前記行動履歴データを教師データとして用いることにより、前記複数のユーザの各々の行動を予測するための予測モデルに含まれる第1パラメータ群及び第2パラメータ群を学習する学習部と、を備え、
     前記第1パラメータ群は、複数のクラスタの各々に対する前記ユーザ毎の所属率に関するパラメータ群であり、
     前記第2パラメータ群は、複数のアクションの各々についての前記クラスタ毎の行動傾向に関するパラメータ群である、学習装置。
  2.  前記予測モデルは、前記複数のユーザの全体的な行動傾向に関する第3パラメータ群を含み、
     前記学習部は、前記第1パラメータ群及び前記第2パラメータ群と共に前記第3パラメータ群を学習する、請求項1に記載の学習装置。
  3.  前記学習部は、第1学習処理を実行した後に第2学習処理を実行するように構成されており、
     前記第1学習処理は、第1ユーザ群の前記行動履歴データを教師データとして用いることにより、前記第1ユーザ群の前記第1パラメータ群と、前記第2パラメータ群と、前記第3パラメータ群と、を学習する処理であり、
     前記第2学習処理は、前記第1ユーザ群とは異なる第2ユーザ群の前記行動履歴データを教師データとして用いることにより、前記第1学習処理により学習された前記第1ユーザ群の前記第1パラメータ群、前記第2パラメータ群、及び前記第3パラメータ群を変更することなく、前記第2ユーザ群の前記第1パラメータ群を学習する処理である、請求項2に記載の学習装置。
  4.  前記ユーザ毎の前記行動履歴データは、時間及び場所と、前記時間及び前記場所において前記ユーザが実行したアクションを示す情報と、を互いに関連付けた複数のレコードを含んでおり、
     前記予測モデルは、予測対象ユーザの直近の前記行動履歴データと予測対象時刻とが入力データとして与えられることにより、前記第1パラメータ群、前記第2パラメータ群に含まれる前記予測対象ユーザに関するパラメータ群、及び前記第3パラメータ群に基づいて、前記複数のアクションの各々が前記予測対象時刻に前記予測対象ユーザによって実行される確率を出力するモデルである、請求項2又は3に記載の学習装置。
  5.  前記ユーザ毎の前記行動履歴データは、時間及び場所と、前記時間及び前記場所において前記ユーザが実行したアクションを示す情報と、を互いに関連付けた複数のレコードを含んでおり、
     前記予測モデルは、予測対象ユーザの直近の前記行動履歴データと予測対象アクションを示す情報とが入力データとして与えられることにより、前記第1パラメータ群、前記第2パラメータ群に含まれる前記予測対象ユーザに関するパラメータ群、及び前記第3パラメータ群に基づいて、前記予測対象ユーザによって前記予測対象アクションが実行される確率と時間とを互いに関連付けた情報を出力するモデルである、請求項2又は3に記載の学習装置。
  6.  前記学習部は、前記クラスタの数を予め固定した上で、前記予測モデルを学習する、請求項1~5のいずれか一項に記載の学習装置。
  7.  前記学習部は、前記クラスタの数を可変パラメータとして、前記予測モデルを学習する、請求項1~5のいずれか一項に記載の学習装置。
  8.  前記学習部は、
      互いに異なるクラスタ数を有する複数の前記予測モデルを学習すると共に、前記複数の予測モデルの各々の良さを評価するための指標を取得し、
      前記複数の予測モデルの各々の前記指標に基づいて、最良の前記予測モデルを決定する、請求項7に記載の学習装置。
PCT/JP2021/018266 2020-06-08 2021-05-13 学習装置 WO2021251056A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/000,844 US20230214716A1 (en) 2020-06-08 2021-05-13 Learning device
JP2022530076A JPWO2021251056A1 (ja) 2020-06-08 2021-05-13

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020099234 2020-06-08
JP2020-099234 2020-06-08

Publications (1)

Publication Number Publication Date
WO2021251056A1 true WO2021251056A1 (ja) 2021-12-16

Family

ID=78847198

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/018266 WO2021251056A1 (ja) 2020-06-08 2021-05-13 学習装置

Country Status (3)

Country Link
US (1) US20230214716A1 (ja)
JP (1) JPWO2021251056A1 (ja)
WO (1) WO2021251056A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024202234A1 (en) 2023-03-30 2024-10-03 Sony Group Corporation Support method, data generation method and support system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090024546A1 (en) * 2007-06-23 2009-01-22 Motivepath, Inc. System, method and apparatus for predictive modeling of spatially distributed data for location based commercial services
JP2017083963A (ja) * 2015-10-23 2017-05-18 日本電信電話株式会社 パラメータ推定装置、予測装置、方法、及びプログラム
US20190026761A1 (en) * 2013-06-13 2019-01-24 Flytxt B.V. Method and system for automated detection, classification and prediction of multi-scale, multidimensional trends

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090024546A1 (en) * 2007-06-23 2009-01-22 Motivepath, Inc. System, method and apparatus for predictive modeling of spatially distributed data for location based commercial services
US20190026761A1 (en) * 2013-06-13 2019-01-24 Flytxt B.V. Method and system for automated detection, classification and prediction of multi-scale, multidimensional trends
JP2017083963A (ja) * 2015-10-23 2017-05-18 日本電信電話株式会社 パラメータ推定装置、予測装置、方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MURAYAMA, KEISUKE ET AL.: "Examples of big data utilization using stodtotic latent meaning structure models -Data modeling using bayesian network and PLSA", MATERIALS OF THE 96TH SEMINAR ON BASIC PROBLEMS OF ARTIFICIAL INTELLIGENCE, ''4 APPLICATION OF STOOCONDATIVE LATENT MEANING STRUCTURE MODEL'', ''5 THE END, 6 January 2015 (2015-01-06), pages 17 - 22 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024202234A1 (en) 2023-03-30 2024-10-03 Sony Group Corporation Support method, data generation method and support system

Also Published As

Publication number Publication date
JPWO2021251056A1 (ja) 2021-12-16
US20230214716A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
US20240020579A1 (en) Computer Model Machine Learning Based on Correlations of Training Data with Performance Trends
US11222731B2 (en) Balancing provenance and accuracy tradeoffs in data modeling
WO2018207878A1 (ja) 需要予測装置
US11501107B2 (en) Key-value memory network for predicting time-series metrics of target entities
WO2021251056A1 (ja) 学習装置
US11853941B2 (en) Systems and methods for identifying available services at a physical address
US20240290491A1 (en) Applying predictive models to data representing a history of events
Zhao et al. Comparing two machine learning approaches in predicting lupus hospitalization using longitudinal data
Knock et al. Bayesian model choice for epidemic models with two levels of mixing
JP6946542B2 (ja) 学習システム、推定システム及び学習済モデル
US20240054334A1 (en) Training a neural network prediction model for survival analysis
KR102259945B1 (ko) 인공지능 기반의 예측을 활용하는 a/b 테스팅 시스템 및 방법
WO2020230735A1 (ja) 需要予測装置
JP6876295B2 (ja) サーバ装置
CN113407102A (zh) 一种虚拟按键的展示方法、装置、系统和存储介质
WO2023037766A1 (ja) サービス需要ポテンシャル予測装置
WO2022044811A1 (ja) レコメンド装置
US20220207568A1 (en) Information processing device, information processing method, and program
WO2023037780A1 (ja) 広告効果予測装置
JP7571051B2 (ja) 訪問予測
WO2024190038A1 (ja) データ処理システム
WO2023037781A1 (ja) 広告効果予測装置
WO2020250781A1 (ja) 推論装置
WO2023037782A1 (ja) 広告効果予測装置
JP7572809B2 (ja) 情報提供装置

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: 21821459

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022530076

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: 21821459

Country of ref document: EP

Kind code of ref document: A1