Sdílet prostřednictvím


Two-Class místně hloubkové vektorové vektory podpory

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Vytvoří binární klasifikační model pomocí místně hlubokého algoritmu Support Vector Machine.

Kategorie: Machine Learning / Inicializace modelu / klasifikace

Poznámka

Platí jenom pro: Machine Learning Studio (jenom Classic)

Podobné moduly pro přetažení jsou k dispozici v návrháři Azure Machine Learning.

Přehled modulu

Tento článek popisuje, jak pomocí modulu Dvoutřídní místně hloubkové vektorové vektory v nástroji Machine Learning Studio (classic) vytvořit dvoutřídní nelineární vektorový vektorový stroj (SVM), který je optimalizovaný pro efektivní predikci.

Podpůrné vektorové stroje (SVM) jsou velmi populární a dobře prozkoumávané třídy modelů učení pod dohledem, které lze použít v lineárních a nelineárních klasifikačních úlohách. Nedávný výzkum se zaměřil na způsoby optimalizace těchto modelů tak, aby efektivně škáloval na větší trénovací sady. V této implementaci z microsoft Research je funkce jádra, která se používá k mapování datových bodů na prostor funkcí, speciálně navržena tak, aby zkrátila dobu potřebnou pro trénování a současně zachovala většinu přesnosti klasifikace.

Tento model je metoda učení pod dohledem, a proto vyžaduje označenou datovou sadu, která obsahuje sloupec popisku.

Jakmile definujete parametry modelu, natrénujte ho zadáním modelu a označené datové sady jako vstup pro trénování modelu nebo ladění hyperparametrů modelu. Vytrénovaný model se pak dá použít k predikci hodnot pro nové vstupy.

