HyperOpt Demystified

A modellhangolás automatizálása a HyperOpt segítségével

Szereted a tuning modelleket? Ha a válaszod "igen", akkor ez a bejegyzés az nem neked.

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
Egy rajzfilm a nagyapámtól – .

Ebben a blogban a rendkívül népszerű automatizált hiperparaméter-hangoló algoritmussal, az úgynevezett Fa alapú Parzen becslések (TPE). A TPE-t a nyílt forráskódú HyperOpt csomag támogatja. A HyperOpt és a TPE kihasználásával a gépi tanulási mérnökök megtehetik gyorsan fejleszthet rendkívül optimalizált modelleket manuális hangolás nélkül.

Minden további nélkül merüljünk el!

A HyperOpt egy nyílt forráskódú python csomag, amely a Tree-based Parzen Esimtors (TPE) nevű algoritmust használja a modell hiperparamétereinek kiválasztására, amelyek optimalizálják a felhasználó által definiált célfüggvényeket. Az egyes hiperparaméterek funkcionális formájának és határainak egyszerű meghatározásával a TPE alaposan, de mégis hatékonyan keresi át a komplex hiperteret, hogy elérje az optimumot.

A TPE egy szekvenciális algoritmus, amely a Bayes-féle frissítést használja, és követi az alábbi sorrendet.

  1. Tanítson egy modellt több véletlenszerűen kiválasztott hiperparaméter-készlettel, amelyek célfüggvényértékeket adnak vissza.
  2. Osszuk fel a megfigyelt célfüggvény értékeit „jó” és „rossz” csoportokra valamilyen gamma-küszöb (γ) szerint.
  3. Számítsa ki az „ígéretesség” pontszámot, ami csak P(x|jó) / P(x|rossz).
  4. Határozza meg azokat a hiperparamétereket, amelyek maximalizálják az ígéretességet keverékmodelleken keresztül.
  5. Illessze a modellünket a 4. lépés hiperparaméterei segítségével.
  6. Ismételje meg a 2–5. lépéseket a leállítási feltételig.

Itt egy gyors kód példa.

Oké, ez sok nagy szó volt. Lassítsunk, és értsük meg igazán, mi történik.

1.1 – Célunk

Az adattudósok elfoglaltak. Szeretnénk igazán jó modelleket gyártani, de ezt hatékonyan és ideális esetben szabad kezek nélkül tegyük.

Az ML modellezési életciklus bizonyos lépéseit azonban nagyon nehéz automatizálni. A feltáró adatelemzés (EDA) és a funkciótervezés például általában tárgyspecifikus, és emberi intuíciót igényel. A modellhangolás viszont egy iteratív folyamat, amelyben a számítógépek kiválóak lehetnek.

Célunk ebben a bejegyzésben az, hogy megértsük, hogyan használhatunk algoritmusokat a modellhangolási folyamat automatizálására.

Hogy segítsen elgondolkodni ezen a célon, használjunk egy hasonlatot: kalózok vagyunk, akik elásott kincset keresnek. Azt is fontos megjegyezni, hogy nagyon hatékony kalózok vagyunk, akik igyekeznek minimalizálni az eltemetett kincs felkutatására fordított időt. Tehát hogyan csökkentsük minimálisra a kereséssel töltött időt? A válasz használj térképet!

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
Ábra 1: példa 3D hiperparaméteres keresési tér. A kincsesláda elhelyezkedése globális optimum. Kép szerzőtől.

Az 1. ábrán van egy fiktív térképünk, amely megmutatja, hol található a kincsünk. Sok mászás és ásás után nem lenne túl nehéz elérni ezt a kincset, mert pontosan tudjuk, hol található.

De mi történik, ha nincs térképünk?

Amikor egy modell hangolásával bízunk meg, sajnos nem kapunk térképet. A hiperparméteres keresőtérnek megfelelő domborzatunk ismeretlen. Továbbá az optimális hiperparaméterkészletnek megfelelő kincsünk helye sem ismert.

Ezzel a beállítással beszéljünk néhány lehetséges módszerről a tér hatékony felfedezésére és kincs megtalálására!

