Ob odsotnosti razsvetljenega diktatorja je pač veliko bolje, da o problemu vprašamo nekaj ekspertov, potem pa njihova mnenja agregiramo v končno. Podoben pristop lahko uporabimo tudi v strojnem učenju. Iz učnih podatkov se naučimo niza napovednih modelov in njegove napovedi na testni množici agregiramo s povprečenjem. Želeli bi si, da so ti modeli med sabo različni, torej, da pogledajo na podatke iz različnih zornih kotov. To dosežemo ali z vzorčenjem učne množice za vsak model posebej (metoda imenovana bagging), s ponaključenjem algoritmov strojnega učenja, ali s kombinacijo teh dveh pristopov (na primer pri naključnih drevesih). Na predavanjih pokažemo, da so regresijska drevesa precej občutljiva na celo manjše spremembe v učni množici, da pa za metode, kot je linearna regresija, to ne velja, saj manjše spremembe v podatkih le malo vplivajo na naučene vrednosti parametrov modela. Podobno stabilna kot linearna regresija je na primer tehnika k-najbližjih sosedov. A se tudi te, stabilne metode, da "ponaključiti" in sicer tako, da raznolikost modelov dosežemo z vsakokratnim naključnim izborom podmnožice atributov.
Ostane nam le še, da razmislimo, ali je agregacija s povprečenjem napovedi posameznih modelov res najboljši pristop. Morda pa bi se lahko iz zbirke napovedi modelov in dejanskih vrednosti razreda lahko naučili, kako kombinirati napovedi modelov. To počne stacking. Podatke za učenje modela, ki kombinira napovedi, pridobimo s prečnim preverjanjem in se naučimo modela za kombiniranje napovedi iz napovedi na testnih primerih in pravih vrednosti razreda. S to funkcijo kombiniramo napovedi modela, ki se jih naučimo na celotni učni množici.
|
Osnovna literatura
Literatura
Koda s predavanj
|