SlideShare uma empresa Scribd logo
1 de 31
Tamas Jambor, Jun Wang, Neal Lathia
  (@jamborta,@seawan,@neal_lathia)
         University College London
Recommender systems exists in time. Many
aspects of the system can only be understood
over time.
Understanding and controlling dynamic
 aspects of the systems to gain control over
 certain objectives.
   Predictability over time
   Allocating resources over time
   Stable system over time
   Describe and estimate the system dynamics
   Build and analyze a feedback loop controller
   Test the dynamics with real data
   More data -> better performance
   Frequent training -> Up-to-date
    recommendation
Performance loss over time
   Use all the data -> best performance
   Use part of the data -> frequent and regular
    updates
Relationship between the number of training
 samples (computation) and performance.
How certain input now would change the future
 state of the system.
r

                m
                            F(t)
k
            y(t)

    y = displacement
    F = force applied
    m = mass of the block
    r = damping constant
    k = spring constant
   Using Newton’s second law F (t ) = my ' ' (t )

    ◦ Spring force: f1 = ky (t )                  r
    ◦ Damping force: f 2 = ry ' (t )
                                                             m
                                                                 F(t)

   This gives the equation                       k

                                                      y(t)

                   F (t ) = ky (t ) + ry ' (t )
r


                                               F(t)
           k
                               y(t)

F (t ) = ky (t ) + ry ' (t )
               y = performance
               F = number of training samples
               k = constant related to the new training samples
               r = constant related to the change in the new training samples
   Generate an input signal
   Log-normal random walk to
    add noise
   Maximum likelihood
    estimation
Build a control loop based on system dynamics
Controlled Recommender System
 Controller
                                   Manipulated Variable
  Control     control              (e.g., number of
               input    Actuator   new training samples)
  Function
                                                           Dynamics
      error
     +-             Monitor

                                   Performance variable
 Reference
performance
Reference Value                                                 Disturbance

 yr (t )                        e(t ) = yr (t ) − y (t )               n(t )
               +
                    e(t )                         u (t )       Performance
           ∑                       Controller
                                                                Dynamics
                   Rec. Error                       Control
                                                                               y (t )
               -                                    Signal


  y (t )                                                                         Rec.
                                                                               Accuracy


                                                              Measurement
   Rise time
   Settling time
   Overshoot
Type           Rise time       Settling time   Overshoot (%)
               (sec)           (sec)
P              5               10              0
PD             1               5               8.21
PI             0               10              36.8
PID            0               10              15.7
P controller   PD controller   PI controller       PID controller
How the controller can perform with unseen
 data.
   Simulate system for 30 days (once a day)
   3 reference values (RMSE 0.95, 0.9, 0.86)
   Measure
    ◦   Settling time
    ◦   Error (with respect to reference) – RMSE-SS
    ◦   Stability (with respect to reference) – SD-SS
    ◦   Overshoot
Type         Settling   RMSE-SS   SD-SS         Overshoot
             time       (error)   (stability)   (%)
P (0.86)     23         0.0104    0.0034        0
PD (0.86)    20.8       0.0059    0.0037        0.18
PI (0.86)    18.6       0.0055    0.0047        0.49
PID (0.86)   18.6       0.0045    0.0045        0.72

                                        PD controller
Type            Settling       RMSE-SS      SD-SS         Overshoot
                time           (error)      (stability)   (%)
P               20             0.0068       0.0052        0.50
PD              18.8           0.0054       0.0055        0.98
PI              20.6           0.0137       0.0075        2.50
PID             17.8            0.0091      0.0059        1.86
 P controller          PD controller     PI controller      PID controller
Computation   Performance loss   Computational gain
   Fixed computational cost would also fix
    update frequency (given the resources
    available)
   System can provide regular updates
    independent from the rate of the new
    samples
   Resources are used to their limits (e.g. EC2)
RECOMMENDATION
                        recommendation
    SERVER




         usage data


  RECOMMENDER
