Udostępnij za pośrednictwem


Microsoft Network neuronowe algorytm informacje techniczne

The Microsoft Neural Network uses a Multilayer Perceptron network, also called a Back-Propagated Delta Rule network, composed of up to three layers of neurons, or perceptrons.Te warstwy są warstwę wejściowego, warstwę ukryte opcjonalne i warstwę danych wyjściowych.

Szczegółowe omówienie sieci neuronowe Perceptron Multilayer wykracza poza zakres tej dokumentacji.W tym temacie objaśniono podstawowe stosowania algorytmu, włączając w to metoda stosowana w celu ujednolicenia danych wejściowych i wyjściowych wartości i funkcji wyboru metody używane w celu zredukowania liczebność atrybut.W tym temacie opisano parametry i inne ustawienia, które można dostosować zachowanie algorytmu i zawiera łącza do dodatkowych informacji dotyczących wykonywania kwerend w modelu.

Implementacja algorytmu neuronowe sieci Microsoft

W sieci neuronowe Perceptron Multilayer każdego neuron odbiera dane wejściowe jednego lub kilku i tworzy jeden lub więcej identycznych wyjść.Każde dane wyjściowe są proste nieliniowej funkcją Suma wejść do neuron.Dane wejściowe przechodzić do przodu od węzłów wejściowych warstwie węzły w ukrytej warstwie, a następnie przekazać do warstwy produkcji z ukrytej warstwie; nie ma żadnych połączeń między neurons w warstwie.Nie ukrytej warstwie jest uwzględnione w modelu regresja logistyczne, dane wejściowe przesłać do przodu bezpośrednio z węzłów wejściowych warstwie węzły w warstwie danych wyjściowych.

Istnieją trzy typy neurons w neuronowe sieci, która jest tworzona z Microsoft Algorytm neuronowe sieci:

  • Input neurons

    Wejściowy neurons podać wartości wejściowe atrybut model wyszukiwanie danych.Discrete atrybut wejściowych, dla wejściowy neuron zazwyczaj reprezentuje jeden stan z wejściowych atrybut.Dotyczy to także 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 wejściowy neuron jeden dla każdego województwa i jeden neuron wejściowych w stanie Brak, jeśli nie ma żadnych wartości null w danych szkoleniowych.Ciągłe atrybut wejściowy generuje dwóch neurons wejściowe: jeden neuron brak stanu i neuron jednej wartości atrybut ciągłego sam. Wejściowy neurons zawierają dane wejściowe do jednego lub kilku ukrytych neurons.

  • Hidden neurons

    Ukryte neurons odbierać dane wejściowe z wejściowych neurons i zapewniają wyjść do wyprowadzenia neurons.

  • Output neurons

    Dane wyjściowe neurons reprezentują wartości atrybut przewidywalne dla modeli wyszukiwanie danych.Discrete atrybut wejściowych, dla neuron wyjścia zazwyczaj reprezentuje jeden stan przewidywane dla atrybut przewidywalny, łącznie z brakujących wartości.Na przykład binarne atrybut przewidywalne tworzy jeden węzeł danych wyjściowych, opisujący stanie Brak lub istniejących, wskazującą, czy wartość istnieje dla tego atrybutu.kolumna typu logiczny, która jest używana jako wartość atrybut przewidywalne generuje trzy neurons danych wyjściowych: jeden neuron na wartość true, neuron jednego dla wartości false i jeden neuron w stanie Brak lub istniejącego. Discrete atrybut dający się przewidzieć, który ma więcej niż dwa stany generuje jeden neuron wyjściowego dla każdego stanu i dane wyjściowe jednego neuron w stanie Brak lub istniejące.Ciągłe kolumn przewidywalne generować neurons dwa wyjścia: jeden neuron w stanie Brak lub istniejących, a jeden neuron wartości ciągłej kolumnie, sam. Jeśli więcej niż 500 neurons dane wyjściowe są generowane przez zestaw kolumn przewidywalny, przeglądanie Analysis Services generuje nową sieć w model wyszukiwania do reprezentowania neurons dodatkowe dane wyjściowe.

A neuron odbiera dane wejściowe z innych neurons lub z innych danych, w zależności od tego, jakie warstwy sieci jest.Wejściowy neuron odbiera dane wejściowe za pomocą oryginalnych danych.Neurons ukryte i dane wyjściowe neurons otrzymują dane wejściowe z danych wyjściowych innego neurons neuronowe sieci.Dane wejściowe ustanowić relacji między neurons, a relacje służą jako ścieżka analizy dla określonego zestaw przypadków.