1.2 – Lehetséges megoldások

A modellhangolás eredeti módszere „kézi” – a mérnök valójában manuálisan tesztel számos különféle konfigurációt, és megnézi, melyik hiperparaméter-kombináció hozza létre a legjobb modellt. Bár informatív, ez a folyamat nem hatékony. Biztos van jobb módszer…

1.2.1 – Rácskeresés (legrosszabb)

Első optimalizálási algoritmusunk a rácskeresés. A rácskeresés iteratív módon teszteli a hiperparaméterek összes lehetséges kombinációját a felhasználó által megadott rácson belül.

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
2. ábra: példa a rács keresési elrendezésére. Kép szerzőtől

Például a 2. ábrán, ahol piros pontot lát, ott áttanuljuk és kiértékeljük a modellünket. Ez a keret nem hatékony, mert rossz hiperparamétereket használ újra. Például, ha a 2. hiperparaméternek csekély hatása van a célfüggvényünkre, akkor is teszteljük az értékeinek összes kombinációját, ezáltal 10-szeresére növeljük az iterációk szükséges számát (ebben a példában).

De mielőtt továbblépnénk, fontos megjegyezni, hogy a rácskeresés még mindig meglehetősen népszerű, mert garantáltan megtalálja az optimumot egy helyesen megadott rács mellett. Ha a módszer alkalmazása mellett dönt, ügyeljen arra, hogy a rácsot úgy alakítsa át, hogy tükrözze a hiperparaméterek funkcionális formáját. Például a max_depth értéke a véletlenszerű erdőosztályozó egy egész szám – ne hagyja, hogy folytonos térben keressen. Az sem valószínű, hogy egyenletes eloszlású – ha ismeri a hiperparaméter funkcionális formáját, alakítsa át a rácsot, hogy tükrözze azt.

Összefoglalva, A rácskeresés a dimenzionalitás átkának van kitéve, és a kiértékelések között újraszámítja az információkat, de még mindig széles körben használják.

1.2.2 – Véletlenszerű keresés (jó)

A második algoritmusunk a véletlenszerű keresés. A véletlenszerű keresés véletlenszerű értékeket próbál ki a felhasználó által megadott rácson belül. A rácsos kereséssel ellentétben nem vagyunk rászorulva a hiperparaméterek minden lehetséges kombinációjának tesztelésére, ami növeli a hatékonyságot.

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
3. ábra: példa a véletlenszerű keresésre. Kép szerzőtől.

Íme egy klassz tény: a véletlenszerű keresés (átlagosan) a legmagasabb 5%-os hiperparaméter konfigurációt találja belül 60 XNUMX iteráció. Ennek ellenére a rácskereséshez hasonlóan átalakítania kell a keresési teret, hogy tükrözze az egyes hiperparaméterek funkcionális formáját.

A véletlenszerű keresés jó kiindulópont a hiperparaméter-optimalizáláshoz.

1.2.3 – Bayesi optimalizálás (jobb)

A harmadik jelöltünk az első szekvenciális modell alapú optimalizálási (SMBO) algoritmusunk. A legfontosabb fogalmi különbség a korábbi technikáktól a mi iteratív módon használja a korábbi futtatásokat a jövőbeli feltárási pontok meghatározásához.

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
4. ábra: bayesi optimalizálási példa — src. Kép szerzőtől.

A Bayes-féle hiperparaméter-optimalizálás célja a hiperparaméteres keresési tér valószínűségi eloszlása. Innentől kezdve egy beszerzési függvényt használ, például a várható várható javulást, hogy hiperterünket „kereshetőbbé” alakítsa. Végül egy optimalizálási algoritmust, például sztochasztikus gradiens süllyedést használ, hogy megtalálja azokat a hiperparamétereket, amelyek maximalizálják az adatgyűjtési függvényünket. Ezeket a hiperparamétereket alkalmazzuk a modellünkhöz, és a folyamatot a konvergenciaig ismételjük.

A Bayes-féle optimalizálás általában felülmúlja a véletlenszerű keresést, azonban van néhány alapvető korlátja, például numerikus hiperparaméterek megkövetelése.

