projektek

March 17, 2013

E-kereskedelem (néha) doing it wrong

a legtöbb e-kereskedelmi weboldalak kínál, hogy rendezze a keresési eredmények ügyfél értékelés… és elég sok csinálnak rosszul. Tegyük fel, hogy itt keresek egy könyvet a CSS-ről. Azt akarom, hogy a legjobb könyv pénzt lehet kapni, így én biztosan nyomja meg a rendezés értékelés gombra. A honlap kínál két lehetőség

  • book a: 1 értékelés 5. Átlagos értékelés 5.
  • b könyv: 50 értékelés. Átlagos értékelés 4.5

Gondolj bele, inkább volna könyv jön az első könyv Bcome első. Valószínűleg a B könyv igaz? Ez azt jelenti, hogy szükségünk van néhány dologra, nem csak az átlagos értékelés szerinti rendezésre.

az első egyszerű válasz, amely mindenképpen javulást jelent az átlagos besorolás szerinti rendezéshez képest, az lehet, hogy a K-nál kisebb besorolású terméket alulra helyezi. De akkor hogyan válasszuk ki a k-t? Mi van, ha egy rést keresünk, és minden termék kevesebb, mint k minősítéssel rendelkezik, kivéve egy, amely K+1 szörnyű minősítéssel rendelkezik. Fel kell mennie a tetejére ?

a második válasz, amelyre felmerülhet, az lenne, ha olyan empirikus pontozási képletet választanánk, amely úgy tűnik, hogy megfelel a korlátainknak.

a legtöbb képlet a bayesi becslésre támaszkodik. Általánosságban elmondható, hogy a Bayes-féle becslés valóban ragyog az ilyen helyzetekre: meg akarsz mérni valamit, de tudod, hogy nem lesz elég adatod a tökéletes becslés eléréséhez.

Ha m a minősítések átlaga, n pedig a minősítések száma, akkor valami ilyesmit gondolhatunk:

$$rating(m, n) = {mn \over {n+K}}$$

Ez valószínűleg jól fog működni. Valószínűleg … még mindig ki kell választania a megfelelő K-t anélkül, hogy tudná, milyen fizikai értékekre vonatkozik. Ennél is fontosabb, hogy meg kell győznie munkatársát arról, hogy ez a szép megoldás, amely tökéletesen lefedi az edge eseteket.

Bayes-féle becslési gyorstalpaló

a nagy ötlet az, hogy ahelyett, hogy megpróbálnánk közvetlenül kiszámítani a becslésünket, először kiszámítunk egy valószínűségi eloszlást, amely leírja a megbecsülni kívánt érték “mit tudunk”, majd (és csak akkor) kivonhatjuk ennek az értéknek a becslését, amely megfelel a célunknak.

az aggodalom szétválasztása az utolsó bitben valójában nagyon fontos. Attól függően, hogy a szempontból akkor úgy nagyon különböző érték becslései fizikai érték.

például, ha meg kell becsülnöm a szérumok számát, amelyeket a kormánynak meg kell vásárolnia ahhoz, hogy megbirkózzon egy járvánnyal, akkor olyan számot akarok adni, amelyre azt mondhatom : 90% – ban biztos vagyok benne, hogy ez elegendő lesz. Ez a szám néha nagyon messze lehet az elvárásoktól. Ha én valóban dolgozik, mint a számviteli a cég értékesítő ezeket a szérumokat, és azt akarom, hogy egy ötlet egy alsó határa a jövedelmem a következő hónapban, én valószínűleg egy teljesen más quantile.

egy egyszerű példa

tegyük fel, hogy felfedeztél egy toxoplazmózis nevű parazitát, és meg akarod becsülni a toxoplazmózis nevű parazita által fertőzött emberek arányát.

a parazita által fertőzött emberi betegek egyáltalán nem mutatnak tüneteket, szóval elég, amennyire tudod, hogy bármi lehet. Leírhatjuk az Ön elképzelését ennek az értéknek a valószínűségi eloszlásáról, hogy egyenletes eloszlás legyen. .

itt a valószínűségről beszélni kicsit furcsa lehet.Először is jogos-e a valószínűségről beszélni, amikor valami nagyon kézzelfogható, nem véletlenszerű értéket becsülünk? A bayesi valószínűség szempontjából egy változó véletlenszerű, ha nem tudja pontosan az értékét. Ez egy olyan információ, amely összefoglalja a tudásunkat valamiről.

De térjünk vissza a problémánkhoz. Ahogy teszteli az embereket a toxoplazmózis szempontjából, megfigyeléseket fog tenni.Minden személynek valószínűsége leszX toxoplazmózisra, és ezt a nagyon X-et szeretné megbecsülni.