INPUT CONTROLLER       feedback
 TRAINING DATA
  PROCESSOR

RECOMMENDATION        request data
   ASSESSOR

   USAGE DATA
   PROCESSOR
   Certain aspects of the system are to be
    controlled
   Stability and predictability are important
   Use resources to their limits
   Optimise rather than stabilise over time
   Obtain system dynamics
   Describe objective to be achieved (finite or
    infinite horizon)
   Describe system dynamics
   Design a feedback loop
   Evaluate control system on real data
Thank you.

Mais conteúdo relacionado

Destaque

Multiple objectives in Collaborative Filtering (RecSys 2010)
Multiple objectives in Collaborative Filtering (RecSys 2010)Multiple objectives in Collaborative Filtering (RecSys 2010)
Multiple objectives in Collaborative Filtering (RecSys 2010)
Tamas Jambor
 
Goal driven collaborative filtering (ECIR 2010)
Goal driven collaborative filtering (ECIR 2010)Goal driven collaborative filtering (ECIR 2010)
Goal driven collaborative filtering (ECIR 2010)
Tamas Jambor
 
Cloud definitions and market opportunities
Cloud definitions and market opportunitiesCloud definitions and market opportunities
Cloud definitions and market opportunities
Vik Bhambri
 
Optimising digital content delivery
Optimising digital content deliveryOptimising digital content delivery
Optimising digital content delivery
Tamas Jambor
 

Destaque (7)

Multiple objectives in Collaborative Filtering (RecSys 2010)
Multiple objectives in Collaborative Filtering (RecSys 2010)Multiple objectives in Collaborative Filtering (RecSys 2010)
Multiple objectives in Collaborative Filtering (RecSys 2010)
 
Monet giverny
Monet givernyMonet giverny
Monet giverny
 
Goal driven collaborative filtering (ECIR 2010)
Goal driven collaborative filtering (ECIR 2010)Goal driven collaborative filtering (ECIR 2010)
Goal driven collaborative filtering (ECIR 2010)
 
Cloud definitions and market opportunities
Cloud definitions and market opportunitiesCloud definitions and market opportunities
Cloud definitions and market opportunities
 
Optimising digital content delivery
Optimising digital content deliveryOptimising digital content delivery
Optimising digital content delivery
 
10 Tips for WeChat
10 Tips for WeChat10 Tips for WeChat
10 Tips for WeChat
 
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
 

Semelhante a WWW 2012

Control tutorials for matlab and simulink introduction pid controller desig...
Control tutorials for matlab and simulink   introduction pid controller desig...Control tutorials for matlab and simulink   introduction pid controller desig...
Control tutorials for matlab and simulink introduction pid controller desig...
ssuser27c61e
 
Frequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdfFrequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdf
Sunil Manjani
 
Design of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospaceDesign of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospace
IAEME Publication
 

Semelhante a WWW 2012 (20)

1577320.ppt
1577320.ppt1577320.ppt
1577320.ppt
 
Projt1111
Projt1111Projt1111
Projt1111
 
Pid controller
Pid controllerPid controller
Pid controller
 
Vivek mishra197
Vivek mishra197Vivek mishra197
Vivek mishra197
 
lesson2.ppsx
lesson2.ppsxlesson2.ppsx
lesson2.ppsx
 
Time Response Analysis
Time Response AnalysisTime Response Analysis
Time Response Analysis
 
reliability workshop
reliability workshopreliability workshop
reliability workshop
 
Time response and analysis kaushal shah
Time response and analysis kaushal shahTime response and analysis kaushal shah
Time response and analysis kaushal shah
 
03 dynamic.system.
03 dynamic.system.03 dynamic.system.
03 dynamic.system.
 
LCE-UNIT 1 PPT.pdf
LCE-UNIT 1 PPT.pdfLCE-UNIT 1 PPT.pdf
LCE-UNIT 1 PPT.pdf
 