Konfigurace Two-Class místně hloubkového vektoru podpory

  1. Do experimentu v sadě Studio (classic) přidejte modul Locally-Deep Support Vector Machine (Two-Class Locally-Deep Support Vector Machine ).

  2. Určete, jak má být model trénován, nastavením možnosti Vytvořit režim trenéra .

    • Jeden parametr: Pokud víte, jak chcete model nakonfigurovat, zadejte konkrétní sadu hodnot jako argumenty.

    • Rozsah parametrů: Pokud si nejste jisti nejlepšími parametry, můžete optimální parametry najít zadáním více hodnot a pomocí modulu Tune Model Hyperparameters najít optimální konfiguraci. Trenér iteruje více kombinací nastavení, která jste zadali, a určuje kombinaci hodnot, které vytvářejí nejlepší model.

  3. Pro hloubku stromu zadejte maximální hloubku stromu, kterou může vytvořit místní model SVM (LD-SVM) hlubokého učení jádra.

    Náklady na trénování se lineárně zvyšují s hloubkou stromu; proto zvolte odpovídající hloubku v závislosti na tom, kolik času si můžete dovolit strávit při vytváření modelu.

    Doba trénování by se měla přibližně zdvojnásobit, protože hloubka se zvýší o jednu.

    Přesnost predikce by se měla zvýšit, dosáhnout vrcholu a pak snížit s rostoucí hloubkou.

  4. Pro lambda W zadejte váhu, která by měla být zadána k regulárnímu termínu.

    Regularizace omezuje velké hodnoty komponenty v natrénovaný klasifikátor. Pokud je počet vzorků nedostatečný vzhledem k počtu funkcí, můžete použít regularizaci L2, abyste se vyhnuli přeurčení. Větší hodnoty pro lambda W znamenají, že větší důraz je kladen na regularizaci hmotností klasifikátoru a méně na chybu klasifikace trénovací sady.

    Pokud výchozí hodnota (0,1) nefunguje dobře, měli byste také zkusit {0,0001, 0,001 a 0,01}.

  5. V případě lambda Theta určete, kolik místa by mělo zůstat mezi hranicí oblasti a nejbližším datovým bodem.

    Tento model funguje rozdělením datového prostoru a prostoru funkcí do oblastí. Pokud je lambda Theta minimalizována tak, aby hranice oblastí v natrénovaném modelu byly příliš blízko trénovacích datových bodů, model může přinést nízkou trénovací chybu, ale vysokou testovací chybu kvůli přeurčení.

    Pokud chcete snížit počet parametrů, které je potřeba ověřit, je dobré pravidlo palce nastavit Lambda Theta na jednu desetinu hodnoty, která se používá pro Lambda W. Větší hodnoty znamenají, že důraz je kladen na zabránění přeurčení než minimalizaci chyb klasifikace v trénovací sadě.

    Pokud výchozí hodnota (0,01) nefunguje dobře, měli byste také zkusit {0,0001, 0,001 a 0,1}.

  6. Pro lambda Theta Prime zadejte hodnotu pro řízení množství zakřivení, které je povoleno v rozhodovacích hranicích v modelu.

    Větší hodnoty poskytují modelu flexibilitu učit se zakřivené rozhodovací hranice, zatímco menší hodnoty mohou omezit hranice rozhodování na více krokových lineárních vzorů.

    Tento parametr funguje ve spojení s parametrem Sigma . Pokud chcete snížit počet parametrů, které je potřeba ověřit, je dobré pravidlo palce nastavit Lambda Theta Prime na hodnotu Lambda W.

    Pokud výchozí hodnota (0,01) nefunguje dobře, měli byste také zkusit {0,0001, 0,001 a 0,1,}.

  7. V případě ostrosti Sigmoid zadejte hodnotu, která se má použít pro parametr škálování σ.

    Větší hodnoty znamenají, že tanh v místním jádru Θ (theta) je nasycený, zatímco menší hodnota znamená více lineární provozní rozsah pro teta. Úplný vzorec optimalizace najdete v části Technické poznámky .

    Pokud výchozí hodnota (1) nefunguje dobře, můžete také zkusit {0.1, 0.01, 0,001}.

  8. V části Počet iterací uveďte, kolikrát by algoritmus měl aktualizovat parametry klasifikátoru náhodnou podmnožinou příkladů.

  9. V případě normalizátoru funkcí zvolte metodu, která se má použít při normalizaci hodnot funkcí. Podporují se následující metody:

    • Binning normalizátor: Normalizátor binningu vytvoří intervaly stejné velikosti a pak normalizuje každou hodnotu v každém intervalu tak, aby byla rozdělena celkovým počtem intervalů.

    • Gaussian normalizátor: Gaussian normalizátor rescalesuje hodnoty každé funkce tak, aby měly střední hodnotu 0 a odchylku 1. K tomu slouží výpočet střední hodnoty a odchylky jednotlivých funkcí. U každé instance se pak odečítá střední hodnota a výsledek dělený druhou odmocninou rozptylu (směrodatná odchylka).

    • Normalizátor min-Max: Normalizátor min-max lineárně reškálí každou funkci do intervalu [0,1].

      Změna měřítka na interval [0,1] se provádí posunutím hodnot jednotlivých funkcí tak, aby minimální hodnota byla 0, a potom se vydělí novou maximální hodnotou (což je rozdíl mezi původním maximem a minimálními hodnotami).

    • Ne normalizovat: Neprovádí se normalizace.

  10. Do pole Náhodné počáteční číslo zadejte hodnotu, která se má použít jako počáteční, pokud chcete zajistit reprodukovatelnost mezi běhy.

  11. Výběrem možnosti Povolit neznámé úrovně kategorií vytvořte skupinu pro neznámé hodnoty v testovacích nebo ověřovacích sadách.

    Pokud ho zrušíte, model může přijmout pouze hodnoty obsažené v trénovacích datech. V prvním případě může být model méně přesný pro známé hodnoty, ale může poskytovat lepší předpovědi pro nové (neznámé) hodnoty.

  12. Připojení označené datové sady a jeden z trénovacích modulů:

    Poznámka

    Pokud předáte rozsah parametrů trénování modelu, použije pouze první hodnotu v seznamu rozsahu parametrů.

    Pokud do modulu Tune Model Hyperparameters předáte jednu sadu hodnot parametrů, při očekávání rozsahu nastavení pro každý parametr ignoruje hodnoty a použije výchozí hodnoty pro žáka.

    Pokud vyberete možnost Rozsah parametrů a zadáte jednu hodnotu pro libovolný parametr, použije se zadaná jedna hodnota v průběhu úklidu, a to i v případě, že se v rozsahu hodnot změní jiné parametry.

  13. Spusťte experiment.

Výsledky

Po dokončení trénování:

  • Pokud chcete zobrazit souhrn parametrů modelu, klikněte pravým tlačítkem myši na výstup modulu Trénování modelu nebo modul Tune Model Hyperparameters a vyberte Vizualizovat.

  • Pokud chcete uložit snapshpt trénovaného modelu, klikněte pravým tlačítkem myši na výstup trénovaného modelu a vyberte Uložit jako trénovaný model. Tento model se neaktualizuje při následných spuštěních stejného experimentu.

  • Pokud chcete provést křížové ověření u označené datové sady, připojte nevytrénovaný model k modelu křížového ověření.

Technické poznámky

Tato část obsahuje podrobnosti o implementaci, tipy a odpovědi na nejčastější dotazy.

Tipy k používání

Tento klasifikátor LD-SVM je nejužitečnější za následujících podmínek:

  • Máte problém s binární klasifikací nebo můžete problém snížit na úlohu binární klasifikace.

  • Vyzkoušeli jste lineární klasifikátor, ale neproběl dobře.

  • Vyzkoušeli jste nelineární SVM nebo jiný klasifikátor a získali jste dobrou přesnost klasifikace, ale trénování modelu trvalo příliš dlouho.

  • Můžete si dovolit obětovat přesnost předpovědi, abyste zkrátili dobu trénování.