egy egységes előzetes valószínűséggel kezdted, és minden megfigyelés hajlítja a látásodat az X-en, így egyre pontosabbá válik.Ezt az X frissített látását hátsó eloszlásának nevezzük.Hívjuk O (mint a megfigyelésnél) n tesztünk eredményeinek sorrendjét.

Bayes egy kis képletet ad a kiszámításához

 $$P(X | O) = { P( O | X) P(X) \over { P(O)} }$$

$P(O)$ annak a valószínűsége, hogy megfigyeljük, amit megfigyeltünk. X-szel állandó, ezért kevés az érdeklődés. Hasonlóképpen úgy döntöttünk, a korábbi valószínűsége $P(X)$, hogy egységes legyen, ezért nem változik X. mi csak érdekel az arányosság reláció :

 $$ P(X | O) \propto P( O | X) $$
$$P( O X)$$ a valószínűség. X (a keresett érték) megadja annak valószínűségét, hogy megfigyeljük azt, amit megfigyeltünk. Ez általában valami meglehetősen egyszerű számítás.

esetünkben a független megfigyelések sorozatának megfigyelésének valószínűségét

 $$ O = ({o_1}, ..., {o_N}) $$

az egyes megfigyelések valószínűségének szorzatával adjuk meg :

 $$ P(O | X) = P({o_1}| X) \times ... \times P({o_N} | X) $$

egyetlen megfigyelés esetén az Oi pozitív (illetve negatív) megfigyelésének valószínűsége definíció szerint x (illetve 1-x). Végül, ha megfigyeljük K pozitívés N-k negatív a hátsó valószínűség

 $$ P(X | O) \propto X^{K}(1-X)^{N-K} $$

ezt az eloszlást binomiális eloszlásnak is nevezik.

érdekes látni, hogyan alakul a hátsó valószínűség a megfigyelések számával. Az alábbi grafikon azt mutatja, hogy a hátsó rész egyre finomabbá válik a kapott megfigyelések számával.

most, hogy megvan a pontos valószínűség, fontolóra vehetjük bármilyen becslés kiszámítását ebből az eloszlásból. Vitathatatlanul a leggyakoribb kimenet a konfidencia intervallum kiszámítása lenne: egy intervallum, amelyre 90% – os megbízhatósággal állíthatjuk, hogy az értékünk valahol a és b között van.

manapság mindenkinek van számítógépe, és valószínűleg a legegyszerűbb módja annak, hogy ilyen konfidencia intervallumot állítsunk elő, valószínűleg az eloszlás kumulatív eloszlási függvényének kiszámítása.

sok statisztikus dolgozott azon is, hogy nagyon pontos konfidenciaintervallumokat találjon a binomiális eloszlásokra, amikor a normál közelítés nem áll fenn. Érdemes ellenőrizni ezt a wikipedia oldalt, ha a képletek egyikét szeretné használni.

vissza a csillagokhoz

menjünk vissza a csillagok értékeléséhez! Ebben a részben az egyszerűsítés érdekében 1, 2 vagy 3 csillagos tartományt veszünk figyelembe. Megpróbáljuk megbecsülni, figyelembe véve az emberek válaszát, azon emberek arányának hátsó eloszlását, akik 1,2 vagy 3 csillagot adnának , ha esélyünk lenne végtelen számú embert megkérdezni.

az általunk megfigyelt véletlen változó úgynevezett kategorikus eloszlást követ. Ez alapvetően egy változó, amely az értékeit a {1,2,3} néhány valószínűséggel P1, p2, p3 val vel

$$ {p_1} + {p_2} + {p_3} = 1 $$

ami megnehezíti, hogy nem egy skaláris érték eloszlását vizsgáljuk, hanem három skaláris érték együttes eloszlását (vagy inkább kettőt, figyelembe véve a lineáris kényszert).

ennek ellenére ugyanazt az érvelést alkalmazhatjuk, mint egyetlen valószínűség becslésével:

 $$ P({p_1}, {p_2}, {p_3} | O) \propto P( O | {p_1}, {p_2}, {p_3}) P({p_1}, {p_2}, {p_3}) $$

ezúttal azonban egy priort is belefoglalunk. A számítások egyszerűsítése érdekében mindig jó ötlet olyan priort választani, amelynek alakja megegyezik a valószínűséggel. Először számoljuk ki a valószínűséget.

csakúgy, mint az előző példa paraméter becslésünkben, felhasználhatjuk a megfigyelésünk függetlenségét.

 $$ P(O | {p_1}, {p_2}, {p_3}) = P({o_1}| {p_1}, {p_2}, {p_3}) \times \cdots \times P({o_N} | {p_1}, {p_2}, {p_3}) $$

és az egyes megfigyelések valószínűségét a kapcsolódó valószínűség adja

 $$\forall j \in \{1,2,3\}, ~~ \forall 1\leq i \leq N, ~~P( {o_i = j} | {p_1}, {p_2}, {p_3}) = {p_j} $$