Pid En Un Pic16 F684
Pid En Un Pic16 F684Pid En Un Pic16 F684
Pid En Un Pic16 F684
 
Pid En Un Pic16 F684
Pid En Un Pic16 F684Pid En Un Pic16 F684
Pid En Un Pic16 F684
 
Control tutorials for matlab and simulink introduction pid controller desig...
Control tutorials for matlab and simulink   introduction pid controller desig...Control tutorials for matlab and simulink   introduction pid controller desig...
Control tutorials for matlab and simulink introduction pid controller desig...
 
Frequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdfFrequency Response with MATLAB Examples.pdf
Frequency Response with MATLAB Examples.pdf
 
time response analysis
time response analysistime response analysis
time response analysis
 
Basic introduction
Basic introductionBasic introduction
Basic introduction
 
Au26297302
Au26297302Au26297302
Au26297302
 
Design of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospaceDesign of a novel controller to increase the frequency response of an aerospace
Design of a novel controller to increase the frequency response of an aerospace
 
LeastSquaresParameterEstimation.ppt
LeastSquaresParameterEstimation.pptLeastSquaresParameterEstimation.ppt
LeastSquaresParameterEstimation.ppt
 
10 Discrete Time Controller Design.pptx
10 Discrete Time Controller Design.pptx10 Discrete Time Controller Design.pptx
10 Discrete Time Controller Design.pptx
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 

WWW 2012

  • 1. Tamas Jambor, Jun Wang, Neal Lathia (@jamborta,@seawan,@neal_lathia) University College London
  • 2. Recommender systems exists in time. Many aspects of the system can only be understood over time.
  • 3. Understanding and controlling dynamic aspects of the systems to gain control over certain objectives.
  • 4. Predictability over time  Allocating resources over time  Stable system over time
  • 5. Describe and estimate the system dynamics  Build and analyze a feedback loop controller  Test the dynamics with real data
  • 6. More data -> better performance  Frequent training -> Up-to-date recommendation
  • 8. Use all the data -> best performance  Use part of the data -> frequent and regular updates
  • 9. Relationship between the number of training samples (computation) and performance.
  • 10. How certain input now would change the future state of the system.
  • 11. r m F(t) k y(t) y = displacement F = force applied m = mass of the block r = damping constant k = spring constant
  • 12. Using Newton’s second law F (t ) = my ' ' (t ) ◦ Spring force: f1 = ky (t ) r ◦ Damping force: f 2 = ry ' (t ) m F(t)  This gives the equation k y(t) F (t ) = ky (t ) + ry ' (t )
  • 13. r F(t) k y(t) F (t ) = ky (t ) + ry ' (t ) y = performance F = number of training samples k = constant related to the new training samples r = constant related to the change in the new training samples
  • 14. Generate an input signal  Log-normal random walk to add noise  Maximum likelihood estimation
  • 15. Build a control loop based on system dynamics
  • 16. Controlled Recommender System Controller Manipulated Variable Control control (e.g., number of input Actuator new training samples) Function Dynamics error +- Monitor Performance variable Reference performance
  • 17. Reference Value Disturbance yr (t ) e(t ) = yr (t ) − y (t ) n(t ) + e(t ) u (t ) Performance ∑ Controller Dynamics Rec. Error Control y (t ) - Signal y (t ) Rec. Accuracy Measurement
  • 18.
  • 19. Rise time  Settling time  Overshoot
  • 20. Type Rise time Settling time Overshoot (%) (sec) (sec) P 5 10 0 PD 1 5 8.21 PI 0 10 36.8 PID 0 10 15.7 P controller PD controller PI controller PID controller
  • 21. How the controller can perform with unseen data.
  • 22. Simulate system for 30 days (once a day)  3 reference values (RMSE 0.95, 0.9, 0.86)  Measure ◦ Settling time ◦ Error (with respect to reference) – RMSE-SS ◦ Stability (with respect to reference) – SD-SS ◦ Overshoot
  • 23. Type Settling RMSE-SS SD-SS Overshoot time (error) (stability) (%) P (0.86) 23 0.0104 0.0034 0 PD (0.86) 20.8 0.0059 0.0037 0.18 PI (0.86) 18.6 0.0055 0.0047 0.49 PID (0.86) 18.6 0.0045 0.0045 0.72 PD controller
  • 24. Type Settling RMSE-SS SD-SS Overshoot time (error) (stability) (%) P 20 0.0068 0.0052 0.50 PD 18.8 0.0054 0.0055 0.98 PI 20.6 0.0137 0.0075 2.50 PID 17.8 0.0091 0.0059 1.86 P controller PD controller PI controller PID controller
  • 25. Computation Performance loss Computational gain
  • 26. Fixed computational cost would also fix update frequency (given the resources available)  System can provide regular updates independent from the rate of the new samples  Resources are used to their limits (e.g. EC2)
  • 27. RECOMMENDATION recommendation SERVER usage data RECOMMENDER INPUT CONTROLLER feedback TRAINING DATA PROCESSOR RECOMMENDATION request data ASSESSOR USAGE DATA PROCESSOR
  • 28. Certain aspects of the system are to be controlled  Stability and predictability are important  Use resources to their limits
  • 29. Optimise rather than stabilise over time  Obtain system dynamics  Describe objective to be achieved (finite or infinite horizon)
  • 30. Describe system dynamics  Design a feedback loop  Evaluate control system on real data

