Co sprawia, że ​​sieci neuronowe są tak dobre w przewidywaniach?

12

Jestem nowy w sieci neuronowej i staram się zrozumieć matematycznie, co sprawia, że ​​sieci neuronowe są tak dobre w problemach z klasyfikacją.

Biorąc przykład małej sieci neuronowej (na przykład jeden z 2 wejściami, 2 węzłami w ukrytej warstwie i 2 węzłami dla wyjścia), wszystko, co masz, to złożona funkcja na wyjściu, która jest w większości sigmoidalna w kombinacji liniowej sigmoidu.

Jak to sprawia, że ​​są dobre w przewidywaniu? Czy końcowa funkcja prowadzi do pewnego dopasowania krzywej?

Aditya Gupta
źródło

Odpowiedzi:

6

Sieci neuronowe są dobre w klasyfikacji. W niektórych sytuacjach sprowadza się to do przewidywania, ale niekoniecznie.

Matematycznym powodem sprawności sieci neuronowych w klasyfikacji jest uniwersalne twierdzenie o aproksymacji . Który stwierdza, że ​​sieć neuronowa może aproksymować dowolną ciągłą funkcję wartości rzeczywistej w kompaktowym podzbiorze. Jakość aproksymacji zależy od liczby neuronów. Wykazano również, że dodanie neuronów w dodatkowych warstwach zamiast dodawania ich do istniejących warstw poprawia jakość aproksymacji szybciej.

Dodaj do tego niezbyt dobrze rozumianą skuteczność algorytmu propagacji wstecznej, a masz konfigurację, a następnie możesz naprawdę nauczyć się funkcji obiecanej przez UAT lub czegoś bliskiego.

BlindKungFuMaster
źródło
0

W sieciach neuronowych bierzemy pod uwagę wszystko w dużym wymiarze i staramy się znaleźć hiperpłaszczyznę, która klasyfikuje je według małych zmian ...

Prawdopodobnie trudno jest udowodnić, że działa, ale intuicja mówi, że jeśli można go sklasyfikować, możesz to zrobić, dodając zrelaksowany samolot i pozwalając mu przemieszczać się między danymi, aby znaleźć lokalne optymalne ...

MR_BD
źródło
0

Dzięki sieciom neuronowym po prostu klasyfikujesz dane. Jeśli poprawnie sklasyfikujesz, możesz zrobić przyszłe klasyfikacje.

Jak to działa?

Proste sieci neuronowe, takie jak Perceptron, mogą wyznaczyć jedną granicę decyzyjną w celu sklasyfikowania danych.

Załóżmy na przykład, że chcesz rozwiązać prosty ORAZ problem z prostą siecią neuronową. Masz 4 przykładowe dane zawierające x1 i x2 oraz wektor wagowy zawierający w1 i w2. Załóżmy, że początkowy wektor masy to [0 0]. Jeśli wykonałeś obliczenia, które zależą od algorytmu NN. Na koniec powinieneś mieć wektor ciężaru [1 1] lub coś takiego.

wprowadź opis zdjęcia tutaj

Proszę skoncentrować się na grafice.

Mówi: Mogę klasyfikować wartości wejściowe na dwie klasy (0 i 1). Ok. Jak mogę to zrobić? To jest zbyt proste. Wartości wejściowe pierwszej sumy (x1 i x2).

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 2

To mówi:

jeśli suma <1,5, to jej klasa wynosi 0

jeśli suma> 1,5 to jego klasa wynosi 1

internauta
źródło
0

Sieci neuronowe wyróżniają się różnorodnością zadań, ale aby zrozumieć, dlaczego tak jest, łatwiej jest podjąć konkretne zadanie, takie jak klasyfikacja i głębsze nurkowanie.

Mówiąc prościej, techniki uczenia maszynowego uczą się funkcji przewidywania, do której klasy należy dany wkład, w zależności od poprzednich przykładów. To, co wyróżnia sieci neuronowe, to ich zdolność do konstruowania tych funkcji, które mogą wyjaśniać nawet złożone wzorce danych. Sercem sieci neuronowej jest funkcja aktywacyjna, taka jak Relu, która pozwala narysować podstawowe granice klasyfikacji, takie jak:Przykładowe granice klasyfikacji dla Relu

Łącząc setki takich Relus razem, sieci neuronowe mogą tworzyć dowolnie złożone granice klasyfikacji, na przykład:wprowadź opis zdjęcia tutaj

W tym artykule próbuję wyjaśnić intuicję stojącą za tym, co działa sieci neuronowe: https://medium.com/machine-intelligence-report/how-do-neural-networks-work-57d1ab5337ce

Malajski Haldar
źródło