Sdílet prostřednictvím


Neurální síť se dvěma třídami

Vytvoří binární klasifikátor pomocí neuronové síťového algoritmu.

kategorie: Machine Learning/inicializovat Model/klasifikace

Poznámka

platí pro: jenom Machine Learning Studio (classic)

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

Přehled modulu

tento článek popisuje, jak pomocí modulu neuronové network module v Machine Learning studiu (classic) vytvořit neuronové síťový model, který se dá použít k předpovědi cíle, který má jenom dvě hodnoty.

Klasifikace pomocí sítě neuronové je metoda učení pod dohledem a proto vyžaduje tagované datové sady, která obsahuje sloupec popisku. Tento model sítě neuronové můžete použít například k předpovědi binárních výsledků, jako je například to, zda pacient má určitou chorobu nebo zda je počítač v zadaném časovém období pravděpodobně neúspěšný.

Po definování modelu můžete ho vytvořit pomocí tagované datové sady a modelu jako vstupu do modelu výuky nebo ladit parametry modelu. K předpovědi hodnot pro nové vstupy pak můžete použít trained model.

Další informace o neuronovéch sítích

Neuronové síť je sada vzájemně propojených vrstev. Vstupy jsou první vrstva a jsou připojeny ke výstupní vrstvě pomocí grafu acyklického, který se skládá z váženého okraje a uzlů.

Mezi vstupní a výstupní vrstvou můžete vložit více skrytých vrstev. Většinu prediktivních úloh je možné snadno dosáhnout pouze pomocí jedné nebo několika skrytých vrstev. Poslední výzkum ale ukázal, že rozsáhlé sítě neuronové (DNN) s mnoha vrstvami můžou být velmi efektivní v složitých úlohách, jako je rozpoznávání obrázků nebo řeči. Po sobě jdoucí vrstvy se používají k modelování rostoucí úrovně sémantické hloubky.

Vztah mezi vstupy a výstupy se od školení sítě neuronové ke vstupním datům dozvěděl. Směr grafu pokračuje ze vstupů přes skrytou vrstvu a do výstupní vrstvy. Všechny uzly ve vrstvě jsou propojeny váženou hranou k uzlům v další vrstvě.

Chcete-li vypočítat výstup sítě pro konkrétní vstup, hodnota je vypočítána na každém uzlu ve skrytých vrstvách a ve výstupní vrstvě. Hodnota je nastavena výpočtem váženého součtu hodnot uzlů z předchozí vrstvy. Na tento vážená suma se pak aplikuje aktivační funkce.