Notas do Editor

  1. Most of the time systems is viewed and evaluated in a static context Snapshot at time t How the system evolves Items are changing People are changing Change the outcome
  2. Understand the system dynamics Select important aspects of the system Gain control over certain objectives
  3. Understand and describe system -> predict over time Example: we know the system at time t, we know the change, we know what it will be at t+1 Organise resources accordingly Controlling the system brings stability
  4. Describe Select Build feedback Add controller Test
  5. Performance loss is calculated with respect to training four times a day. Red line twice a day – midnight and midday Blue line once a day – only at midnight
  6. Use all and train whenever you can Part of data would give more frequent and regular updates
  7. the relationship between the number of training samples and the overall performance Number of training samples related to performance Gain control performance
  8. Balance the mass to keep the distance from the wall constant Pull and release
  9. The  acceleration   a  of a body is  parallel  and directly proportional to the net  force   F  and inversely proportional to the  mass   m First order differential equation
  10. The analogy to recommender systems is that Y is the performance of the system K – new training samples R – change in new training samples
  11. Explain input and put through a recsys for 30 days Three scenarios, new data samples are increasing, deceasing and stable (showing the increasing one). Learn parameter R-squared, the coefficient of determination, to measure the accuracy of the prediction.
  12. General concept Dynamics
  13. Three components
  14. Rise time Settling time Overshoot – maximum percentage the system might go over the reference
  15. Based on analysis Picked to get the fastest rise time Rise time – PI, PID Overshoot – PI, PID not really good PD is the best
  16. Analysis and results are consistent Settling time – best PI and PID Overshoot – highest for PID and PI P is zero Overall PD has the best properties
  17. Reduce performance would reduce computation Red line – performance loss, computational gain Blue line – performance loss, computational gain once the required performance has reached, the computational cost becomes stable.
  18. EC2 pay per instance, use it all but keep regular updates
  19. How it works now - subscription and purchase is used Data that can be collected – PVR recording logs, subscription packages, purchase data, live TV watch, Facebook shares, content information Identify the usefulness of the signal per user basis Enhance recommendation by requesting additional information Reduce data and computation
  20. Certain aspects – need to fix aspects of the system Stability would bring predictability More optimal resource allocation
  21. First two steps are similar Example here – optimise performance over time Can be used for cold start problem Good quality recommendation from the beginning
  22. Sequence of design Dynamics – feedback loop (analytical) Put into production – evaluate on real data Plug-in different dynamics and different controllers