Použití algoritmů strojového učení Ensemble ve Wece

Algoritmy souborů jsou výkonnou třídou algoritmu strojového učení, který kombinuje předpovědi z více modelů. Výhodou používání Weky pro strojové učení je dostupnost tolika různých souborových algoritmů strojového učení.

Přehled algoritmů souboru

Vydáme se na prohlídku 5 nejlepších sestavte algoritmy strojového učení ve Wece. Každý algoritmus, který bude zahrnut, bude stručně popsán z hlediska jeho fungování a budou zvýrazněny klíčové parametry algoritmu a samotný algoritmus bude demonstrován v rozhraní Weka Explorer.

5 algoritmů, které podíváme se na:

  1. Bagging
  2. Random Forest
  3. AdaBoost
  4. hlasování
  5. stohování

Ke znázornění každého algoritmu bude použit standardní problém klasifikace strojového učení. Konkrétně problém s binární klasifikací ionosféry. Toto je dobrý datový soubor pro demonstraci klasifikačních algoritmů, protože vstupní proměnné jsou číselné a všechny mají stejné měřítko, problém má pouze dvě třídy, které by je odlišily.

Každá instance popisuje vlastnosti radarových výnosů z atmosféry a úkolem je předpovědět, zda v ionosféře existuje struktura či nikoli. K dispozici je 34 numerických vstupních proměnných obecně stejného rozsahu. Další informace o této datové sadě najdete v úložišti strojového učení UCI . Nejlepší výsledky jsou v řádu 98% přesnosti.

Spusťte Weka Explorer:

  1. Otevřete Weka GUI Chooser.
  2. Klikněte na „Průzkumník ”Tlačítko pro otevření Průzkumníka Weka.
  3. Načtěte datovou sadu Ionosphere ze souboru data / ionosphere.arff
  4. Kliknutím na„ Klasifikovat “otevřete kartu Klasifikace .

1. Bagging

Bootstrap Aggregation nebo Bagging v krátkosti je algoritmus souboru, který lze použít pro klasifikaci nebo regresi. Bootstrap je statistická metoda odhadu, kdy se statistická veličina jako průměr odhaduje z několika náhodných vzorků vašich dat (s náhradou). Je to užitečná technika, pokud máte omezené množství dat a máte zájem o podrobnější odhad statistické veličiny.

Tento ukázkový princip lze použít u modelů strojového učení. Několik náhodných vzorků vašich tréninkových dat se vykreslí s náhradou a použije se k trénování několika různých modelů strojového učení. Každý model se poté použije k vytvoření predikce a výsledky se zprůměrují, aby poskytly robustnější predikci.

Nejlépe se používá u modelů, které mají nízkou odchylku a vysokou odchylku, což znamená, že předpovědi, které vytvářejí jsou vysoce závislí na konkrétních datech, ze kterých byli vyškoleni. Nejpoužívanějším algoritmem pro pytlování, který vyhovuje tomuto požadavku velké odchylky, jsou rozhodovací stromy.

Vyberte algoritmus pytlování:

  1. Klikněte na tlačítko „Vybrat“ a vyberte „Pytlování“ ve skupině „meta“.
  2. Kliknutím na název algoritmu zkontrolujte konfiguraci algoritmu.
Konfigurace Weka pro algoritmus pytlování

Klíčovým konfiguračním parametrem při pytlování je typ pytlovaného modelu . Výchozí hodnota je REPTree, což je implementace Weka standardního rozhodovacího stromu, nazývaného také Classification and Regression Tree nebo CART. Toto je specifikováno v parametru klasifikátoru.

Velikost každého náhodného vzorku je uvedena v „bagSizePercent“, což je velikost vyjádřená jako procento surové datové sady školení. Výchozí hodnota je 100%, což vytvoří nový náhodný vzorek stejné velikosti jako datová sada pro školení, ale bude mít jiné složení.

Je to proto, že náhodný vzorek je vykreslen s náhradou, což znamená, že pokaždé instance je náhodně vytažena z tréninkové datové sady a přidána do vzorku, je také přidána zpět do tréninkové datové sady, což znamená, že ji lze znovu vybrat a přidat dvakrát nebo vícekrát do vzorku.