1.2.4 – Faalapú parzen becslések (legjobb)

Végül beszéljünk a műsor sztárjáról: a faalapú Parzen Estimators-ról (TPE). A TPE egy másik SMBO-algoritmus, amely jellemzően felülmúlja az alapvető bayes-i optimalizálást, de a fő értékesítési pont az, hogy egy fastruktúrán keresztül kezeli az összetett hiperparaméter-kapcsolatokat.

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
5. ábra: példa a TPE hierarchikus felépítésére — src. Kép szerzőtől.

Ennek megértéséhez használjuk az 5. ábrát fa szerkezet. Itt egy Support Vector Machine (SVM) osztályozót tanítunk. Két kernelt fogunk tesztelni: linear és a RBF. A linear a kernel nem szélesség paramétert vesz fel, hanem RBF így egy beágyazott szótár használatával kódolhatjuk ezt a struktúrát, és ezáltal korlátozhatjuk a keresési teret.

A TPE olyan kategorikus változókat is támogat, amelyeket a hagyományos Bayes-optimalizálás nem.

Gyors felelősségkizárás a továbblépés előtt, vannak sok más hiperparaméter-hangoló csomag. Mindegyik számos algoritmust támogat, amelyek közül néhány véletlenszerű erdőt, Gauss-folyamatokat és genetikai algoritmusokat tartalmaz. A TPE egy nagyon népszerű és általános célú algoritmus, de nem feltétlenül a legjobb.

Általában véve a TPE egy igazán robusztus és hatékony hiperparaméter-optimalizáló megoldás.

Most, hogy általános ismereteink vannak néhány népszerű hiperparaméter-optimalizáló algoritmusról, vessünk egy pillantást a TPE működésére.

Visszatérve a hasonlatunkhoz, kalózok vagyunk, akik elásott kincset keresnek de nincs térképed. Kapitányunknak mihamarabb szüksége van a kincsre, ezért olyan stratégiai helyeken kell ásnunk, ahol nagy a valószínűsége annak, hogy birtokunkban van kincs, előzetes ásások segítségével meghatározva a jövőbeni ásatások helyét.

2.1 – Inicializálás

Kezdésként mi határozzuk meg a terünk korlátait. Ahogy fentebb megjegyeztük, hiperparamétereinknek gyakran van funkcionális formája, max/min értékei és hierarchikus kapcsolatuk más hiperparaméterekkel. ML algoritmusainkkal és adatainkkal kapcsolatos ismereteink felhasználásával meghatározhatjuk keresési terünket.

Következő, muszáj határozzuk meg célfüggvényünket, amely annak értékelésére szolgál, hogy mennyire „jó” a hiperparaméter-kombinációnk. Néhány példa közé tartoznak a klasszikus ML veszteségfüggvények, például az RMSE vagy az AUC.

Nagy! Most, hogy korlátozott keresési területünk van, és módunk van a siker mérésére, készen állunk a keresés megkezdésére…

2.2 – Iteratív Bayes-optimalizálás

A Bayes-optimalizálás egy szekvenciális algoritmus, amely egy célfüggvény szerint nagy valószínűséggel „sikeres” pontokat talál a hipertérben. A TPE kihasználja a bayesi optimalizálást, de bevet néhány okos trükköt a teljesítmény javítására és a keresési tér bonyolultságának kezelésére…

2.2.0 – Az elvi beállítás

Az első trükk a modellezés P(x|y) helyett P(y|x)…

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
6. ábra: feltételes valószínűség, hogy a TPE megoldja. Kép szerzőtől.

A Bayes-féle optimalizálás általában modellezésre néz P(y|x), amely egy célfüggvény értékének valószínűsége (y), adott hiperparaméterek (x). A TPE ennek az ellenkezőjét teszi – modellezésnek tűnik P(x|y), ami a hiperparaméterek valószínűsége (x), adott a célfüggvény értékének (y).

Röviden, a TPE megpróbálja megtalálni a legjobb célfüggvény értékeket, majd meghatározza a kapcsolódó hiperparamétereket.

Ezzel a nagyon fontos beállítással lépjünk be a tényleges algoritmusba.

2.2.1 – Adataink felosztása „Jó” és „Rossz” csoportokra

Ne feledje, a célunk az, hogy valamilyen célfüggvény szerint megtaláljuk a legjobb hiperparaméter értékeket. Szóval, hogyan tudjuk kihasználni P(x|y) hogy ezt megtegyem?

Először is, a TPE a megfigyelt adatpontjainkat két csoportra osztja: , jelölve g(x), és a rossz, jelölve l(x). A jó és rossz közötti határt egy felhasználó által definiált gamma (γ) paraméter határozza meg, amely megfelel a megfigyeléseinket felosztó célfüggvény percentilisnek (y*).

Tehát γ = 0.5 esetén a célfüggvényünk értéke, amely felosztja megfigyeléseinket (y*) lesz a megfigyelt pontok mediánja.

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
7. ábra: p(x|y) két halmazra bontása. Kép szerzőtől.

A 7. ábrán látható módon formalizálhatjuk p(x|y) a fenti keret segítségével. És, hogy a kalóz-hasonlatot vessük…

Kalóz perspektíva: a már felfedezett helyeket tekintve az l(x) olyan helyeket sorol fel, ahol nagyon kevés kincs, a g(x) pedig a sok kincset tartalmazó helyeket.

2.2.32 – Számítsa ki az „Ígéretes” pontszámot

Másodszor, a TPE meghatározza, hogyan kell kiértékelnünk egy nem megfigyelt hiperparaméter-kombinációt a „ígéretesség” pontszám.

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
8. ábra: Az ígéretességi pontszám meghatározása. Kép szerzőtől.

A 8. ábra határozza meg ígéretességi pontszámunkat (P), ami csak egy arány a következő összetevőkkel…

  • számlálóban: a hiperparaméterek halmazának megfigyelésének valószínűsége (x), mivel a megfelelő célfüggvény értéke ". "
  • Névadó: a hiperparaméterek halmazának megfigyelésének valószínűsége (x), mivel a megfelelő célfüggvény értéke "rossz. "

Minél nagyobb az „ígéretesség” értéke, annál valószínűbb, hogy a hiperparamétereink x „jó” célfüggvényt fog előállítani.

Kalóz perspektíva: az ígéretesség megmutatja, hogy a terepünk adott helyén mekkora valószínűséggel lesz sok kincs.

Mielőtt továbblépnénk, ha ismeri a Bayes-optimalizálást, ez az egyenlet akvizíciós függvényként működik, és arányos a Várható javulás (EI).

2.2.3 – Valószínűségi sűrűségbecslés létrehozása

Harmadszor, a TPE az „ígéretességi” pontszámot a következőn keresztül értékeli keverék modellek. A keverékmodellek lényege, hogy több valószínűségi eloszlást vesznek fel, és egy lineáris kombinációval összeállítják őket – src. Ezeket a kombinált valószínűségi eloszlásokat használják fel a valószínűségi sűrűségbecslések kidolgozására.

Általában a keverékmodellezési folyamat…

  1. Határozza meg pontjaink eloszlási típusát! Esetünkben, ha a változónk kategorikus, akkor újrasúlyozott kategorikus eloszlást használunk, ha pedig numerikus, akkor gauss (azaz normál) vagy egyenletes eloszlást használunk.
  2. Ismételje meg az egyes pontokat, és szúrjon be egy eloszlást arra a pontra.
  3. Adja össze az összes eloszlás tömegét, és kapja meg a valószínűségi sűrűségbecslést.

Vegye figyelembe, hogy ez a folyamat mindkét készletre külön-külön fut l(x) és a g(x).

Lássunk egy példát a 9. ábrán…

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
9. ábra: Példa csonka Gauss-eloszlásokra, amelyek 3 hiperparaméteres megfigyeléshez illeszkednek. Kép szerzőtől.

