W przypadku problemów z optymalizacją dobrze jest zrozumieć prawdopodobieństwo dziennika. Na przykład, jeśli próbujesz zminimalizować sumę kwadratów, to to samo, co maksymalizacja dziennika prawdopodobieństwa, ponieważ (z grubsza mówiąc)
log( Product( exp( -(x[i]-mean)^2 )) )
=
- Sum( (x[i]-mean)^2 )
Innymi ulubionymi w dziedzinie strojenia wydajności są rozkłady dwumianowe i beta. Są bardzo proste do obliczenia.
Jeśli weźmiesz 10 losowych próbek stanu programu i jest on w pewnym stanie przez F = 40% czasu, to jest to jak eksperyment rzucania monetą z nieuczciwą monetą. Liczba wyświetleń w tym stanie to rozkład dwumianowy ze średnią 10 * 0,4 = 4 i standardowym odchyleniem sqrt (10 * 0,4 * 0,6) = sqrt (2,4) = 1,55.
Z drugiej strony, jeśli weźmiesz 10 próbek i zobaczysz je w tym stanie na 4 próbkach, co to mówi o tym, jak duże jest F? Możliwe wyniki to 0, 1, 2, 3, 4, ..., 9, 10. To 11 możliwości, a możliwość, którą widziałeś (4), to piąta. Weź więc 11 jednolitych (0,1) liczb losowych i posortuj je. Rozkład piątego to rozkład F, rozkład Beta. Jego tryb jest 4/10. Jego średnia wynosi 5/11. Jego wariancja wynosi 5 * 6 / (11 ^ 2 * 12) = 0,021, a odchylenie standardowe = 0,144.
Wiele osób uważa, że potrzebna jest duża liczba próbek, aby zlokalizować problemy z wydajnością oprogramowania i uniknąć znalezienia fałszywych. Te rozkłady pokazują, że niewielka liczba próbek może wiele powiedzieć o ich koszcie.