Nakonec počet vaků (a počet klasifikátorů) lze určit v parametru „numIterations“. Výchozí hodnota je 10, i když je běžné používat hodnoty ve stovkách nebo tisících. Pokračujte ve zvyšování hodnoty „numIterations“, dokud již neuvidíte vylepšení modelu nebo vám nedojde paměť.

  1. Kliknutím na „OK“ zavřete konfiguraci algoritmu.
  2. Kliknutím na tlačítko „Spustit“ spustíte algoritmus na datové sadě Ionosphere.

Vidíte, že při výchozí konfiguraci dosahuje bagging přesnosti 91%:

Výsledky klasifikace Weka pro algoritmus pytlování

2.Random Forest

Random Forest je rozšíření pytlování pro rozhodovací stromy, které lze použít pro klasifikaci nebo regresi. Nevýhodou pytlovaných rozhodovacích stromů je, že rozhodovací stromy jsou konstruovány pomocí chamtivého algoritmu, který v každém kroku procesu budování stromu vybírá nejlepší bod rozdělení. Výsledné stromy jako takové nakonec vypadají velmi podobně, což snižuje rozptyl předpovědí ze všech pytlů, což zase poškozuje robustnost předpovědí.

Random Forest je vylepšením pytlovaných rozhodovacích stromů, které narušuje chamtivý algoritmus rozdělení během vytváření stromu, takže body rozdělení lze vybrat pouze z náhodné podmnožiny vstupních atributů. Tato jednoduchá změna může mít velký vliv na snížení podobnosti mezi zpevněnými stromy a na výsledné předpovědi.

Vyberte algoritmus náhodného lesa:

  1. Klikněte na tlačítko „Vybrat“ tlačítko a ve skupině „stromy“ vyberte „RandomForest“.
  2. Kliknutím na název algoritmu zkontrolujte konfiguraci algoritmu.
Konfigurace Weka pro algoritmus náhodného lesa

Kromě uvedených parametrů výše pro pytlování je klíčovým parametrem náhodného lesa počet atributů, které je třeba vzít v úvahu v každém bodě rozdělení. Ve Wece to lze ovládat pomocí atributu „numFeatures“, který je ve výchozím nastavení nastaven na 0, který automaticky vybere hodnotu na základě obecného pravidla.

  1. Kliknutím na „OK“ zavřete konfigurace algoritmu.
  2. Kliknutím na tlačítko „Spustit“ spustíte algoritmus v datové sadě Ionosphere.

Vidíte, že při výchozí konfiguraci dosahuje náhodná doménová struktura přesnosti z 92%:

Výsledky klasifikace Weka pro algoritmus náhodného lesa

3. AdaBoost

AdaBoost je souborový algoritmus strojového učení pro problémy s klasifikací. Je součástí skupiny kompletních metod zvaných boosting, které přidávají nové modely strojového učení do série, kde se následné modely pokouší opravit chyby predikce provedené předchozími modely. AdaBoost byla první úspěšnou implementací tohoto typu modelu.

Adaboost byl navržen tak, aby používal modely krátkého rozhodovacího stromu, každý s jediným rozhodovacím bodem. Takové krátké stromy se často označují jako rozhodovací pahýly.

První model je konstruován podle normálu. Každá instance v datové sadě školení je vážena a váhy jsou aktualizovány na základě celkové přesnosti modelu a toho, zda byla instance klasifikována správně nebo ne. Následné modely jsou trénovány a přidávány, dokud není dosaženo minimální přesnosti nebo nejsou možná další vylepšení. Každý model je vážen na základě jeho dovedností a tyto váhy se používají při kombinování předpovědí všech modelů na nových datech.

Vyberte algoritmus AdaBoost:

  1. Klikněte na Tlačítko „Vybrat“ a ve skupině „meta“ vybrat „AdaBoostM1“.
  2. Kliknutím na název algoritmu zkontrolujete konfiguraci algoritmu.
Konfigurace Weka pro algoritmus AdaBoost

Slabý student uvnitř model AdaBoost lze určit parametrem klasifikátoru. Výchozí hodnota je algoritmus rozhodovacího pahýlu, ale lze použít i jiné algoritmy. klíčovým parametrem kromě slabého žáka je počet modelů, které lze vytvářet a přidávat do sérií. To lze zadat v parametru „numIterations“ a výchozí hodnota je 10.

  1. Kliknutím na „OK“ zavřete konfiguraci algoritmu.
  2. Kliknutím na tlačítko „Start“ spustíte algoritmus na datové sadě Ionosphere.