Minden egyes megfigyeléshez (kék pontok az x tengelyen) létrehozunk egy ~N(μ, σ) normál eloszlást, ahol…

  • μ (mu) normális eloszlásunk átlaga. Értéke pontunk elhelyezkedése az x tengely mentén.
  • σ (szigma) a normál eloszlásunk szórása. Értéke a legközelebbi szomszédos pont távolsága.

Ha a pontok közel vannak egymáshoz, a szórás kicsi lesz, és ezáltal az eloszlás nagyon magas lesz, és fordítva, ha a pontok szét vannak osztva, akkor az eloszlás lapos lesz (10. ábra).

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
10. ábra: példa a szórás normál eloszlás alakjára gyakorolt ​​hatására. Kép szerzőtől.

Kalózok perspektívája: NA – a kalózok nem jók a vegyes modellekkel.

Még egy gyors kihagyás, mielőtt továbblépne: ha olvassa a szakirodalmat, észre fogja venni, hogy a TPE „csonka” gaussokat használ, ami egyszerűen azt jelenti, hogy a Gaussokat a hiperparaméter-konfigurációban megadott tartomány határolja ahelyett, hogy a +/- végtelenig terjednénk. .

2.2.4 – A következő felfedezendő pont meghatározása!

Fogjuk össze ezeket a darabokat. Eddig 1) szereztünk célfüggvény-megfigyeléseket, 2) definiáltuk az „ígéretesség” képletünket, és 3) készítettünk egy valószínűségi sűrűségbecslést keverékmodellek segítségével, előzetes értékek alapján. Egy adott pont értékeléséhez minden darabunk megvan!

Első lépésünk egy átlagos valószínűségi sűrűségfüggvény (PDF) létrehozása mindkettőre g(x) és a l(x).

Hiperparaméter hiperparaméter hangolási modell hangolás gépi tanulási adattudomány sklearn modell mllib spark hiperopt fa parzen estimator tpe fa alapú parzen esimtator mlflow databricks
11. ábra: Az átlagos valószínűségi sűrűség átfedése 3 megfigyelt pont alapján. Kép szerzőtől.

Példafolyamat látható a 11. ábrán – a piros vonal az átlagos PDF-ünk, és egyszerűen az összes PDF összege osztva a PDF-ek számával.

Az átlagos PDF segítségével megkaphatjuk bármely hiperparaméter érték valószínűségét (x) lenni valamiben g(x) or l(x).

Tegyük fel például, hogy a 11. ábrán megfigyelt értékek a „jó” halmazhoz tartoznak, g(x). Átlagos PDF-ünk alapján nem valószínű, hogy a hiperparaméter 3.9 vagy 0.05 értéke a „jó” halmazhoz tartozik. Ezzel szemben a ~1.2-es hiperparaméter-érték nagy valószínűséggel a „jó” halmazhoz tartozik.

Ez most csak a kép egyik fele. Ugyanezt a módszertant alkalmazzuk a „rossz” halmazra is, l(x). Mivel a maximalizálásra törekszünk g(x) / l(x), az ígéretes pontokat hol kell elhelyezni g(x) magas és l(x) alacsony.

Nagyon hűvös, igaz?

Ezekkel a valószínűségi eloszlással mintát vehetünk fastruktúrájú hiperparamétereinkből, és megtalálhatjuk azokat a hiperparamétereket, amelyek maximalizálják az „ígéretességet”, és így érdemes megvizsgálni őket.

Kalóz perspektíva: a következő hely, amelyet ásunk, az a hely, amely maximalizálja a (sok kincsünk valószínűségét) / (kevés kincsünk valószínűségét).

Most, hogy tudja, hogyan működik, íme néhány gyakorlati tipp a TPE megvalósításához a nyílt forráskódú HyperOpt csomagon keresztül.

3.1 – A HyperOpt alkalmazás felépítése

Általában három fő lépés van a HyperOpt kihasználásakor…

  1. Határozza meg a keresési teret, amely csak az optimalizálni kívánt hiperparaméterek tartományai és funkcionális formái.
  2. Határozza meg az illesztési funkciót, amely a te model.fit() funkció egy adott vonaton/tesztfelosztáson.
  3. Határozza meg a célfüggvényt, amely a klasszikus pontossági mérőszámok bármelyike, mint például az RMSE vagy az AUC.