ezért ha a kapott N értékelésen belül K1, K2, K3 értékelés volt, 1,2, illetve 3 csillaggal, akkor valószínűségünk van

 $$ P(O | {p_1}, {p_2}, {p_3}) = {p_1}^{K_1} {p_2}^{K_2} {p_3}^{K_3} $$

amelyet Dirichlet-eloszlásnak nevezünk

 $$ \alpha = \left( \begin{array}{c} {K_1} + 1 \\ {K_2} + 1 \\ {K_3} + 1 \end{array} \right) $$

paraméterrel, hogy a matematikát sokkal egyszerűbbé tegyük, Vegyünk egy ugyanolyan alakú priort és az alpha0 paramétert.

a hátsó, arányos a

 $$ P({p_1}, {p_2}, {p_3} | O) \propto { {p_1}^{K_1} } { {p_2}^{K_2} } { {p_3}^{K_3} } { {p_1}^{ {\alpha_1^0} - 1 } } { {p_2}^{ {\alpha_2^0} - 1 } } { {p_3}^{ {\alpha_3^0} - 1 } } $$

ami tudjuk faktorizálni a

 $$ P({p_1}, {p_2}, {p_3} | O) \propto { {p_1}^{ {K_1} + {\alpha_1^0} - 1 } } { {p_2}^{ {K_2} + {\alpha_2^0} - 1 } } { {p_3}^{ {K_3} + {\alpha_3^0} - 1 } }. $$

amelyben látunk egy dirichlet Eloszlás paraméterrel

 $$ {\alpha^1} = \left( \begin{array}{c} {K_1} + \alpha_1^0 \\ {K_2} + \alpha_2^0 \\ {K_3} + \alpha_3^0 \end{array} \right) $$

most, amit igazán akar egy a csillagok átlagos számának becslése. Vegyük fontolóra ennek az átlagnak a várható használatát, tekintettel a hátsó részünkre.

 $$ E( {p_1} + 2{p_2} + 3{p_3} | O ) = E( {p_1} | O ) + 2 E({p_2} | O ) + 3E({p_3} | O ) $$

az 1,2 vagy 3 csillagszám megszerzésének valószínűségét a dirichlet-Eloszlás adja meg

 $$ E(p_i | O) = { {\alpha_i^1} \over { {\alpha_1^1} + {\alpha_2^1} + {\alpha_3^1} } } $$

ezért a bayesi átlagunk van :

 $$ rating({K_1}, {K_2}, {K_3}) = \frac{ {K_1} + \alpha_1^0}{ N + A} + 2 \frac{ {K_2} + \alpha_2^0}{ N + A} + 3 \frac{ {K_3} + \alpha_3^0}{ N + A}, $$

ahol definiáljuk

 $$ N = {K_1} + {K_2} + {K_3}~~and~~A = {\alpha_1^0} + {\alpha_2^0} + {\alpha_3^0} $$

ezt átcsoportosíthatjuk

 $$ rating({K_1}, {K_2}, {K_3}) = \frac{ \left(\alpha_1^0 + 2 \alpha_2^0 + 3 \alpha_3^0 \right) + \left({K_1} + 2{K_2} + 3{K_3}\right) }{A + N} $$

voil ! Csak emésztjük meg ezt a képletet, hogy valami használható legyen a való életben. A csillagbesorolás bayesi átlaga abból áll, hogy kiválasztunk néhány paramétert C és m amelyben

  • m a csillagok átlagának prior-ját képviseli
  • C azt jelenti, hogy mennyire bízunk a priorban. Ez egyenértékű számos megfigyeléssel.

ezután a Bayes-átlag

 $$ rating({K_1}, {K_2}, {K_3}) = \frac{ C \times m + total~number~of~stars }{C + number~of~reviews } $$

Ha rendelkezik a vonatkozó adatokkal és végtelen idővel, beállíthatja ezt a két értéket egy Dirichlet-Eloszlás illesztésével az összes számítógépes könyv értékelésének adatkészletébe. Azonban nagyon gyakori, hogy csak válasszon egy pár paramétert, amely utánozza a keresett viselkedést. m az az érték, amelyre a termékek átlagos felülvizsgálatát nagyon kevés értékeléssel módosítjuk. Minél nagyobb a C, annál nagyobb a vélemények száma, amelyek szükségesek ahhoz, hogy”elmenjenek m-től”.

vessünk egy pillantást az első példánkra. Két lehetséges érték lehet például: m=3 és C=5.

a két könyv bayesi átlaga

 $$ {rating_{book~A}} = \frac{5 \times 3 + 5 \times 1}{ 5 + 1 } = 3.3 $$ $$ {rating_{book~B}} = \frac{5 \times 3 + 4.5 \times 50 }{ 5 + 50 } = 4.36 $$

a várakozásoknak megfelelően a 2.Könyv bayesi átlaga jobb, mint az 1. könyvé.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.