Vidíte, že s výchozí konfigurací dosahuje AdaBoost přesnost 90%:

Výsledky klasifikace Weka pro algoritmus AdaBoost

4. Hlasování

Hlasování je možná nejjednodušší algoritmus souboru a je často velmi efektivní. Může být použit pro klasifikaci nebo regresní problémy. Hlasování funguje vytvořením dvou nebo více dílčích modelů. Každý dílčí model vytváří předpovědi, které jsou nějakým způsobem kombinovány, například tak, že vezmeme průměr nebo způsob předpovědí, což každému dílčímu modelu umožní hlasovat o tom, jaký by měl být výsledek.

Zvolte hlasování algoritmus:

  1. Klikněte na tlačítko „Vybrat“ a ve skupině „meta“ vyberte možnost „Hlasovat“.
  2. Kliknutím na název algoritmu zkontrolujte konfiguraci algoritmu.
Konfigurace Weka pro algoritmus hlasovacího souboru

Klíčovým parametrem souboru hlasování je výběr dílčích modelů. Modely lze specifikovat ve Wece v parametru „klasifikátory“.Kliknutím na tento parametr můžete přidat řadu klasifikátorů:

Weka Algorithm Selection for the Voting Ensemble Algorithm

Kliknutím na tlačítko „Upravit“ s vybraným klasifikátorem můžete nakonfigurovat podrobnosti tohoto klasifikátoru. Cílem při výběru dílčích modelů je výběr modelů, které vytvářejí zcela odlišné předpovědi (nekorelované předpovědi). Jako takové je dobrým pravidlem vybírat velmi odlišné typy modelů, jako jsou stromy, metody založené na instancích, funkce atd.

Dalším klíčovým parametrem, který je třeba nakonfigurovat pro hlasování, je způsob, jakým předpovědi dílčí modely jsou kombinovány. Toto je řízeno parametrem „combinationRule“, který je ve výchozím nastavení nastaven na průměr pravděpodobností.

  1. Kliknutím na „OK“ zavřete konfiguraci algoritmu.
  2. Klikněte na tlačítko „Spustit“ pro spuštění algoritmu na datové sadě Ionosphere.

Vidíte, že při výchozí konfiguraci dosahuje Vote přesnosti 64%. Je zřejmé, že tato technika dosáhla špatných výsledků, protože byl vybrán pouze submodel ZeroR.

5. Skládání

Skládaná generalizace nebo zkráceně Skládání je jednoduchým rozšířením hlasovacích souborů, které lze použít pro problémy s klasifikací a regresí.

Kromě výběru více dílčích modelů vám stohování umožňuje určit jiný model, abyste se naučili, jak nejlépe kombinovat předpovědi z dílčích modelů. Protože se meta model používá k nejlepšímu kombinování předpovědí dílčích modelů, tato technika se někdy nazývá blending, jako při kombinování předpovědí dohromady.

Vyberte algoritmus skládání:

  1. Klikněte na tlačítko „Vybrat“ a ve skupině „meta“ vyberte možnost „Skládání“.
  2. Kliknutím na název algoritmu zkontrolujte konfiguraci algoritmu.
Konfigurace Weka pro algoritmus Stacking Ensemble

Stejně jako u klasifikátoru Hlasování můžete v parametru klasifikátorů určit dílčí modely. Model, který bude proškolen, aby se naučil, jak nejlépe kombinovat předpovědi z dílčího modelu, lze určit v parametru „metaClassifier“, který je ve výchozím nastavení nastaven na ZeroR. Pro problémy s regresí a klasifikací je běžné používat lineární algoritmus, jako je lineární regrese nebo logistická regrese. Tím je dosaženo výstupu, který je jednoduchou lineární kombinací předpovědí dílčích modelů.

  1. Kliknutím na „OK“ zavřete konfiguraci algoritmu.
  2. Klikněte na Tlačítko „Spustit“ pro spuštění algoritmu na datové sadě Ionosphere.

Vidíte, že při výchozí konfiguraci dosahuje Stacking přesnost 64%:

Výsledky klasifikace Weka pro algoritmus Stacking Ensemble

Znovu , stejně jako hlasování, Stacking dosáhl špatných výsledků, protože byl vybrán pouze submodel ZeroR.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *