Microsoft techniczne sieci neuronowe algorytmu

Microsoft Używa sieci neuronowe Multilayer perceptron sieci, nazywany również sieci reguły Delta Back-Propagated, składać się z maksymalnie trzy warstwy neurons, lub perceptrons.Te warstwy są wprowadzania warstwy, opcjonalne warstwy ukryte i warstwy wyjściowego.

Szczegółowe omówienie sieci neuronowe Multilayer Perceptron znajduje się poza zakres tej dokumentacji.W tym temacie wyjaśniono podstawowe stosowania algorytmu, w tym metoda zastosowanej do znormalizowania wejściowe i wartości wyjściowych i funkcji wybór metoda używane w celu zredukowania Kardynalność atrybut.W tym temacie opisano parametry i inne ustawienia, które można dostosować zachowanie algorytm i łącza do dodatkowych informacji o przeszukiwaniu modelu.

Implementacja algorytmu neuronowe sieci Microsoft

W sieci neuronowe Multilayer Perceptron neuron każdego otrzymuje jeden lub więcej składników produkcji i tworzy jeden lub więcej identycznych wyjść.Każdy wynikowy jest prosty nieliniowej funkcja kwoty nakładów do neuron.Nakładów przekazać dalej z węzłów w wejściowy warstwy węzły w ukrytej warstwie, a następnie przekazać ukryte warstwy do warstwy produkcji; nie ma żadnych połączeń między neurons w obrębie danej warstwy.Jeśli nie warstwy ukryte jest uwzględniony w logistyczne regresja modelu nakładów przekazać do przodu bezpośrednio z węzłów w wejściowy warstwy do węzłów w warstwie danych wyjściowych.

Istnieją trzy typy neurons w sieci neuronowe, który jest tworzony z Microsoft algorytm sieci neuronowe:

  • Input neurons

Wejściowy neurons podać wartości atrybutu wprowadzania danych model wyszukiwania.Discrete atrybuty wprowadzania wprowadzania neuron zazwyczaj reprezentuje jedno Państwo z wejściowych atrybut.Zawiera brakujących wartości, jeśli dane szkolenia zawierają wartości NULL dla tego atrybut.Discrete atrybut wejściowy, który ma więcej niż dwa stany generuje jeden neuron wejściowe dla każdego Państwa i jednego neuron wejściowe dla stanu Brak, jeśli nie ma żadnych wartości null w dane szkolenia.Ciągłego wprowadzania atrybut generuje dwa neurons wejściowy: jeden neuron brakujący Państwo i neuron jednej wartości atrybut ciągłego, sam.Wejściowy neurons dostarcza dane wejściowe do jednego lub kilku ukrytych neurons.

  • Hidden neurons

Neurons ukryte odbierać dane wejściowe z wprowadzania neurons i zapewniają wyjść do wyprowadzenia neurons.

  • Output neurons

Neurons wyjścia reprezentują wartości atrybut przewidywalne danych model wyszukiwania.Discrete atrybut wprowadzania neuron wyjścia zazwyczaj reprezentuje pojedyncze Państwo przewidywane dla atrybut przewidywalny, łącznie z brakujących wartości.Na przykład binarne przewidywalne atrybut daje jeden węzeł wyjściowy, który opisuje stan brakujące lub istniejących, aby wskazać, czy istnieje wartość dla tego atrybut.A wartość logiczna kolumna, która jest używana jako atrybut przewidywalne generuje trzy neurons dane wyjściowe: jeden neuron na wartość true, jeden neuron na wartość false i jednego neuron brakujące lub istniejącego stanu.Discrete atrybut przewidywalny, który ma więcej niż dwa stany generuje jedno wyjście neuron dla każdego Państwa i jedno wyjście neuron brakujące lub istniejącego stanu.Ciągłe kolumn przewidywalny generować neurons dwa wyjścia: neuron jeden dla brakujących lub istniejącego stanu i neuron jednej ciągłej wartości kolumna sobie.Jeśli więcej niż 500 neurons dane wyjściowe są generowane przeglądając zestaw kolumn przewidywalny, Usługi Analysis Services generuje nowej sieci w model wyszukiwania do reprezentowania dodatkowej produkcji neurons.

