- From: Garret Rieger <grieger@google.com>
- Date: Wed, 7 Oct 2020 17:11:48 -0700
- To: Chris Lilley <chris@w3.org>
- Cc: "w3c-webfonts-wg (public-webfonts-wg@w3.org)" <public-webfonts-wg@w3.org>
- Message-ID: <CAM=OCWZTF5rRnVT2P2mpD9a1U22rH2HEJf3c2AUx5oL6WztDzg@mail.gmail.com>
Added updated cost function graph to the repo: https://github.com/w3c/PFE-analysis/blob/master/results/07-08-2020/cost.png On Wed, Oct 7, 2020 at 10:58 AM Garret Rieger <grieger@google.com> wrote: > The maximum value used in the simulation was 1000. I'll generate a new > version of the graph which has 1000 as the maximum. > > On Wed, Oct 7, 2020 at 8:02 AM Chris Lilley <chris@w3.org> wrote: > >> Thanks! That makes it much clearer for me. >> >> The graph at >> https://docs.google.com/document/d/1kx62tpy5hGIbHh6tHMAryon9Sgye--W_IsHTeCMlmEo/edit# >> >> has M= 100 but the Python has M = 1000. Which is correct, for the final >> version of the cost function? >> >> Also, I have a screenshot of the sigmoid graph for now but would love to >> see the graph as a separate graphic, if that is convenient? >> On 2020-10-07 02:30, Garret Rieger wrote: >> >> Here's how the cost function as presented here >> <https://docs.google.com/document/d/1kx62tpy5hGIbHh6tHMAryon9Sgye--W_IsHTeCMlmEo/edit#heading=h.4fz1x8661i63> was >> derived: >> >> >> - Start with the logistic function (a sigmoid): M/ ( 1 + e^(-k(x - >> x_0))) >> - M is the maximum height of the function. >> - k scales the width of the function >> - and x_0 shifts the function left/right. >> >> We want a function that starts rising at x = T_z and hits it's maximum at >> T_m: >> >> - Width of the period it rises over is W = T_m - T_z >> - Scale k = K / W. Where K is a hand selected constant which controls >> the width. By dividing by W we normalize the scale against the width. A >> value of K = 11.5 was found to give a near maximum and minimum value at T_z >> and T_m. >> - x_0 = W/2 + T_z = T_m/2 - T_z/2 + T_z = T_m/2 + T_z/2 >> - This moves the function W/2 units to the right (the logistic >> function starts centered on x = 0) >> - And then an additional T_z to the right to add the initial >> period of zero cost. >> >> If you plug that all into M / (1 + e^(-k(x - x_0))) you get: >> >> M / ( 1 + e^(-11.5/(T_m-T_z) * ( x - T_m/2 - T_z/2))) >> >> There's a similar explanation in the actual implementation in code: >> https://github.com/w3c/PFE-analysis/blob/master/analysis/cost.py >> >> -- >> Chris Lilley >> @svgeesus >> Technical Director @ W3C >> W3C Strategy Team, Core Web Design >> W3C Architecture & Technology Team, Core Web & Media >> >>
Received on Thursday, 8 October 2020 00:12:19 UTC