Kuo skiriasi Naives Bayes klasifikatorius (darant prielaidą, kad Gaussian pasiskirstymas ištisiniams kintamiesiems) nuo Gaussian Process klasifikatoriaus?


Atsakymas 1:

Jie turi tai, kad pritaikę, jie pateikia numatomą pasiskirstymą.

Naives Bayes klasifikatorių numatomasis paskirstymas yra toks:

y^=argmaxkp(ck)Πp(xick) \hat{y} = argmax_{k} p(c_k) \Pi p(x_i | c_k)

Tai išplaukia iš „Bayes“ taisyklės ir prielaidos, kad savybės yra nepriklausomos. „Priors“ galima lengvai nustatyti suskaičiavus kiekvienos klasės duomenų dalį, o p (x_i | c_k) paprastai modeliuojamas kaip paprastas pavyzdys, pavyzdžiui, gaussiškas pasiskirstymas, turintis kiekvienos klasės kiekvienos savybės vidurkį ir dispersiją. Apskaičiavimo požiūriu, pritaikant šį modelį reikalingas tik vienas duomenų perdavimas, kai jūs tiesiog skaičiuojate dalykus. Apskaičiavimo požiūriu, numatant šį modelį, reikia įvertinti Gauso funkciją keletą kartų, tai yra jūsų funkcijų skaičių, padaugintą iš klasių skaičiaus, o po to keletą kartų ir argmax. Tai labai paprasta. Toks paprastas, kad gali būti nepakankamas duomenų rinkinių su koreliuojamomis savybėmis, skirtingais ypatybių importavimo pavyzdžiais modelis (atkreipkite dėmesį į tai, kad nėra hiperparametrų, skirtų bruožams įvertinti) ir pan.

Numatomasis paskirstymas Gauso proceso dvejetainiams klasifikatoriams (kaip Bishop aptarė PRML):

p(tN+1=1tN)=p(tN+1=1aN+1)p(aN+1tN)daN+1p( t_{N+1} = 1 | \mathbb{t}_N) = \int p(t_{N+1} = 1 | a_{N+1}) p(a{N+1} | \mathbb{t}_N) da_{N+1}

kur

p(tN+1=1aN+1)=σ(aN+1)p(t_{N+1} = 1 | a_{N+1}) = \sigma(a_{N+1})

ir

p(aN+1)=N(0,CN+1)p(\mathbb{a}_{N+1}) = \mathcal{N}(0,C_{N+1})

ir

CN+1=k(xn,xm)+νδn,mC_{N+1} = k(x_n,x_m) + \nu \delta_{n,m}

Norėdami atsakyti į kai kuriuos klausimus, kurie gali kilti perskaičius šias lygtis ...

Kas tai yra k? Atsakymas į šį klausimą apima didžiąją dalį atsakymo į jūsų klausimą. k yra jūsų pasirinkta branduolio funkcija. Taigi jūsų modelyje dabar dirbama su kiekviena duomenų rinkinio pavyzdžių pora, todėl mastelio keitimas į didesnius duomenų rinkinius yra sudėtingesnis nei „Naive Bayes“, kur jūs paprasčiausiai nuskaitysite savo duomenis, suskaičiavę jums reikalingą statistiką. Branduolio funkcijos taip pat gali turėti hiperparametrus, kuriuos galite protingai pasirinkti arba optimizuoti (galbūt maksimaliai padidinkite pateiktų duomenų „Theta“ prisijungimo tikimybę). Taigi kodėl nerimauti atliekant visą šį darbą? Branduoliai gali pateikti gana turtingą „panašumo į duomenis, kuriuos mačiau anksčiau“ idėją. Tai visiškai nesiskiria nuo „Naive Bayes“, kur jūs atmetate mintį, kad funkcijos gali būti susijusios viena su kita, ir kai konkretus duomenų taškas gali paveikti paskirstymą vien tik paveikdamas savo klasės vidurkį ir dispersiją (ar kitą parametrus, jei nenaudojate Gauso modelio). Branduoliai yra platesnė tema, apie kurią galite perskaityti, kad gautumėte daugiau informacijos apie tai, ką jie veikia Gauso procesuose.

Kas yra

aN+1\mathbb{a}_{N+1}

? Tai yra funkcijos vektorius

aa

pritaikytas mūsų treniruočių duomenų vektoriui su duomenų tašku numatyti pabaigoje. Tai yra funkcija, kurios mes nepatiksliname, o mes įvedame joje gausų procesą. Tai priešingai nei nepadori

aN+1a_{N+1}

kuris žymi taikymą mūsų prognozuojamam mėginiui.

Kodėl

p(aN+1)p(\mathbb{a}_{N+1})

laikoma nuliniu vidurkiu? Tai yra formuluotės dalis, ir aš tikrai nesu tikras, kodėl. Aš labiau susipažinęs su Gauso procesų naudojimu regresijai, o ne klasifikavimui (tai yra natūralesnė idėja IMHO), ir tokiu būdu jūs galite atimti vidurkį iš savo tikslų, kad jis būtų nulinis.

Kas tai

δ\delta

? Diracinės deltos funkcija, todėl pagalvokite apie šį terminą kaip mastelio tapatumo matricą.

Ar tai neatsiejama atsekamumas? Ne iš tikrųjų, ir yra daug apytikslių duomenų, kuriuos galima naudoti. „Scikit-Learn“ diegimas sako, kad tam tikslui naudojamas „Laplaso artėjimas“.

Tai yra dvejetainis klasifikatorius, o jei aš noriu turėti k klases? Taip, tada jūs naudosite kažką panašaus į „vienas priešais poilsį“ sistemą, kaip tai daroma diegiant „scikit-mokykis“.