Neuron otrzymuje dane wejściowe z innych neurons lub z innych danych, w zależności od tego, jakiej warstwy sieci jest.Neuron wprowadzania odbiera dane wejściowe z oryginalnych danych.Ukryte neurons i neurons dane wyjściowe otrzymują nakładów wyjściowych innych neurons w sieci neuronowe.Nakłady ustanowić relacje między neurons i relacje służą jako ścieżka analizy dla określonego zestaw przypadków.

Każdy obraz wejściowy ma wartość powierzone mu o nazwie wagi, które opisuje przydatności lub znaczenie dane wejściowe określonego ukryte neuron lub neuron dane wyjściowe.Im większa waga przypisane dane wejściowe, bardziej odpowiednie lub ważnych wartości dane wejściowe.Wagi mogą być ujemne, co oznacza, że dane wejściowe można powstrzymanie zamiast aktywować określonego neuron.Wartość każdego wprowadzania zostaje pomnożona przez masę, aby podkreślić znaczenie danych wejściowych dla określonych neuron.Dla odważników negatywne skutki pomnożenie wartości przez wagę jest Analizując znaczenie.

Każdy neuron ma proste nieliniowej funkcji powierzonych mu o nazwie funkcja aktywacja, który opisuje przydatności lub znaczenie poszczególnych neuron do warstwy sieci neuronowe.Ukryte użycia neurons tangens hiperboliczny funkcji (tanh) dla ich funkcji aktywacja należy wyjściowe użycia neurons sigmoid funkcja aktywacja.Obie funkcje są nieliniowych, ciągłej funkcji, które pozwalają sieci neuronowe do modeli nieliniowych relacje między neurons wejściowych i wyjściowych.

Sieci neuronowe kształcenia

Kilka kroków są zaangażowane w dane szkolenia model wyszukiwania używający Microsoft sieci neuronowe algorytmu.Wartości określające parametry algorytmu silnie wpływa na następujące kroki.

Algorytm najpierw ocenia i wyodrębnia szkolenia dane ze źródło danych.Procent dane szkolenia, zwane dane wstrzymania, jest zarezerwowana do użytku w ocenie dokładności sieci.Podczas całego procesu szkolenia sieci jest oceniany bezpośrednio po każdej iteracji w dane szkolenia.Gdy już powoduje zwiększenie dokładności procesu szkolenia jest zatrzymana.

Wartości SAMPLE_SIZE i HOLDOUT_PERCENTAGE Parametry są używane do określania liczby przypadków do próbkowania danych szkolenia i liczbę przypadków, być odłożone dla dane wstrzymania.Wartość HOLDOUT_SEED parametr jest używany do określenia losowo indywidualnych przypadkach być odłożone dla dane wstrzymania.

Ostrzeżenie

Te parametry algorytmu różnią się od właściwości HOLDOUT_SIZE i HOLDOUT_SEED, które są stosowane do struktura wyszukiwania zdefiniowanie testów zestaw danych.

Algorytm dalej określa liczbę i złożoność sieci, model wyszukiwania obsługuje.model wyszukiwania zawiera jeden lub więcej atrybutów, które są używane tylko do przewidywanie, algorytm tworzy pojedynczej sieci, reprezentującą takie atrybuty.Jeśli model wyszukiwania zawiera jeden lub więcej atrybut, które są używane do wprowadzania i przewidywanie, dostawca algorytm konstrukcje sieci dla każdego atrybut.

Wejściowe i przewidywalny atrybuty dyskretnych wartości Każda neuron wejściowego lub wyjściowego reprezentuje odpowiednio jednego Państwa.Wejściowe i przewidywalny atrybuty, które mają stałe wartości każdego wejścia lub wyjścia neuron odpowiednio reprezentuje zakres i dystrybucji wartości dla atrybut.Maksymalna liczba państw, obsługiwany w każdym przypadek zależy od wartości MAXIMUM_STATES parametr algorytmu.Jeśli liczba Państw dla określonego atrybut, przekracza wartość MAXIMUM_STATES parametr algorytmu wybrano państw najbardziej popularnych lub istotne dla tego atrybut, maksymalnie do maksymalnej liczby dozwolonych, Państwa i pozostałe Państwa są pogrupowane jako brakujące wartości do celów analizy.