Modely LD-SVM jsou dobrou volbou, když jsou data dostatečně složitá, aby lineární modely (například logistická regrese) fungovaly špatně. Modely LD-SVM jsou také dostatečně malé, aby se používaly v mobilních zařízeních nebo jiných scénářích, kdy jsou složité modely (například neurální sítě) příliš velké, aby bylo možné efektivně využívat.

Naopak tento model by se neměl používat, pokud vám nevadí velikost modelu nebo pokud je lineární model nutný pro jednoduchost nebo rychlost předpovědi. Pokud lineární klasifikátory již poskytují dobré výsledky, nebo pokud můžete dosáhnout vysoké přesnosti klasifikace přidáním malých objemů nelinearity, není také potřeba změnit na LD-SVM.

Podrobnosti o implementaci

Model LD-SVM vyvinul Microsoft Research v rámci probíhajícího úsilí o urychlení nelineární předpovědi SVM. Práce Gonenu a Alpaydinu (2008) na lokalizované metodě učení s více jádry byla obzvláště cenná. Použití místní funkce jádra umožňuje modelu učit se libovolné místní funkce vkládání, včetně vysoce dimenzionálních, řídkých a výpočetně hlubokých funkcí, které do modelu zavádějí nelineární funkce.

LD-SVM je rychlejší než většina ostatních klasifikátorů z několika důvodů:

  • Model se učí rozhodovací hranice, které jsou místně lineární. Proto je možné testovací bod efektivně klasifikovat tím, že ho otestujete proti místní rozhodovací hranici, a nikoli otestujete celou sadu rozhodovacích hranic po celém prostoru funkcí.

  • Model používá efektivní rutiny založené na primalu k optimalizaci prostoru strukturovaných místních funkcí strukturovaných stromovou strukturou, které se škálují na velké trénovací sady s více než půl milionem trénovacích bodů.

  • Náklady na testování bodu proti místní rozhodovací hranici jsou logaritmické v počtu trénovacích bodů.

V důsledku těchto optimalizací je trénování modelu LD-SVM exponenciálně rychlejší než trénování tradičních modelů SVM.

Vzorec optimalizace

optimization formula

Výzkum

Další informace o algoritmu a podkladovém výzkumu najdete v tématu Místní hluboké jádro Učení pro efektivní nelineární predikci SVM.

Parametry modulu

Name Rozsah Typ Výchozí Description
Vytvoření režimu trenéra Seznam Možnost parametru Learner Jeden parametr Pokročilé možnosti learneru:

1. Vytvoření learneru pomocí jednoho parametru
2. Vytvoření learneru pomocí rozsahu parametrů
Hloubka stromu >=1 Integer 3 Hloubka místně hlubokého stromu SVM.
Lambda W >=1,401298E-45 Float 0.1 Váha regulárního parametru klasifikátoru Lambda W.
Lambda Theta >=1,401298E-45 Float 0,01 Váha regulárního parametru klasifikátoru Lambda Theta
Lambda Theta Prime >=1,401298E-45 Float 0,01 Váha regulárního parametru klasifikátoru Lambda Theta prime.
Sigmoidost >=1,401298E-45 Float 1.0 Sigmoidost.
Hloubka stromu [1;int. MaxValue] ParameterRangeSettings 1; 3; 5; 7 Rozsah hloubky místně hlubokého stromu SVM.
Lambda W [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 Rozsah pro váhu regularizace pro klasifikátor parametr Lambda W.
Lambda Theta [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 Rozsah pro váhu regularizace pro klasifikátor parametr Lambda Theta.
Lambda Theta Prime [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 Rozsah pro váhu regularizace pro parametr klasifikátoru Lambda Theta prime'.
Sigmoidost [1.401298E-45;3.40282347E+38] ParameterRangeSettings 1.0; 0.1; 0.01 Rozsah ostrosti sigmoidu.
Normalizátor funkcí Seznam Typ normalizátoru normalizátor Min-Max Typ normalizace, který se má použít u příkladů učení.
Počet iterací >=1 Integer 15 000 Počet iterací učení
Počet iterací [1;int. MaxValue] ParameterRangeSettings 10000; 15000; 20000 Rozsah počtu iterací učení.
Náhodné počáteční číslo Všechny Integer Počáteční hodnota generátoru náhodných čísel, který model používá. Ponechte ho pro výchozí hodnotu prázdnou.
Povolit neznámé úrovně kategorií Všechny Logická hodnota Ano Pokud ano, vytvoří další úroveň pro každý sloupec kategorií. Všechny úrovně testovací datové sady, které nejsou k dispozici v trénovací datové sadě, jsou namapovány na tuto další úroveň.

Výstup

Název Typ Description
Netrénovaný model ILearner – rozhraní Netrénovaný binární klasifikační model

Viz také

Classification
Seznam modulů A-Z