Artificial Neural Network (ANN) in Machine Learning – Data Science Central
On 24 września, 2021 by adminArtificial Neural Networks – Introduction
Artificial Neural networks (ANN) lub sieci neuronowe są algorytmami obliczeniowymi.
Przeznaczone są do symulowania zachowania systemów biologicznych składających się z „neuronów”. ANN są modelami obliczeniowymi inspirowanymi przez centralne układy nerwowe zwierząt. Jest zdolny do uczenia maszynowego, jak również do rozpoznawania wzorców. Te przedstawione jako systemy wzajemnie połączonych „neuronów”, które mogą obliczać wartości z wejść.
Sieć neuronowa jest grafem zorientowanym. Składa się z węzłów, które w analogii biologicznej reprezentują neurony, połączone łukami. Odpowiadają one dendrytom i synapsom. Każdy łuk związany z wagą, podczas gdy na każdym węźle. Zastosuj wartości otrzymane jako wejście przez węzeł i określić funkcję aktywacji wzdłuż przychodzących łuków, dostosowane przez wagi łuków.
Sieć neuronowa jest algorytm uczenia maszynowego w oparciu o model ludzkiego neuronu. Ludzki mózg składa się z milionów neuronów. Wysyła on i przetwarza sygnały w postaci sygnałów elektrycznych i chemicznych. Neurony te są połączone specjalną strukturą zwaną synapsami. Synapsy umożliwiają neuronom przekazywanie sygnałów. Z dużej liczby symulowanych neuronów tworzą się sieci neuronowe.
Sztuczna sieć neuronowa jest techniką przetwarzania informacji. Działa podobnie do sposobu, w jaki ludzki mózg przetwarza informacje. ANN zawiera dużą liczbę połączonych jednostek przetwarzających, które współpracują ze sobą w celu przetwarzania informacji. Mogą one również generować znaczące wyniki z niego.
Możemy zastosować sieć neuronową nie tylko do klasyfikacji. Może również stosować do regresji ciągłych atrybutów docelowych.
Sieci neuronowe znaleźć wielkie zastosowanie w eksploracji danych stosowanych w sektorach. Na przykład ekonomia, kryminalistyka, itp. oraz do rozpoznawania wzorców. Może być również stosowany do klasyfikacji danych w dużej ilości danych po starannym training.
Sieć neuronowa może zawierać następujące 3 warstwy:
- Warstwa wejściowa – aktywność jednostek wejściowych reprezentuje surowe informacje, które mogą zasilić network.
- Warstwa ukryta – Aby określić aktywność każdej ukrytej jednostki. Aktywność jednostek wejściowych i wagi na połączeniach między jednostkami wejściowymi i ukrytymi. Może istnieć jedna lub więcej warstw ukrytych.
- Warstwa wyjściowa – Zachowanie jednostek wyjściowych zależy od aktywności jednostek ukrytych i wag pomiędzy jednostkami ukrytymi i wyjściowymi.
Warstwy sztucznej sieci neuronowej
Sieć neuronowa jest zwykle zorganizowana w warstwy. Warstwy składają się z wielu połączonych ze sobą „węzłów”, które zawierają „funkcję aktywacji”. Sieć neuronowa może zawierać następujące 3 warstwy:
a. Warstwa wejściowa
Celem warstwy wejściowej jest otrzymanie jako danych wejściowych wartości atrybutów objaśniających dla każdej obserwacji. Zazwyczaj liczba węzłów wejściowych w warstwie wejściowej jest równa liczbie zmiennych objaśniających. 'Warstwa wejściowa’ przedstawia wzorce sieci, która przekazuje je do jednej lub więcej 'warstw ukrytych’.
Węzły warstwy wejściowej są pasywne, co oznacza, że nie zmieniają danych. Otrzymują pojedynczą wartość na swoim wejściu i powielają tę wartość na swoich wielu wyjściach. Z warstwy wejściowej duplikuje każdą wartość i wysyła do wszystkich węzłów ukrytych.
b. Hidden layer
Hidden layers apply given transformations to the input values inside the network. W tym, przychodzące łuki, które idą z innych ukrytych węzłów lub z węzłów wejściowych podłączonych do każdego węzła. Łączy się on z łukami wychodzącymi do węzłów wyjściowych lub do innych węzłów ukrytych. W warstwie ukrytej rzeczywiste przetwarzanie odbywa się poprzez system ważonych „połączeń”. Warstw ukrytych może być jedna lub więcej. Wartości wchodzące do węzła ukrytego mnożone są przez wagi, czyli zbiór z góry ustalonych liczb zapisanych w programie. Ważone wejścia są następnie dodawane w celu uzyskania pojedynczej liczby.
c. Warstwa wyjściowa
Warstwy ukryte łączą się następnie z „warstwą wyjściową”. Warstwa wyjściowa otrzymuje połączenia z warstw ukrytych lub z warstwy wejściowej. Zwraca wartość wyjściową, która odpowiada predykcji zmiennej odpowiedzi. W problemach klasyfikacyjnych zazwyczaj występuje tylko jeden węzeł wyjściowy. Aktywne węzły warstwy wyjściowej łączą i zmieniają dane w celu wytworzenia wartości wyjściowych.
Zdolność sieci neuronowej do zapewnienia użytecznej manipulacji danymi leży w odpowiednim doborze wag. Różni się to od konwencjonalnego przetwarzania informacji.
Struktura sieci neuronowej
Struktura sieci neuronowej określana jest również jako jej „architektura” lub „topologia”. Składa się ona z liczby warstw, jednostek elementarnych. Składa się również z mechanizmu dopasowania wag (Interconchangend Weight). Wybór struktury determinuje wyniki, jakie uzyskamy. Jest to najbardziej krytyczna część implementacji sieci neuronowej.
Najprostszą strukturą jest ta, w której jednostki rozmieszczone są w dwóch warstwach: Warstwie wejściowej i Warstwie wyjściowej. Każda jednostka w warstwie wejściowej ma jedno wejście i jedno wyjście, które jest równe wejściu. Jednostka wyjściowa posiada wszystkie jednostki warstwy wejściowej połączone z jej wejściem, z funkcją kombinacji i funkcją przeniesienia. Może istnieć więcej niż 1 jednostka wyjściowa. W tym przypadku model wynikowy jest regresją liniową lub logistyczną, w zależności od tego, czy funkcja transferu jest liniowa czy logistyczna. Wagi sieci są współczynnikami regresji.
Dodając 1 lub więcej warstw ukrytych pomiędzy warstwą wejściową i wyjściową oraz jednostki w tej warstwie, moc predykcyjna sieci neuronowej wzrasta. Jednak liczba warstw ukrytych powinna być jak najmniejsza. Zapewnia to, że sieć neuronowa nie przechowuje wszystkich informacji z zestawu uczącego, ale może je uogólnić, aby uniknąć przepasowania.
Overfitting może wystąpić. Dzieje się tak, gdy wagi powodują, że system uczy się szczegółów zbioru uczącego zamiast odkrywać struktury. Dzieje się tak, gdy rozmiar zbioru uczącego jest zbyt mały w stosunku do złożoności modelu.
Warstwa ukryta jest obecna lub nie, warstwa wyjściowa sieci może czasami mieć wiele jednostek, gdy istnieje wiele klas do przewidzenia.
Zalety i wady sieci neuronowych
Zobaczmy kilka zalet i wad sieci neuronowych:
- Sieci neuronowe dobrze radzą sobie z danymi liniowymi i nieliniowymi, ale powszechną krytyką sieci neuronowych, szczególnie w robotyce, jest to, że wymagają one dużej różnorodności szkoleń do pracy w świecie rzeczywistym. To jest tak, ponieważ każda maszyna uczenia się potrzebuje wystarczająco reprezentatywnych przykładów w celu uchwycenia podstawowej struktury, która pozwala mu uogólniać do nowych cases.
- Sieci neuronowe działa nawet jeśli jedna lub kilka jednostek nie reaguje na sieci, ale do wdrożenia dużych i skutecznych sieci neuronowych oprogramowania, dużo przetwarzania i przechowywania zasobów muszą być popełnione. Podczas gdy mózg ma sprzęt dostosowany do zadania przetwarzania sygnałów poprzez wykres neuronów, symulacja nawet najbardziej uproszczonej formy na technologii Von Neumanna może zmusić projektanta sieci neuronowej do wypełnienia milionów wierszy bazy danych dla swoich połączeń – co może pochłonąć ogromne ilości pamięci komputerowej i miejsca na dysku twardym.
- Sieci neuronowe uczą się z analizowanych danych i nie wymagają przeprogramowania, ale są one określane jako modele „czarnej skrzynki” i zapewniają bardzo mały wgląd w to, co te modele naprawdę robią. Użytkownik musi tylko podawać dane wejściowe, obserwować jak trenuje i oczekiwać na wyniki.
Wnioski
ANNs są uważane za proste modele matematyczne, które mogą poprawić istniejące technologie analizy danych. Chociaż nie są one porównywalne z mocą ludzkiego mózgu, to jednak stanowią podstawowy budulec sztucznej inteligencji.
.
Dodaj komentarz