Każde wejście jest przypisywana do niej o nazwie Waga, opisujących istotności lub ważność tego określonego dane wejściowe do ukrytego neuron lub neuron danych wyjściowych.Im większa waga, przypisany do dane wejściowe, bardziej istotne i ważne wartości tego dane wejściowe.Wagi może być ujemne, co oznacza, że dane wejściowe mogą wstrzymywania, zamiast uaktywnić neuron określonych.Wartość każdego danych wejściowych jest mnożona przez wagi, aby podkreślić znaczenie danych wejściowych dla określonych neuron.Ujemne wag efekt pomnożenie wartości przez waga jest deemphasize znaczenie.

Każdy neuron ma prosty funkcji nieliniowej przypisane do niego o nazwie Funkcja aktywacja, opisujących istotności lub ważność określonego neuron do tej warstwy neuronowe sieci.Ukryte neurons użycia tangens hiperboliczny Funkcja ( TANH) do ich funkcji aktywacja neurons wyników stosowania sigmoid funkcja aktywacja.Obie funkcje są nieliniowych, ciągłego funkcji, które pozwalają neuronowe sieci do modeli nieliniowych relacji między neurons wejściowych i wyjściowych.

Szkolenie neuronowe sieci

Kilka kroków obejmuje szkolenia model wyszukiwanie danych, który używa Microsoft Algorytm neuronowe sieci. Te kroki są silnie wpływ wartości określonych parametrów algorytmu.

Algorytm najpierw ocenia i wyodrębnia szkolenia dane ze urządzenie źródłowe danych.Procent dane szkolenia, zwane wstrzymanie danych, jest zarezerwowana do użytku w ocenie dokładności w sieci.Przez cały czas trwania procesu kształcenia sieci jest oceniany bezpośrednio po każdej iteracji przez dane szkolenia.Gdy już powoduje zwiększenie dokładności procesu kształcenia jest zatrzymana.

Wartości SAMPLE_SIZE i HOLDOUT_PERCENTAGE Parametry są używane do określania liczbę przypadków, aby pobrać próbkę danych szkolenia i liczba przypadków umieszczenie przeznaczonych dla dane wstrzymania. Wartość HOLDOUT_SEED parametr jest używany do określenia losowo indywidualnych przypadkach umieszczenie przeznaczonych dla dane wstrzymania.

Uwaga

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

Algorytm określa następny numer i stopnia złożoności sieci, które obsługuje model wyszukiwania.Jeśli model wyszukiwania zawiera jeden lub kilka atrybutów, które są używane tylko do przewidywanie, algorytm tworzy pojedynczej sieci, która reprezentuje wszystkie atrybuty.Jeśli model wyszukiwania zawiera jeden lub kilka atrybut, które są używane dla danych wejściowych i przewidywanie, dostawca algorytm konstruuje sieć dla każdego atrybut.

Wejściowe i przewidywalny atrybutów discrete wartości, dla każdego neuron wejściowego lub wyjściowego odpowiednio przedstawia stan pojedynczy.Dla danych wejściowych i przewidywalny atrybut, które mają stałe wartości każdego wejściowych lub wyjściowych neuron odpowiednio reprezentuje zakres i dystrybucji wartości dla atrybut.Maksymalna liczba stanów, obsługiwana w obu przypadek zależy od wartości MAXIMUM_STATES parametr algorytmu. Jeśli liczba stanów dla określonego atrybut przekracza wartość MAXIMUM_STATES parametr algorytmu stany najbardziej popularnych lub odpowiednie dla tego atrybut są wybrane, więcej niż maksymalną liczbę dozwolonych, Stany i pozostałych stanów są zgrupowane jako brakujące wartości dla celów analizy.

Algorytm używa wartości HIDDEN_NODE_RATIO Parametr podczas określania początkową liczbę neurons do utworzenia w ukrytej warstwie. zestaw HIDDEN_NODE_RATIO 0, aby zapobiec tworzeniu ukrytej warstwie w sieci, że algorytm generuje model wyszukiwania należy traktować jako logistyczne regresja neuronowe sieci.

Dostawca algorytm iteratively ocenia wagę dla wszystkich danych wejściowych przez sieć w tym samym czasie, przez pobranie zestaw danych szkolenia, który został wcześniej zarezerwowane i porównywania rzeczywistej znanej wartości w każdym przypadku w dane wstrzymania z przewidywanie w sieci, w proces znany jako nauka partia.Po algorytm jest oceniany cały zestaw szkolenia w zakresie danych, algorytm przegląda przewidywanych i rzeczywistych wartości dla każdego neuron.Algorytm mieszania oblicza stopnia błędu, jeśli istnieje i dostosowuje wagi, które są skojarzone z danych wejściowych dla tego neuron Wstecz pracy z danych wyjściowych neurons wprowadzanie neurons w proces znany jako backpropagation.Algorytm następnie powtarza procesu przez cały zestaw danych szkoleniowych.Algorytm może obsługiwać wiele wag wyjściowy neurons, dlatego koniugat gradientu algorytm jest używany do kierowania procesem szkolenia przypisywanie i ocenę wagi dla danych wejściowych.Omówienie koniugat algorytm gradientu wykracza poza zakres tej dokumentacji.