Jak nakonfigurovat Two-Class neuronové síť

  1. Přidejte modul neuronové Network Network do experimentu v studiu (Classic). tento modul můžete najít v části Machine Learning, Initialize, v kategorii klasifikace .

  2. Určete, jak chcete model vyškolet nastavením možnosti vytvořit Trainer režim .

    • Jeden parametr: tuto možnost vyberte, pokud už víte, jak chcete model nakonfigurovat.

    • Rozsah parametrů: tuto možnost vyberte, pokud si nejste jisti nejlepšími parametry. Pak zadejte rozsah hodnot a použijte modul ladění modelu ladění pro iteraci kombinací a najděte optimální konfiguraci.

  3. V případě specifikace skryté vrstvyvyberte typ síťové architektury, která se má vytvořit.

    • Plně připojený případ: používá výchozí neuronové síťovou architekturu definovanou pro neuronové sítě se dvěma třídami, jak je znázorněno níže:

      • Má jednu skrytou vrstvu.

      • Výstupní vrstva je plně připojená ke skryté vrstvě a skrytá vrstva je plně připojená ke vstupní vrstvě.

      • Počet uzlů ve vstupní vrstvě se rovná počtu funkcí v školicích datech.

      • Počet uzlů ve skryté vrstvě je nastaven uživatelem. Výchozí hodnota je 100.

      • Počet uzlů se rovná počtu tříd. Pro neuronové síť se dvěma třídami to znamená, že všechny vstupy musí být namapovány na jeden ze dvou uzlů ve výstupní vrstvě.

    • Vlastní definice skriptu: tuto možnost vyberte, pokud chcete vytvořit vlastní neuronové síťovou architekturu pomocí jazyka net #. Pomocí této možnosti můžete definovat počet skrytých vrstev, jejich připojení a mapování mezi vrstvami.

    Po výběru možnosti vlastní skript v textovém poli definice sítě neuronové zadejte nebo vložte příkazy NET #, které definují síť. Příklady najdete v tématu Příručka k jazyku specifikace NET # neuronové Networks.

  4. Pokud nepoužíváte možnost skriptu, použijte Počet skrytých uzlůa zadejte počet skrytých uzlů. Výchozím nastavením je jedna skrytá vrstva s 100 uzly.

  5. v případě Učení mírydefinujte před opravou velikost kroku provedeného v každé iteraci. Větší hodnota pro studijní kurzy může způsobit, že se model konverguje rychleji, ale může vyhodnotit místní minima.

  6. Pro počet iterací učeníurčete maximální počet pokusů, kolikrát by měl algoritmus zpracovat školicí případy.

  7. Pro průměr počátečních vah pro studiumurčete tloušťku uzlů na začátku procesu učení.

  8. Pro potenciálzadejte váhu, která se má použít při učení na uzly z předchozích iterací.

  9. V typu Normalizevyberte metodu, která se má použít pro normalizaci funkcí. Podporovány jsou následující metody normalizace:

    • Binningu Normalizer: modul binningu Normalizer vytváří přihrádky se stejnou velikostí a pak normalizuje každou hodnotu v každé přihrádce vydělený celkovým počtem přihrádek.

    • Gaussovské normalizace: Gaussovské normalizuje přeškáluje hodnoty každé funkce na střední hodnotu 0 a odchylku 1. To se provádí výpočetem střední hodnoty a odchylky jednotlivých funkcí. U každé instance se střední hodnota odečte a výsledek dělený druhou odmocninou odchylky (směrodatná odchylka).

    • Min-max Normalizer: funkce min-max normalizuje Lineární škálování každé funkce na interval [0, 1].

      Změna měřítka intervalu [0, 1] se provádí posunutím hodnot každé funkce tak, aby minimální hodnota byla 0 a pak se vydělí novou maximální hodnotou (což je rozdíl mezi původní maximální a minimální hodnotou).

    • Nenormalizovat: není provedena žádná normalizace.

  10. Vyberte možnost náhodné příklady pro náhodné případy mezi iteracemi. Pokud zrušíte výběr této možnosti, jsou případy zpracovávány přesně stejným způsobem pokaždé, když spustíte experiment.

  11. Pro počáteční číslo semenzadejte hodnotu, která se má použít jako počáteční hodnota.

    Zadání počáteční hodnoty je užitečné, pokud chcete zajistit opakovatelnost v rámci jednoho spuštění stejného experimentu. V opačném případě se jako počáteční hodnota použije systémová časová hodnota, která může při každém spuštění experimentu způsobit mírně odlišné výsledky.

  12. Vyberte možnost Povolení neznámých úrovní kategorií a vytvořte seskupení pro neznámé hodnoty v sadách pro školení a ověření. Model může být méně přesný u známých hodnot, ale poskytuje lepší předpovědi pro nové (neznámé) hodnoty.

    Pokud zrušíte výběr této možnosti, může model přijímat pouze hodnoty obsažené v školicích datech.

  13. Přidejte do experimentu tagované datové sady a propojte jeden ze školicích modulů.

    • Pokud nastavíte režim vytvořit Trainer na jeden parametr, použijte modul vlakového modelu .

    • Pokud nastavíte režim vytvořit Trainer na rozsah parametrů, použijte modul ladit model s parametry .

    Poznámka

    Pokud předáte rozsah parametru pro vlakový model, použije se pouze první hodnota v seznamu rozsah parametrů.

    Pokud předáte jednu sadu hodnot parametrů do modulu předparametrů modelu ladění , když očekává rozsah nastavení pro každý parametr, ignoruje hodnoty a použije výchozí hodnoty pro učit se.

    Pokud vyberete možnost rozsahu parametrů a pro libovolný parametr zadáte jedinou hodnotu, použije se tato jediná hodnota v celém období, a to i v případě, že se jiné parametry mění v rámci rozsahu hodnot.

  14. Spusťte experiment.

Výsledky

Po dokončení školení:

  • Chcete-li zobrazit souhrn parametrů modelu, společně s váhy funkcí zjištěnými ze školení a dalšími parametry sítě neuronové, klikněte pravým tlačítkem myši na výstup výukového modelu nebo ladit modely parametrůa vyberte vizualizovat.

  • Pokud chcete uložit snímek výukového modelu, klikněte pravým tlačítkem na výstup trained model a vyberte Uložit jako trained model. Tento model není aktualizován při následných spuštěních stejného experimentu.

  • Chcete-li provést křížové ověřování u označených datových sad, připojte nevlakový model k modelu křížovéhoověřování.