Algorytm wykorzystuje wartość HIDDEN_NODE_RATIO parametr podczas określania początkowy numer neurons, aby utworzyć warstwy ukryte.zestaw HIDDEN_NODE_RATIO 0, aby zapobiec tworzeniu warstwy ukryte w sieciach, które generuje algorytm dla model wyszukiwania, zaliczenie sieci neuronowe logistyczne regresja.

Dostawca algorytm wielokrotnie powtarzane ocenia wagę dla wszystkich danych wejściowych przez sieć w tym samym czas, zestaw danych szkolenia, wcześniej zarezerwowana i porównywania rzeczywistej znanej wartości dla każdego przypadek w wstrzymanie danych z sieci przewidywanie, w proces znany jako nauki partia.Po algorytm oceniła cały zestaw kształcenia danych, algorytm przegląda przewidywanych i rzeczywistych wartości dla każdego neuron.Algorytm oblicza błędu, jeśli i dostosowuje wagi skojarzonych z wejścia dla tego neuron pracy wstecz z neurons dane wyjściowe do wprowadzania neurons w proces znany jako backpropagation.Następnie algorytm powtarza cały proces przez cały zestaw danych szkoleniowych.Ponieważ algorytm można obsługiwać wiele wag i wyjścia neurons, koniugat algorytm gradientu jest używana do przeprowadzenia procesu szkolenia przypisywanie i oceny wagi dla danych wejściowych.Omówienie koniugat algorytm gradientu jest poza zakres tej dokumentacji.

Wybieranie funkcji

Jeśli liczba danych wejściowych atrybutów jest większa niż wartość MAXIMUM_INPUT_ATTRIBUTES parametr, lub jeśli liczba atrybutów przewidywalne jest większa niż wartość MAXIMUM_OUTPUT_ATTRIBUTES parametr algorytmu wyboru funkcja jest używana do zmniejszenia złożoności sieci, które są uwzględnione w model wyszukiwania.Wybieranie funkcji zmniejsza liczbę atrybutów przewidywalnego lub wejściowe do tych, które są najbardziej statystycznie istotne do modelu.

Wybieranie funkcji jest automatycznie używany przez wszystkie Usługi Analysis Services algorytmów wyszukiwanie danych w celu poprawy analizy i zmniejszyć obciążenia przetwarzania.Metoda używana dla funkcji zaznaczenia w modelach sieci neuronowe zależy od typu danych atrybut.W poniższej tabela przedstawiono metody zaznaczania funkcja używana dla sieci neuronowe modeli dla odwołania i zawiera także funkcję metody zaznaczania algorytm regresją oparte na algorytmie sieci neuronowe.

Algorytm

Metoda analizy

Komentarze

Sieci neuronowe

Wynik interestingness

Entropia firmy Shannon

Bayesian z uprzednią K2

Bayesian Dirichlet z jednolitego przed (domyślnie)

Algorytm sieci neuronowe można użyć obu metod, jak danych zawiera kolumny ciągłe.

Domyślny.

Regresją

Wynik interestingness

Entropia firmy Shannon

Bayesian z uprzednią K2

Bayesian Dirichlet z jednolitego przed (domyślnie)

Ponieważ parametru nie można przekazać do tego algorytmu w celu sterowania zachowaniem wybory funkcji, są używane ustawienia domyślne.Dlatego jeśli wszystkie atrybuty discrete lub discretized, wartość domyślna to BDEU.

Parametry algorytmu, kontrolujących wybieranie funkcji modelu sieci neuronowe są MAXIMUM_INPUT_ATTRIBUTES, MAXIMUM_OUTPUT_ATTRIBUTES i MAXIMUM_STATES.Można także kontrolować liczbę warstw ukrytych przez ustawienie parametru HIDDEN_NODE_RATIO.

Metody tworzenia wyników