Wybieranie funkcji

Jeśli liczba atrybutów wejściowych 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 funkcji jest używany do zmniejszenia stopnia złożoności sieci, które są uwzględnione w model wyszukiwania. Funkcja wyboru zmniejsza liczbę atrybutów wejściowe i przewidywalny do tych, które są najbardziej statystycznie istotne do modelu.

Zaznaczenie funkcji jest automatycznie używany przez wszystkie Analysis Services Załaduj algorytmów wyszukiwanie danych, aby zwiększyć analizy i skrócić przetwarzania. Metoda stosowana do wybranej funkcji w modelach neuronowe sieci zależy od typu danych atrybut.W poniższej tabela przedstawiono metody zaznaczania funkcja używana w przypadku modeli neuronowe sieci dla odwołania i zawiera także metody wybór funkcji, które są stosowane do algorytmu logistyczne regresja, który jest oparty na algorytmie neuronowe sieci.

Algorytm

Metoda analizy

Komentarze

Neuronowe sieci

Wynik interestingness

Entropy Shannon firmy

Bayesian z K2 Prior

Bayesian Dirichlet z jednolitego przed (domyślnie)

Algorytm neuronowe sieci można używać obu metod ciągłego kolumny zawierają dane.

Domyślny.

Regresja logistyczne

Wynik interestingness

Entropy Shannon firmy

Bayesian z K2 Prior

Bayesian Dirichlet z jednolitego przed (domyślnie)

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

Parametry algorytmu sterujące funkcji zaznaczania dla modelu neuronowe sieci są MAXIMUM_INPUT_ATTRIBUTES MAXIMUM_OUTPUT_ATTRIBUTES i MAXIMUM_STATES.Można również kontrolować liczbę warstw ukrytych, ustawiając parametr HIDDEN_NODE_RATIO.

Metody tworzenia wyników

Punktacja jest rodzajem normalizacji, co w kontekście szkolenia modelu sieci neuronowe oznacza proces konwersji do wartości, takiej jak na przykład etykietę tekstową discrete wartości, które mogą być w porównaniu z innymi typami danych wejściowych i obliczane w sieci.Na przykład jeśli jeden atrybut wejściowy jest płci i możliwe wartości to męski i gniazdowy, a inny atrybut wejściowy jest przychodów, ze zmiennej zakres wartości, wartości dla każdego atrybutu nie są porównywalne bezpośrednio i dlatego musi być zakodowany do wspólnej skali, dzięki czemu może być obliczone wagi.Punktacja jest procesem normalizowanie takie dane wejściowe do wartości numeryczne: w szczególności do zakres prawdopodobieństwa. Do rozpowszechniania wartości wejściowej bardziej równomiernie na jednolite skalę, aby wartości w skrajnej nie zniekształcanie wyniki analizy również pomocne dla funkcji, które służą do normalizacji.

Wyjście neuronowe sieci są również kodowane.Kiedy istnieje jeden miejsce docelowe dla danych wyjściowych (to znaczy przewidywanie) lub wiele elementów miejsce docelowe, służące do przewidywanie tylko nie dla danych wejściowych, model tworzenie pojedynczej sieci i może nie być konieczność ujednolicenia wartości.Niemniej jednak jeśli wiele atrybutów są używane do wprowadzania i przewidywanie modelu, należy utworzyć wiele sieci; dlatego wszystkie wartości muszą być znormalizowane i wyjść zbyt musi być zakodowany zgodnie z ich zakończyć pracę w sieci.

Kodowanie danych wejściowych jest oparty na jako suma wartości wszystkich discrete w przypadkach szkolenia i pomnożenie wartości przez jego wagę.Jest to Suma ważona, który jest przekazywany do funkcja Aktywacja w ukrytej warstwie.Wynik z jest używany do kodowania, w następujący sposób:

Wartości discrete

Μ = p — prawdopodobieństwo poprzedniego stanu

Wartości stałe

Obecna wartość = 1 Μ/Σ

Po wartości ma zostać zakodowany, danych wejściowych przejść przez zsumowanie ważona z krawędziami sieci jako wagi.

Kodowanie wyjściowe używa sigmoid funkcja, która ma właściwości, które bardzo przydatne przy przewidywaniu.Jest jedną właściwość, niezależnie od sposobu skalowania oryginalne wartości, i niezależnie od tego, czy wartości są ujemną lub dodatnią, dane wyjściowe z tej funkcja jest zawsze wartość z przedziału od 0 do 1, który jest odpowiedni dla szacowania prawdopodobieństw.Inną właściwość, przydatne jest, że funkcja sigmoid ma wpływ wygładzania, tak, aby jako wartości przenieść dalej od punktu zainfekowany, prawdopodobieństwa dla wartości przenosi w kierunku 0 lub 1, ale powoli.