Příklady

Příklady použití tohoto algoritmu učení najdete v Azure AI Gallery. Tyto experimenty jsou v relaci a popsány v jednom dokumentu, který pokračuje ze základního na pokročilé konfigurace:

Technické poznámky

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

Další informace o NET #

v Machine Learning studiu (classic) můžete přizpůsobit architekturu neuronové síťového modelu pomocí jazyka Net #. Mezi vlastní nastavení podporované jazykem NET # patří:

  • Určení počtu skrytých vrstev a počtu uzlů v každé vrstvě
  • Určení mapování mezi vrstvami
  • Definování sad konvoluce a sady pro sdílení vah
  • Výběr funkce aktivace

Model sítě neuronové je definován strukturou grafu, který zahrnuje tyto atributy:

  • Počet skrytých vrstev
  • Počet uzlů v každé skryté vrstvě
  • Způsob propojení vrstev
  • Která aktivační funkce se používá
  • Váhy na okrajích grafu

Důležité

Celkovou strukturu grafu a také funkci aktivace může zadat uživatel. Váhy na hranách však nelze zadat a je třeba se naučit při výuce neuronové sítě na vstupních datech.

Obecně platí, že síť má následující výchozí hodnoty:

  • První vrstva je vždy vstupní vrstva.
  • Poslední vrstva je vždy výstupní vrstva.
  • Počet uzlů ve výstupní vrstvě by měl být roven počtu tříd.

Můžete definovat libovolný počet mezivrstev (někdy označovaných jako skryté vrstvy), protože jsou obsaženy v modelu a nejsou přímo vystaveny jako koncové body.

Referenční příručka rozhraní .NET # vysvětluje syntaxi a poskytuje ukázkové definice sítě. Vysvětluje, jak můžete pomocí rozhraní NET # přidat skryté vrstvy a definovat způsob, jakým různé vrstvy vzájemně komunikují.

Například následující skript používá auto klíčové slovo, které nastavuje počet funkcí automaticky pro vstupní a výstupní vrstvy a používá výchozí hodnoty pro skrytou vrstvu.

input Data auto;  
hidden Hidden auto from Data all;  
output Result auto from Hidden all;   

Další příklady skriptu najdete v tématu Příručka k jazyku specifikace NET # neuronové Networks.

Tip

Neuronové sítě je možné z důvodu řady parametrů a zavedení vlastních topologií sítě vycházet z výpočetní náročnosti. I když v mnoha případech sítě neuronové poskytují lepší výsledky než jiné algoritmy, získání těchto výsledků může zahrnovat poctivou velikost (iterací) nad parametry.

Parametry modulu

Name Rozsah Typ Výchozí Description
Skrytá specifikace vrstvy Seznam Topologie sítě neuronové Případ plně propojeného Určení architektury skryté vrstvy nebo vrstev
Průměr počátečních vah pro studium >= Double. Kurzív Float 0.1 Určení tloušťky uzlů na začátku procesu učení
Rychlost učení klepat. Epsilon; 1,0] Float 0.1 Zadejte velikost každého kroku v procesu učení.
Potenciál [0,0; 1,0] Float 0,0 Zadejte váhu, která se má použít při učení pro uzly z předchozích iterací.
Definice sítě neuronové Všechny StreamReader Po výběru vlastního skriptu definicezadejte do každého řádku platný výraz skriptu pro definování vrstev, uzlů a chování vlastní neuronové sítě.
Typ normalizace Seznam Metoda normalizace Min-Max Normalizer Vyberte typ normalizace, který se použije na příklady učení.
Počet iterací učení >= 1 Integer 100 Zadejte počet iterací provedených během učení.
Náhodné příklady Všechny Logická hodnota true Tuto možnost vyberte, pokud chcete změnit pořadí instancí mezi iteracemi učení.
Počáteční počáteční číslo Všechny Integer Zadejte číselné osazení, které se má použít pro generování náhodných čísel. Ponechte prázdné, pokud chcete použít výchozí počáteční hodnotu.
Povolení neznámých úrovní kategorií Všechny Logická hodnota Ano Bylo uvedeno, zda má být pro neznámé kategorie vytvořená další úroveň. Pokud testovací datová sada obsahuje kategorie, které nejsou k dispozici v datové sadě školení, jsou namapovány na tuto neznámou úroveň.

Výstup

Název Typ Description
Nevlakový model Rozhraní ILearner Nevýukový binární klasifikační model

Viz také

Classification
Regrese neurální sítě
Neurální síť s více třídami
Seznam modulů a-Z