Punktacja jest rodzajem normalizacji, która w kontekście kształcenia model sieci neuronowe oznacza proces konwertowania wartości, takie jak etykietę tekstową discrete na wartość, która może być w porównaniu z innymi typami danych wejściowych i ważone w sieci.Na przykład jeśli jeden atrybut wejściowy jest płci i możliwe wartości to samców i samic, a inny atrybut wejściowy jest dochód, z zakres wartości zmiennej, wartości dla każdego atrybutu nie są bezpośrednio porównywalne i dlatego muszą być kodowane do wspólnej skali, dzięki czemu można obliczyć wagi.Punktacja jest procesem normalizowanie takie dane wejściowe do wartości numeryczne: w szczególności aby zakres prawdopodobieństwa.Funkcje używane do normalizacji pomagają rozpowszechniać wartość wejściowa bardziej równomiernie na skalę jednolitego tak, aby wartości skrajnych nie zniekształcić wyniki analizy.

Wyjść sieci neuronowe są również kodowane.Kiedy istnieje jeden miejsce docelowe wyjściowy (czyli przewidywanie) lub wiele elementów miejsce docelowe, które są używane do przewidywanie tylko nie dla danych wejściowych, model tworzenie pojedynczej sieci i wydaje nie normalizowanie wartości.Jednak wiele atrybutów są używane do wprowadzania i przewidywanie, model należy utworzyć wiele sieci; Dlatego wszystkie wartości muszą być znormalizowane i wyjść zbyt muszą być kodowane zgodnie z ich zakończenia sieci.

Kodowanie danych wejściowych jest oparty na zsumowanie poszczególnych dyskretnych wartości w przypadkach szkolenia i pomnożenie wartości przez jego wagę.Jest to sumy ważonej w, który jest przekazywany do funkcja aktywacja w ukrytej warstwie.Wynik z jest używany do kodowania, w następujący sposób:

Dyskretnych wartości

Μ = p — prawdopodobieństwo wcześniejszego stanu

OdchStd = sqrt(p(1-p))

Wartości stałe

Obecna wartość = 1 - μ i σ

Nie istniejącą wartość = - μ i σ

Po wartości są zakodowane, nakładów przejść przez zsumowanie ważonej, krawędzie sieci jako wagi.

Kodowanie wyjściowe używa funkcja sigmoid, która ma właściwości, które bardzo użyteczna do przewidywanie.Takiej właściwość jest fakt, że niezależnie od sposobu skalowania oryginalne wartości, i niezależnie od tego, czy wartości są dodatnia lub ujemna, wyjścia z tej funkcja jest zawsze wartości między 0 i 1, który jest odpowiedni do oszacowania prawdopodobieństwa.Innej właściwość użyteczne jest, że efekt wygładzania, funkcja sigmoid tak jak wartości przesuwa się dalej od punktu przegięcia, prawdopodobieństwo wartości posunięć w kierunku 0 lub 1, ale powoli.

Dostosowywanie algorytm sieci neuronowe

Microsoft Sieci neuronowe algorytm obsługuje kilka parametrów, które wpływają na zachowanie, wydajność i dokładność wyniku model wyszukiwania.Można także modyfikować sposób, w jaki model przetwarzania danych przez ustawienie modelowania flag w kolumnach, lub ustawienie flagi dystrybucji, aby określić sposób obsługi wartości kolumna.

Ustawianie parametrów algorytmu