Dostosowywanie algorytm neuronowe sieci

The Microsoft Neural Network algorithm supports several parameters that affect the behavior, performance, and accuracy of the resulting model wyszukiwania. Można także zmodyfikować 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 może być używany z algorytmem neuronowe sieci firmy Microsoft.

  • HIDDEN_NODE_RATIO
    Określa stosunek ukryte neurons do wejścia i wyjścia neurons.Następujący wzór określa początkową liczbę neurons w ukrytej warstwie:

    HIDDEN_NODE_RATIO * SQRT(Total input neurons * Total output neurons)

    Wartość domyślna to 4,0.

  • HOLDOUT_PERCENTAGE
    Określa procent przypadków w obrębie danych szkolenia, używane do obliczania błędu 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 obsługiwał Pseudolosowy generator wtedy, gdy losowo Określa algorytm dane wstrzymania.Jeśli ten parametr jest zestaw na 0, algorytm generuje siewnego na podstawie nazwy model wyszukiwania, aby zagwarantować, że zawartość modelu pozostaje bez zmian 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, zanim funkcja zaznaczenia jest zatrudniony.Ustawienie tej wartości na 0 wyłącza zaznaczenia funkcja dla danych wejściowych atrybutów.

    Wartość domyślna to 255.

  • MAXIMUM_OUTPUT_ATTRIBUTES
    Określa maksymalną liczbę wyników atrybutów, które mogą być dostarczane do algorytmu, zanim funkcja zaznaczenia jest zatrudniony.Ustawienie wartości 0 powoduje wyłączenie funkcji wyboru atrybutów formatu danych wyjściowych.

    Wartość domyślna to 255.

  • MAXIMUM_STATES
    Określa maksymalną liczbę discrete stanów na atrybut, który jest obsługiwany przez algorytm.Jeśli liczba stanów dla określonego atrybut jest większa od liczby określonej dla tego parametru, algorytm wykorzystuje większość popularnych stanów dla tego atrybut i traktuje jako brakujące pozostałych stanów.

    Wartość domyślna to 100.

  • SAMPLE_SIZE
    Określa liczbę przypadków, należy użyć w celu szkolić w modelu.Algorytm używa tego numeru lub procent całości przypadkach nie są uwzględniane w sposób określony przez parametr HOLDOUT_PERCENTAGE danych wstrzymanie, która wartość jest mniejsza.

    Innymi słowy Jeśli HOLDOUT_PERCENTAGE jest ustawiona na 30, algorytm używa się wartości tego parametru lub wartość równą 70 procent całkowita liczba przypadków, zależnie od tego, który jest mniejszy.

    Wartość domyślna to 10000.

Modelowanie flagi

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

  • NIEDOZWOLONE WARTOŚCI NULL
    Wskazuje, że kolumna nie może zawierać wartość null.Jeżeli usługi Analysis Services napotyka wartość null podczas szkolenia modelu, spowoduje błąd.

    Stosuje się do kolumn struktura wyszukiwania.

  • MODEL_EXISTENCE_ONLY
    Wskazuje, że model tylko powinny rozważyć, czy istnieje wartość atrybut lub czy nie brakuje wartości.Dokładna wartość nie ma znaczenia.

    Stosuje się do kolumn w model wyszukiwania.

Flagi dystrybucji

Obsługiwane są następujące flagi dystrybucji do użytku z Microsoft Algorytm neuronowe sieci. Flagi są wykorzystywane jako wskazówki do modelu tylko, jeśli algorytm mieszania wykryje inny dystrybucji użyje znaleziony rozkład nie dystrybucji w do wskazówkę dotyczącą.

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

  • Takie same
    Wskazuje, że wartości kolumna powinny być traktowane jako, gdy są one rozdzielane równomiernie, oznacza to, prawdopodobieństwo każda wartość jest równa w przybliżeniu i jest funkcją Suma wartości.

  • Normalny dziennika
    Wskazuje, że wartości kolumna powinny być traktowane tak, jakby rozdzielone według Normalny dziennika krzywej, co oznacza logarytmu wartości jest zwykle rozprowadzany.

Wymagania

Model sieci neuronowe musi zawierać co najmniej jedną kolumna danych wejściowych i wyników jedną kolumna.

Dane wejściowe i uzyskania przewidywalnej kolumny

The Microsoft Neural Network algorithm supports the specific input columns and predictable columns that are listed in the following tabela.

Kolumna

Typy zawartości

Atrybut wejściowy

Ciągłe, cykliczna, discrete, Discretized klucz tabela, a zamówiona

Atrybut przewidywalne

Ciągłe, cykliczna, discrete, Discretized i Zamówione

Uwaga

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