Translation not up to date
AutoAI automaticky připravuje data, používá algoritmy nebo odhady a sestavuje modelové kolony, které jsou nejlépe vhodné pro vaše data a použití.
Následující části popisují některé z těchto technických podrobností, které jdou do generování ropovodů, a poskytují seznam výzkumných dokumentů, které popisují, jak byla navržena a implementována AutoAI .
- Příprava dat pro školení (před zpracováním)
- Automatický výběr modelu
- Algoritmy použité pro modely klasifikace
- Algoritmy použité pro regresní modely
- Metriky podle typu modelu
- Transformace dat
- Automatizovaná funkce Feature Engineering
- Optimalizace hyperparametru
- Často kladené dotazy kAutoAI
- Další informace
Příprava dat na školení (předběžné zpracování dat)
Během automatického zpracování dat nebo předběžného zpracování analyzuje AutoAI údaje o školení a připraví je pro výběr modelu a generování kolony. Většina datových sad obsahuje chybějící hodnoty, ale algoritmy pro výuku počítačů obvykle neočekávají žádné chybějící hodnoty. Výjimkou z tohoto pravidla je popsáno v části xgboost v části 3.4. Algoritmy AutoAI provádějí různé imputace chybějících hodnot ve vašich datových sadě pomocí různých technik, takže jsou vaše data připravena k učení se strojem. Kromě toho produkt AutoAI zjišťuje a kategorizuje funkce na základě jejich datových typů, jako je kategorická nebo číselná. Prozkoumává metody kódování a škálování, které jsou založeny na kategorizaci funkcí.
Příprava dat zahrnuje tyto kroky:
Klasifikace sloupců funkce
- Detekuje typy sloupců funkcí a klasifikuje je jako kategorickou nebo numerickou třídu
- Detekuje různé typy chybějících hodnot (výchozí, uživatelská, odlehlá)
Technické inženýrství
- Zpracovává řádky, pro které chybí cílové hodnoty (drop (výchozí) nebo imputace cíle)
- Zruší jedinečné sloupce hodnot (kromě datetime a timestamps)
- Uvolní sloupce s konstantními hodnotami
Předběžné zpracování (vkládání dat a kódování)
- Použije strategie imputace/kódování/odstupňování (odděleně pro každou třídu funkce). Např. aktuální výchozí metoda pro chybějící strategie imputace hodnoty, která se používá v produktu, je
most frequent
pro kategoriální proměnné amean
pro číselné proměnné. - Zpracovává štítky sady testů, které nebyly vidět v sadě školení
- Funkce HPO: Optimalizuje strategie imputace/kódování/škálování vzhledem k datové sadě a algoritmu
Automatický výběr modelu
Druhá fáze ve školení experimentu AutoAI je automatizovaná volba modelu. Automatizovaný algoritmus výběru modelu používá přidělení dat pomocí strategie Horní Bounds. Tento přístup postupně alokuje malé podmnožiny dat odborné přípravy mezi velkou sadou algoritmů. Cílem je vybrat algoritmus, který poskytuje téměř optimální přesnost při cvičení na všech datech, a zároveň minimalizuje náklady na špatně přidělené vzorky. Systém v současné době podporuje všechny algoritmy Scikit-learn a populární algoritmy XGBoost a LightGBM . Školení a vyhodnocení modelů na velkých datových sadách je nákladné. Přístup pro spuštění malých dílčích sad a alokování přírůstkově větší než modely, které dobře fungují v datové sadě, šetří čas, aniž by docházelo ke snížení výkonu. Algoritmy přichycení strojového kódu byly přidány do systému, aby se zvýšil výkon ještě více.
Výběr algoritmů pro model
Algoritmy jsou vybrány tak, aby odpovídaly datům a povaze modelu, ale mohou také vyvažovat přesnost a trvání běhového prostředí, je-li model pro tuto volbu nakonfigurován. Například algoritmy Snap ML jsou obvykle rychlejší pro účely školení než algoritmy Scikit-learn. Často jsou upřednostňovanými algoritmy AutoAI automaticky vybrány pro případy, kdy je odborná příprava optimalizována pro kratší dobu běhu a přesnost. Můžete je vybrat ručně, je-li rychlost školení prioritou. Další informace viz Dokumentace k programu Snap ML. Informace o tom, kdy jsou algoritmy SnapML užitečné, naleznete v tomto příspěvku blogu při použití algoritmů SnapML.
Algoritmy použité pro modely klasifikace
Tyto algoritmy jsou výchozími algoritmy, které se používají pro výběr modelu pro problémy klasifikace.
algoritmus | Popis |
---|---|
Klasifikátor stromu rozhodnutí | Mapuje pozorování o položce (představované ve větvích) k závěrům o cílové hodnotě položky (představované v nejnižších prvcích). Podporuje jak binární, tak i víceznačkové štítky, a jak souvislé, tak i kategorické funkce. |
Klasifikátor dalších stromů | Zprůměrovaný algoritmus založený na náhodných rozhodovacích stromech. |
Klasifikátor s přesazeným stromem přechodu | Vytváří model předpovědí klasifikace ve formě kompletu rozhodovacích stromů. Podporuje binární popisky a souvislé i kategoriální funkce. |
Klasifikátor LGBM | Gradient gradient framework that uses leaf-wise (horizontal) tree-based learning algorithm. |
Logistická regrese | Analyzuje datovou sadu obsahující jednu nebo více nezávislých proměnných, které určují jeden ze dvou výsledků. Podporována je pouze binární logistická regrese. |
Klasifikátor náhodných lesů | Vytvoří více rozhodovacích stromů, aby bylo možné vytvořit štítek, který je režim jednotlivých rozhodovacích stromů. Podporuje jak binární, tak i vícevláknové štítky, a jak souvislé, tak i kategorické funkce. |
SnapDecisionTreeClassifier | Tento algoritmus poskytuje klasifikátor stromu rozhodnutí pomocí knihovny IBM Snap ML. |
Regrese SnapLogistic | Tento algoritmus poskytuje regularizovanou logistickou regresi pomocí produktu IBM Snap ML solver. |
SnapRandomForestClassifier | Tento algoritmus poskytuje náhodný klasifikátor struktury a klasifikátor pomocí knihovny IBM Snap ML. |
SnapSVMClassifier | Tento algoritmus poskytuje regularizovaný vektorový počítač podpory pomocí produktu IBM Snap ML solver. |
Klasifikátor XGBoost | Přesná procedura, která může být použita pro problémy klasifikace. Modely XGBoost se používají v různých oblastech, včetně žebříčku a ekologie webového vyhledávání. |
SnapBoostingMachineClassifier | Posilovací stroj pro binární a vícetřídní klasifikace, které směšují binární rozhodovací stromy s lineárními modely s náhodnými funkcemi. |
Algoritmy použité pro regresní modely
Tyto algoritmy jsou výchozími algoritmy, které se používají pro automatický výběr modelu pro regresní problémy.
algoritmus | Popis |
---|---|
Regrese stromu rozhodnutí | Mapuje pozorování o položce (představované v větví) k závěrům o cílové hodnotě položky (představované v nejnižších prvcích). Podporuje souvislé i kategoriální funkce. |
Regrese dalších stromů | Zprůměrovaný algoritmus založený na náhodných rozhodovacích stromech. |
Barevná regrese gradientu | Vytváří regresní predikční model ve formě kompletu rozhodovacích stromů. Podporuje souvislé i kategoriální funkce. |
LGBM regrese | Gradient gradient framework that uses tree-based learning algoriths |
Lineární regrese | Modeluje lineární vztah mezi skalární proměnnou y a jednou nebo více vysvětlujícími proměnnými (nebo nezávislými proměnnými) x. |
Regrese lesní regrese | Vytvoří více rozhodovacích stromů a vytvoří tak střední prognózu každého stromu rozhodnutí. Podporuje souvislé i kategoriální funkce. |
Hrana | Ridge regresi je podobný Běžné nejméně Squares, ale ukládá trest na velikosti koeficientů. |
SnapBoostingMachineRegressor | Tento algoritmus poskytuje zesilovací stroj pomocí knihovny IBM Snap ML, kterou lze použít ke konstrukci kompletu rozhodovacích stromů. |
SnapDecisionTreeRegressor | Tento algoritmus poskytuje rozhodovací strom pomocí knihovny IBM Snap ML. |
SnapRandomForestRegressor | Tento algoritmus poskytuje náhodný les pomocí knihovny produktu IBM Snap ML. |
Regrese XGBoost | GBRT je přesná a efektivní procedura offline, která může být použita pro regresní problémy. Gradient Tree Boosting models are used in various areas, including web search ranking and ecology. |
Metriky podle typu modelu
Pro měření přesnosti potrubí v průběhu školení a pro vyhodnocování dat jsou k dispozici následující metriky.
Binární metriky klasifikace
- Přesnost (výchozí hodnota pro řazení ropovodů)
- Roc auc
- Průměrná přesnost
- F
- Negativní ztráta protokolu
- Přesnost
- Vyvolání
Metriky klasifikace s více třídami
Metriky pro modely s více třídami generují skóre pro to, jak dobře propojení procesů provádí proti uvedenému měření. Například skóre F1 má průměrnou hodnotu precision (predikce, kolik kladných předpovědí bylo správné) a recall (všechny možné kladné předpovědi, jak mnoho bylo předpovězeno správně).
Můžete dále zpřesnit skóre tak, že jej kvalifikují za účelem výpočtu dané metriky globálně (makro), na popisek (mikro) nebo pro gramáž nevyváženou datovou sadu tak, aby upřednostňovaly třídy se znázorněním více reprezentací.
- Metriky s kvalifikátorem micro vypočítávají metriky globálně tím, že počítají celkový počet skutečných pozitiv, nepravdivých negativ a falešných pozitiv.
- Metriky s kvalifikátorem macro vypočítá metriky pro každý popisek a vyhledá jejich neváženou střední hodnotu. Všechny štítky jsou váženy stejně.
- Metriky s kvalifikátorem vážený vypočítávají metriky pro každý popisek a zjišťují jejich průměrnou váhu podle přispění každé třídy. Např. v datové sadě, která obsahuje kategorie pro jablka, broskve a švestky, pokud existuje mnoho dalších instancí jablek, váženou metriku dává větší význam pro správné předpovídání jablek. Tento příkaz změní makro , aby účtovala nerovnováhu popisků. Pro nevyváženou datovou sadu použijte váženou metriku, jako např. F1-weighted .
Jedná se o metriky klasifikace více tříd:
- Přesnost (výchozí hodnota pro řazení ropovodů)
- F1
- F1 Micro
- Makro F1
- F1 Vážené
- Přesnost
- Přesnost Micro
- Přesné makro
- Vážené přesnosti
- Vyvolání
- Znovu vyvolat Micro
- Vyvolání makra
- Vážené obnovení
Regresní metriky
- Záporná hodnota druhé mocniny kořene (výchozí pro hodnocení kolony)
- Negativní střední absolutní chyba
- Chyba střední kvadratická střední hodnota chyby
- Vysvětlená odchylka
- Negativní střední chyba
- Záporná střední chyba protokolu na druhou
- Negativní medián absolutní chyby
- R2
Automatizované inženýrství funkcí
Třetím stupněm v procesu AutoAI je automatické inženýrství funkcí. Algoritmus automatizovaného inženýrství funkcí je založen na Cognito, popsané ve výzkumných dokumentech, Cognito: Automated Feature Engineering for Dozed Learning a Feature Engineering for Predictive Modeling by using Reincement Learning. Systém zkoumá různé možnosti výstavby různých funkcí v hierarchickém a nevyčerpávajícím způsobem, přičemž postupně maximalizuje přesnost modelu prostřednictvím strategie průzkumu využití. Tato metoda je inspirovaná strategií "trial and error" pro inženýring funkcí, ale kterou provádí nezávislý agent na místě člověka.
Metriky použité pro důležitost funkce
U klasifikačních a regresních algoritmů založených na stromu, jako je např. Strom rozhodnutí, Extra stromy, Náhodný les, XGBoost, gradient Boosted a LGBM, jsou funkce importance funkcí inherentní funkce na základě snížení kritéria, které se používají k výběru bodů rozdělení, a vypočítávají se, když jsou tyto algoritmy školeny na údajích o školení.
U nestromových algoritmů jako Logistic Regression, LInear Regression, SnapSVMa Ridge jsou funkce importance funkce importance algoritmu Random Forest, který je školen na stejné trénovací data jako algoritmus nontree.
U všech algoritmů jsou všechny importy funkcí v rozsahu od nuly do jedné a byly normalizovány jako poměr s ohledem na maximální důležitost funkce.
Transformace dat
Pro inženýring funkcí používá AutoAI nový přístup, který zkoumá různé možnosti výstavby různých funkcí ve strukturovaném, nevyčerpávajícím způsobem a postupně maximalizuje přesnost modelu využitím výztuží k učení. To má za následek optimalizovanou posloupnost transformací pro data, která nejlépe odpovídají algoritmům nebo algoritmům v kroku výběru modelu. V této tabulce jsou uvedeny některé použité transformace a některé dobře známé podmínky, za kterých jsou užitečné. Nejedná se o vyčerpávající seznam scénářů, kde je transformace užitečná, neboť to může být složité a obtížně interpretovatelné. A konečně, uvedené scénáře nejsou vysvětlením toho, jak jsou transformace vybrány. Výběr toho, které transformace se mají použít, se provádí metodou pokusu a omyleje, které se orientují na výkon.
Název | Kód | funkce |
---|---|---|
Analýza základní komponenty | pcca. | Omezte rozměry dat a přerozdělte se do vhodnějšího souřadnicového systému. Pomáhá vypořádat se s "kletbou dimenzionality" v lineárně korelovaných datech. Eliminuje redundanci a odděluje důležité signály v datech. |
Standardní přizpůsobitelnost výkonu | stdscaler | Rozšiřuje funkce dat na standardní rozsah. To pomáhá účinnost a efektivitu některých učebních algoritmů a jiných transformací, jako je PCA. |
Logaritmus | protokol | Omezuje správný posun ve funkcích a činí je více symetrickým. Výsledná symetrie v rámci funkcí pomáhá algoritmům lépe porozumět datům. Dokonce i změna měřítka založená na střední a rozptylu je smysluplnější na symetrických datech. Kromě toho může zachycovat specifické fyzické vztahy mezi funkcí a cílem, který je nejlépe popsán pomocí logaritmu. |
Kořenový adresář krychle | cbrt | Zmenšuje správný posun v datech jako logaritmus, ale je slabší než protokol při jeho dopadu, který může být v některých případech vhodnější. Lze jej použít také na záporné nebo nulové hodnoty, na které se protokol nevztahuje. Kořenový adresář krychle může také měnit jednotky, jako je například snížení objemu na délku. |
Druhá odmocnina | sqrt | Zmenšuje mírné pravé šikmosti v datech. Je slabší než kořenový adresář protokolu nebo krychle. Pracuje s nulami a snižuje prostorové rozměry, jako je například délka oblasti. |
Čtverec | Čtverec | Zmenšuje levé šikmost do umírněného rozsahu, aby se takové distribuce více symetrické. To může být také užitečné při zachycení některých jevů, jako je super-lineární růst. |
Produkt | produkt | Produkt dvou funkcí může vystavit nelineární vztah, aby lépe předpověděl cílovou hodnotu než jednotlivé hodnoty samostatně. Např. náklady na položku v množství prodaných položek je lepší údaj o velikosti podniku než ty, které jsou prodávány samostatně. |
Numerické XOR | nxor | Tato transformace pomáhá zachycovat typ "exclusive disjunction" vztahu mezi proměnnými, podobně jako Bitwise XOR, ale v obecném numerickém kontextu. |
Součet | součet | Někdy je součet dvou funkcí lépe korelovaný s cílem předpovědi, než funkce samotné. Například úvěry z různých zdrojů, jsou-li shrnuty, poskytují lepší představu o celkové zadluženosti žadatele o úvěr. |
Dělit | dělit | Divize je základním operandem, který se používá k vyjádření veličin, jako je hrubý HDP nad obyvatelstvem (HDP na obyvatele), který představuje průměrnou životnost země lépe než samotný HDP, nebo jen samotný počet obyvatel. |
Maximální | max | Vezměte si vyšší ze dvou hodnot. |
zaokrouhlení | zaokrouhlení | Tato proměna může být považována za perturbaci nebo přidáním některých hluku k omezení nadstavby, které může být výsledkem nepřesných pozorování. |
Absolutní hodnota | abs | Vezměme si jen velikost a ne známku pozorování. Někdy, směr nebo znaménko pozorování nezáleží tolik jako velikost toho, jako je fyzický posun, při zvažování paliva nebo času stráveného ve skutečném pohybu. |
Hyperbolická | TGH | Funkce nelineární aktivace může zvýšit přesnost předpovědí, podobně jako funkce pro aktivaci neuronové sítě. |
Sinus | sin | Může přeorientovat data, aby se objevovaly periodické trendy, jako jsou například jednoduché harmonické pohyby. |
Kosinus | cos | Může přeorientovat data, aby se objevovaly periodické trendy, jako jsou například jednoduché harmonické pohyby. |
Tečna | tan | Transformace trigonometrického tečny je obvykle užitečná v kombinaci s jinými transformacemi. |
Agglomerace funkce | aglomerace | Klastrování různých funkcí do skupin, založené na vzdálenosti nebo afinitě, poskytuje snadnou klasifikaci pro algoritmus učení. |
ID podpisu | ID sigmoid | Funkce nelineární aktivace může zvýšit přesnost předpovědí, podobně jako funkce pro aktivaci neuronové sítě. |
Izolační strom | isoforesotanol | Provádí klastrování pomocí funkce Izolation Forest pro vytvoření nové funkce obsahující skóre anomálie pro každý vzorek. |
Slovo do vektoru | word2vec | Tento algoritmus, který se používá pro analýzu textu, je aplikován před všemi ostatními transformacemi. Vezme jako vstup korpus textu a vytváří výstup vektorů. Přeměním textu na číselné znázornění může tento text detekovat a porovnávat podobná slova. Při školení s dostatečnými daty může produkt word2vec vytvářet přesné předpovědi o významu slova nebo o vztahu k jiným slovům. Předpovědi lze použít k analýze textu a předpovědi významu v aplikacích analýzy vyznění. |
Optimalizace hyperparametru
Poslední fáze v AutoAI je optimalizace hyperparametru. Přístup AutoAI optimalizuje parametry nejlepších výkonových propojení procesů z předchozích fází. To se provádí prozkoumáním rozsahů parametrů těchto produktovodů pomocí hyperparametru hyperparametru RBFOpt s černou krabicí. RBFOpt je popsán v výzkumném papíru RBFOpt: knihovna open-source pro optimalizaci black-box s nákladnými výsledky funkcí. RBFOpt je vhodný pro experimenty AutoAI , protože je postaven pro optimalizaci s nákladnými vyhodnoceními, jako v případě školení a přidělení skóre algoritmu. RBFOpt přístup sestavuje a iterativně rekultivuje náhradní model neznámé objektivní funkce, aby se rychle sbíhaly, a to i přes dlouhé vyhodnocovací časy jednotlivých iterací.
Často kladené dotazy AutoAI
Níže jsou uvedeny často kladené otázky týkající se vytvoření experimentu AutoAI .
Kolik plynovodů je vytvořeno?
Dva parametry AutoAI určují počet ropovodů:
max_num_daup_ensembly: Maximální počet (top-K ohodnocený podle výběru modelu podle DAUB) vybraného algoritmu nebo typy odhadu, například LGBMClassifierEstimator, XGBoostClassifierOdhadce nebo LogisticRegressionOdhadce pro použití v kompozici kolony. Výchozí hodnota je 1, kde se použije pouze nejvyšší hodnocení podle typu algoritmu výběru modelu.
počet_záhyby: Počet dílčích sad úplných datových sad na ropovodů navíc k celé datové sadě. Předvolba je 1 pro trénink úplné datové sady.
Pro každý typ a typ algoritmu vytvoří AutoAI čtyři kolony se zvýšeným upřesněním, což odpovídá:
- Propojení s výchozími parametry sklearn pro tento typ algoritmu,
- Propojení s optimalizovaným algoritmem pomocí HPO
- Propojení procesů s optimalizovaným inženýrstvím
- Propojení s optimalizovaným inženýrstvím funkcí a optimalizovaným algoritmem pomocí HPO
Celkový počet vytvořených produktovodů je:
TotalPipelines= max_num_daub_ensembles * 4, if num_folds = 1:
TotalPipelines= (num_folds+1) * max_num_daub_ensembles * 4, if num_folds > 1 :
Jaká hyperparamová optimalizace se aplikuje na můj model?
Volba AutoAI používá globální vyhledávací algoritmus založený na modelu, nazývaný RBfOpt, který je přizpůsoben pro nákladný výukový model výukových programů a vyhodnocování skóre, které jsou vyžadovány optimalizací hyperparametrů (HPO). Na rozdíl od Bayesovské optimalizace, která se hodí k Gaussovu modelu na neznámou objektivní funkci, RBfOpt odpovídá radiálnímu režimu základní funkce k urychlení zjišťování konfigurací hyper-parameter, které maximalizují objektivní funkci strojového učení problém. Toto zrychlení je dosaženo minimalizací počtu drahých tréninkových a bodovacích modelů hodnocení modelů a tím, že eliminuje potřebu vypočítat dílčí deriváty.
Pro každý typ a typ algoritmu vytvoří AutoAI dva kolony, které používají HPO k optimalizaci pro typ algoritmu.
- První je založen na optimalizaci tohoto typu algoritmu na základě předzpracované datové sady (vdred/encoded/scaled) (kolon 2) výše).
- Druhý je založen na optimalizaci typu algoritmu na základě optimalizovaného inženýrství datové sady předzpracované (imputed/encoded/scaled) datové sady.
Hodnoty parametrů algoritmů všech ropovodů generovaných pomocí AutoAI jsou publikovány ve stavové zprávě.
Další podrobnosti týkající se algoritmu RbfOpt naleznete v následujících tématech:
- RbfOpt: Knihovna optimalizace blackbox v Python
- Efektivní algoritmus pro optimalizaci hyperparametru neuronové sítě. IBM Journal of Research and Development, 61 (4-5), 2017
Odkazy na výzkum
Tento seznam obsahuje některé základní výzkumné články, které dále podrobně popisují, jak byla AutoAI navržena a implementována za účelem podpory důvěry a transparentnosti v automatizovaném procesu budování modelu.
Další kroky
imputace dat v experimentech AutoAI
Nadřízené téma: PřehledAutoAI