W poniższej tabela opisano parametry, które mogą być używane z algorytmu sieci neuronowe firmy Microsoft.

  • HIDDEN_NODE_RATIO
    Określa stosunek ukryte neurons do wejścia i wyjścia neurons.Następująca formuła: Określa początkową liczbę neurons w ukrytej warstwie:

    HIDDEN_NODE_RATIO * SQRT (suma wprowadzania neurons * całkowita wyjściowe neurons)

    Wartość domyślna to 4,0.

  • HOLDOUT_PERCENTAGE
    Określa procent przypadków w dane szkolenia, użyte do obliczenia błąd wstrzymanie, który jest używany jako część kryteriów zatrzymania podczas szkolenia model wyszukiwania.

    Wartość domyślna to 30.

  • HOLDOUT_SEED
    Określa numer, który jest używany do materiału siewnego pseudolosowych generator, gdy losowo Określa algorytm dane wstrzymania.Jeśli ten parametr jest zestaw 0, algorytm generuje materiału siewnego na podstawie nazwy modelu górnictwa, aby zagwarantować, że zawartość modelu pozostaje taka sama podczas ponownego przetwarzania.

    Wartość domyślna to 0.

  • MAXIMUM_INPUT_ATTRIBUTES
    Określa maksymalną liczbę wejściowych atrybutów, które mogą być dostarczane do algorytmu przed Wybieranie funkcji jest zatrudniony.Ustawienie wartości 0 powoduje wyłączenie zaznaczenia funkcji wprowadzania atrybutów.

    Wartość domyślna to 255.

  • MAXIMUM_OUTPUT_ATTRIBUTES
    Określa maksymalną liczbę atrybutów wyjścia, które mogą być dostarczane do algorytmu przed zatrudnionych Wybieranie funkcji.Ustawienie wartości 0 powoduje wyłączenie funkcji zaznaczenia Wyjście atrybutów.

    Wartość domyślna to 255.

  • MAXIMUM_STATES
    Określa maksymalną liczbę discrete Państwa na atrybut, który jest obsługiwany przez algorytm.Jeśli liczba Państw dla określonego atrybut jest większa niż liczba określona dla tego parametru, algorytm wykorzystuje większość popularnych Państwa dla tego atrybut i traktuje jako brakujące pozostałe Państwa.

    Wartość domyślna to 100.

  • SAMPLE_SIZE
    Określa liczbę przypadków, zostanie wykorzystana na szkolić modelu.Algorytm używa tego numeru lub procent sumy nie uwzględnione w przypadkach dane wstrzymania określone przez parametr wstrzymanie_PERCENTAGE, niezależnie od wartości jest mniejsza.

    Innymi słowy Jeśli jest HOLDOUT_PERCENTAGE zestaw 30, używa algorytmu wartość tego parametru lub wartość równą 70 procent całkowitej liczby przypadków, mniejsza.

    Wartość domyślna to 10000.

Modelowanie flag

Obsługiwane są następujące flagi modelowania do użytku z Microsoft sieci neuronowe algorytmu.

  • NOT NULL
    Wskazuje, że kolumna nie może zawierać wartość null.Spowoduje błąd, jeśli usługi Analysis Services napotka null podczas szkolenia modelu.

    Stosuje się do struktura wyszukiwania kolumny.

  • MODEL_EXISTENCE_ONLY
    Wskazuje model tylko należy rozważyć czy istnieje wartość atrybut lub jeśli wartość Brak.Dokładna wartość nie ma znaczenia.

    Stosuje się do model wyszukiwania kolumny.

Flagi dystrybucji

Obsługiwane są następujące flagi dystrybucji do użytku z Microsoft sieci neuronowe algorytmu.Flagi są wykorzystywane jako wskazówki do modelu Algorytm wykrywa różnych dystrybucji zostanie użyte znaleziony rozkład, nie dystrybucji w wskazówka.

  • Normalny
    Wskazuje, że wartości kolumna powinny być traktowane tak, jakby reprezentują rozkładu normalnego lub gaussowskie.

  • Jednolite
    Wskazuje, że wartości kolumna powinny być traktowane tak, jakby są rozłożone w sposób jednolity; oznacza to, że prawdopodobieństwo wartości jest w przybliżeniu równa i jest funkcja z całkowitej liczby wartości.

  • Normalny dziennika
    Wskazuje, że wartości kolumna powinny być traktowane tak, jakby dystrybuowane zgodnie z dziennika normalnej krzywej, która oznacza logarytm naturalny wartości jest zwykle rozpowszechniane.

Wymagania

Model sieci neuronowe musi zawierać co najmniej jedną kolumna danych wejściowych i kolumna Wyjście.

Dane wejściowe i przewidywalny kolumn

Microsoft Sieci neuronowe algorytm obsługuje określonych kolumn danych wejściowych i przewidywalny kolumn, które są wymienione w poniższej tabela.

Kolumna

Typy zawartości

Atrybut wejściowy

Ciągłe, cykliczne, dyskretnych, Discretized klucza tabeli i Zamówione

Przewidywalne atrybut

Ciągłe, cykliczne, dyskretnych, Discretized i Zamówione

Ostrzeżenie

Obsługiwane są typy zawartości Cyclical i Zamówione, ale algorytm traktuje je jako dyskretnych wartości i nie wykonuje przetwarzania specjalnego.