Sajnos ezek az automatizált hangolási módszerek továbbra is tervezési hozzájárulást igényelnek az adattudóstól – ez nem teljesen ingyenes ebéd. Azonban anekdotikusan a TPE meglehetősen robusztus a hiperparaméterek hibás specifikációival szemben (ésszerű határokon belül).

3.2 – Tippek és trükkök

  • A HyperOpt mindkettőn keresztül párhuzamosítható Apache Spark és a MongoDB. Ha több maggal dolgozik, akár a felhőben, akár a helyi gépen, ez drámaian csökkentheti a futási időt.
  • Ha párhuzamosítja a hangolási folyamatot az Apache Spark segítségével, használja a SparkTrialsobjektum egy csomópontos ML modellekhez (sklearn) és a Trails objektum párhuzamosított ML modellekhez (MLlib). A kód lent található.
  • MLflow egy nyílt forráskódú módszer a modellfutások nyomon követésére. Könnyen integrálható a HyperOpt-tal.
  • Ne szűkítse túl korán a keresési teret. A hiperparaméterek egyes kombinációi meglepően hatékonyak lehetnek.
  • A keresési terület meghatározása bonyolult lehet, különösen, ha nem ismeri a keresési területet hiperparamétereinek funkcionális formája. A személyes tapasztalatok alapján azonban a TPE meglehetősen robusztus a funkcionális formák helytelen meghatározására.
  • Egy jó célfüggvény kiválasztása sokat jelent. A legtöbb esetben a hiba nem egyenlő. Ha egy bizonyos típusú hiba problémásabb, akkor ezt a logikát feltétlenül építse be a függvényébe.

3.3 – Kódpélda

Íme néhány kód a HyperOpt elosztott módon történő futtatásához. A könyvben található kódból lett adaptálva, Gépi tanulási mérnöki tevékenység működés közben - itt a git repo.

Ennek a kódrészletnek néhány szép funkciója a párhuzamosítás: keresztül Apache Spark és modellnaplózás keresztül MLflow. Vegye figyelembe azt is, hogy ez a részlet optimalizálja a sklearn RandomForestRegressort – meg kell változtatnia a modellt és az illesztési funkciót, hogy megfeleljen az Ön igényeinek.

És itt van – a HyperOpt teljes dicsőségében!

A legfontosabb pontok reményének kalapálásához röviden összegezzük.

A hiperparaméterek hangolása az ML modell életciklusának szükséges része, de időigényes. A szekvenciális modellalapú optimalizálási (SMBO) algoritmusok kiválóan alkalmasak komplex hiperterek optimális keresésére, és alkalmazhatók hiperparaméter-hangolásra. A faalapú Parzen Estimators (TPE) egy nagyon hatékony SMBO, és felülmúlja mind a Bayes-i optimalizálást, mind a véletlenszerű keresést.

A TPE megismétli az alábbi lépéseket, amíg meg nem jelenik a leállási feltétel:

  1. Ossza fel a megfigyelt pontokat „jó” és „rossz” halmazokra, valamilyen hiperparaméter, gamma szerint.
  2. Illesszen egy keverékmodellt a „jó” és a „rossz” halmazra, hogy elkészítse az átlagos valószínűségi sűrűségbecslést.
  3. Válassza ki azt a pontot, amely optimalizálja az „ígéretesség” pontszámát, amely a 2. lépést kihasználva megbecsüli a „jó” és „rossz” halmazba kerülés valószínűségét.

Végül van egy nagyon klassz kódrészletünk, amely bemutatja, hogyan lehet párhuzamosítani a HyperOpt-ot a SparkTrials segítségével. Ezenkívül naplózza az összes iterációnkat az MLflow-ba.

A HyperOpt Demystified újra közzétéve a következő forrásból: https://towardsdatascience.com/hyperopt-demystified-3e14006eb6fa?source=rss—-7f60cf5620c9—4 a https://towardsdatascience.com/feed oldalon

<!–

->

Időbélyeg:

Még több Blockchain tanácsadók