COMPUTE INTENSIVE STREAM PROCESSING WITH CONCEPT DRIFT DETECTION
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for detecting trends in event streams. One method includes generating a first set of parameters of a machine learning model from a first system processing an event stream, the first system comprising a first central modeler that receives aggregated information from a first plurality of local modelers; generating a second set of parameters of the machine learning model from a second system processing the event stream, the second system comprising a second central modeler that receives aggregated information from a second plurality of local modelers; determining a difference between the first set of parameters and the second set of parameters; and determining that the difference is greater than a threshold amount and as a consequence outputting information identifying a trend in the event stream.
1 . A method comprising:
receiving events of an event stream that are each processed by one of a plurality of first local modelers and by one of a plurality of second local modelers, wherein the first and second local modelers each execute on a system of one or more computers;
aggregating, by each first local modeler, information associated with each event received by the first local modeler to generate respective first locally aggregated information;
aggregating, by each second local modeler, information associated with each event received by the second local modeler to generate respective second locally aggregated information;
providing, by one or more of the first local modelers, to a first central modeler, first locally aggregated information generated by the one or more first local modelers;
providing, by one or more of the second local modelers, to a second central modeler, second locally aggregated information generated by the one or more second local modelers, wherein the first and the second central modelers execute on the system of one or more computers;
aggregating, by the first central modeler and the second central modeler, respectively, locally aggregated information received by the first central modeler and the second central modeler, respectively, to generate first centrally aggregated information and second centrally aggregated information, respectively;
wherein the aggregating by the first local modelers or the first central modeler or both is done according to a first learning rate parameter and the aggregating by the second local modelers or the second central modeler or both is done according to a second learning rate parameter different from the first learning rate parameter, wherein each learning rate parameter specifies one or more respective weights to be applied to aggregated information associated with events;
determining, by the first central modeler, first parameters of a machine learning model using the first centrally aggregated information;
determining, by the second central modeler, second parameters of the machine learning model using the second centrally aggregated information; and
determining a difference between the first parameters and the second parameters determining that the difference is greater than a threshold amount and as a consequence outputting information identifying a change in trend in the event stream.
2 . The method of claim 1 , wherein:
the information identifying the change in trend includes an identification of one or more parameter of the first parameters and the second parameters that is different by more than a threshold amount.
3 . The method of claim 1 , wherein:
each event has a time stamp; and
the first learning rate parameter and the second learning rate parameter each specify a first function and a different second function, respectively, that output a weight to be applied to information associated with an event given a time stamp of the event.
4 . The method of claim 3 , wherein the first function and the second function are applied by the first local modelers and the second local modelers, respectively.
5 . The method of claim 4 , wherein the first local modelers weight older events lower than the second local modelers do.
6 . The method of claim 4 , wherein the first local modelers weight older events higher than the second local modelers do.
7 . The method of claim 1 , wherein:
the first central modeler and the second central modeler determine the first parameters and the second parameters to represent the parameters of the machine learning model at respective different points in time according to the first learning rate parameter and the second learning rate parameter.
8 . The method of claim 1 , wherein:
determining a difference between the first parameters and the second parameters comprises determining an L 1 -norm or an L 2 -norm difference between the first parameters and the second parameters.
9 . A method comprising:
generating a first set of parameters of a machine learning model from a first system processing an event stream, the first system comprising a first central modeler that receives aggregated information from a first plurality of local modelers;
generating a second set of parameters of the machine learning model from a second system processing the event stream, the second system comprising a second central modeler that receives aggregated information from a second plurality of local modelers;
determining a difference between the first set of parameters and the second set of parameters; and
determining that the difference is greater than a threshold amount and as a consequence outputting information identifying a change in trend in the event stream.
10 . The method of claim 9 , wherein:
the first set of parameters and the second set of parameters represent the parameters of the machine learning model at different points in time.
11 . The method of claim 9 , wherein:
determining a difference between the first set of parameters and the second set of parameters comprises determining an L 1 -norm or an L 2 -norm difference between the first parameters and the second parameters.
12 . The method of claim 9 , wherein:
the information identifying the change in trend includes an identification of one or more parameter of the first parameters and the second parameters that is different by more than a threshold amount.
13 . The method of claim 9 , wherein:
first system and the second system operate according a first learning rate parameter and a different second learning rate parameter, respectively.
14 . A system comprising:
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
receiving events of an event stream that are each processed by one of a plurality of first local modelers and by one of a plurality of second local modelers, wherein the first and second local modelers each execute on a system of one or more computers;
aggregating, by each first local modeler, information associated with each event received by the first local modeler to generate respective first locally aggregated information;
aggregating, by each second local modeler, information associated with each event received by the second local modeler to generate respective second locally aggregated information;
providing, by one or more of the first local modelers, to a first central modeler, first locally aggregated information generated by the one or more first local modelers;
providing, by one or more of the second local modelers, to a second central modeler, second locally aggregated information generated by the one or more second local modelers, wherein the first and the second central modelers execute on the system of one or more computers;
aggregating, by the first central modeler and the second central modeler, respectively, locally aggregated information received by the first central modeler and the second central modeler, respectively, to generate first centrally aggregated information and second centrally aggregated information, respectively;
wherein the aggregating by the first local modelers or the first central modeler or both is done according to a first learning rate parameter and the aggregating by the second local modelers or the second central modeler or both is done according to a second learning rate parameter different from the first learning rate parameter, wherein each learning rate parameter specifies one or more respective weights to be applied to aggregated information associated with events;
determining, by the first central modeler, first parameters of a machine learning model using the first centrally aggregated information;
determining, by the second central modeler, second parameters of the machine learning model using the second centrally aggregated information; and
determining a difference between the first parameters and the second parameters determining that the difference is greater than a threshold amount and as a consequence outputting information identifying a change in trend in the event stream.
15 . The system of claim 14 , wherein:
the information identifying the change in trend includes an identification of one or more parameter of the first parameters and the second parameters that is different by more than a threshold amount.
16 . The system of claim 14 , wherein:
each event has a time stamp; and
the first learning rate parameter and the second learning rate parameter each specify a first function and a different second function, respectively, that output a weight to be applied to information associated with an event given a time stamp of the event.
17 . The system of claim 16 , wherein the first function and the second function are applied by the first local modelers and the second local modelers, respectively.
18 . The system of claim 17 , wherein the first local modelers weight older events lower than the second local modelers do.
19 . The system of claim 17 , wherein the first local modelers weight older events higher than the second local modelers do.
20 . The system of claim 14 , wherein:
the first central modeler and the second central modeler determine the first parameters and the second parameters to represent the parameters of the machine learning model at respective different points in time according to the first learning rate parameter and the second learning rate parameter.