Czym jest uczenie maszynowe? [zamknięte]

  • Czym jest uczenie maszynowe ?
  • do czego służy uczenie maszynowe Kod?
  • Kiedy mówimy, że maszyna uczy się, czy modyfikuje kod samego czy modyfikuje historię (bazę danych), która będzie zawierać doświadczenie kodu dla danego zestawu wejść?
Author: quintumnia, 2010-04-12

9 answers

Czym jest uczenie maszynowe ?

Zasadniczo jest to metoda nauczania komputerów do tworzenia i ulepszania prognoz lub zachowań na podstawie niektórych danych. Co to jest "dane"? To zależy od problemu. Może to być odczyt z czujników robota, gdy uczy się chodzić, lub poprawne wyjście programu dla określonego wejścia.

Innym sposobem myślenia o uczeniu maszynowym jest "rozpoznawanie wzorców" - uczenie programu reagowania lub rozpoznaj wzory.
Do czego służy Kod Uczenia Maszynowego ?

Zależy od typu uczenia maszynowego, o którym mówisz. Uczenie maszynowe jest ogromnym obszarem , z setkami różnych algorytmów do rozwiązywania niezliczonych różnych problemów - zobacz Wikipedia aby uzyskać więcej informacji; dokładniej, zajrzyj do typów algorytmów .

Kiedy mówimy, że maszyna uczy się, czy modyfikuje sam kod, czy modyfikuje historię (Baza danych) która będzie zawierać doświadczenie kodu dla danego zestawu wejść ?

Po raz kolejny, to zależy.

Jednym z przykładów modyfikacji kodu jest Programowanie genetyczne , gdzie zasadniczo ewoluuje się program do wykonania zadania (oczywiście program nie modyfikuje się sam - ale modyfikuje inny program komputerowy).

Sieci neuronowe , z drugiej strony, automatycznie modyfikują swoje parametry w odpowiedzi na przygotowane bodźce i oczekiwana reakcja. Pozwala to na tworzenie wielu zachowań (teoretycznie mogą tworzyć dowolne zachowanie, ponieważ mogą przybliżać dowolną funkcję z dowolną precyzją, biorąc pod uwagę wystarczająco dużo czasu).


Powinienem zauważyć, że użycie przez Ciebie terminu "baza danych" oznacza, że algorytmy uczenia maszynowego działają poprzez "zapamiętywanie" informacji, zdarzeń lub doświadczeń. Niekoniecznie (a nawet często!) sprawa.

Sieci neuronowe, o których już wspomniałem, Zachowaj tylko aktualny "stan" przybliżenia, który jest aktualizowany w miarę uczenia się. Zamiast pamiętać, co się stało i jak na to zareagować, sieci neuronowe budują swego rodzaju "model" swojego " świata."Model mówi im, jak reagować na pewne wejścia, nawet jeśli wejścia są czymś, czego nigdy wcześniej nie widział.

[1]}ta ostatnia zdolność-zdolność do reagowania na dane wejściowe, które nigdy wcześniej nie były widziane-jest jedną z podstawowych zasad wielu algorytmów uczenia maszynowego. Imagine próbuję nauczyć komputerowego kierowcy poruszania się po autostradach w ruchu drogowym. Używając swojej metafory "bazy danych", musiałbyś nauczyć komputer dokładnie, co ma robić w milionach możliwych sytuacji. Skuteczny algorytm uczenia maszynowego (miejmy nadzieję!) być w stanie nauczyć się podobieństw między różnymi stanami i reagować na nie podobnie.

Podobieństwa między państwami mogą być dowolne - nawet rzeczy, które możemy uznać za "przyziemne", mogą naprawdę potknąć się o komputer! Na przykład, Załóżmy, że kierowca komputera dowiedział się, że gdy samochód przed nim zwolnił, musiał zwolnić. Dla człowieka wymiana samochodu na motocykl niczego nie zmienia - zdajemy sobie sprawę, że motocykl to także pojazd. Dla algorytmu uczenia maszynowego może to być zaskakująco trudne! Baza danych musiałaby oddzielnie przechowywać informacje o przypadku, w którym samochód znajduje się z przodu, a motocykl jest z przodu. Algorytm uczenia maszynowego, z drugiej strony, czy "uczyć się" z przykładu samochodu i być w stanie uogólnić do przykładu motocykla automatycznie.

 130
Author: Daniel G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-13 11:48:16

Uczenie maszynowe jest dziedziną informatyki, teorii prawdopodobieństwa i teorii optymalizacji, która umożliwia rozwiązywanie złożonych zadań, dla których logiczne / proceduralne podejście nie byłoby możliwe lub wykonalne.

Istnieje kilka różnych kategorii uczenia maszynowego, w tym (ale nie wyłącznie):

  • Nauka nadzorowana
  • wzmocnienie nauki

Nauka Nadzorowana
W nauczaniu nadzorowanym masz naprawdę złożone funkcja (mapowanie) od wejść do wyjść, masz wiele przykładów par wejście / wyjście, ale nie wiesz, co to jest ta skomplikowana funkcja. Nadzorowany algorytm uczenia się umożliwia, biorąc pod uwagę duży zestaw danych par wejście/wyjście, przewidywanie wartości wyjściowej dla jakiejś nowej wartości wejściowej, której być może nie widziałeś wcześniej. Podstawową metodą jest rozbicie zestawu danych na zestaw treningowy i zestaw testowy. Masz jakiś model z powiązaną funkcją błędu, którą próbujesz Minimalizuj ponad zestaw treningowy, a następnie upewnij się, że Twoje rozwiązanie działa na zestawie testowym. Po powtórzeniu tego za pomocą różnych algorytmów uczenia maszynowego i / lub parametrów, dopóki model nie sprawdzi się w miarę dobrze na zestawie testowym, możesz spróbować użyć wyniku na nowych wejściach. Zauważ, że w tym przypadku program się nie zmienia, zmienia się tylko model (dane). Chociaż teoretycznie można by wypuścić inny program, ale w praktyce tego nie robi się, o ile jestem świadomy. Przykładem nadzorowanej nauki byłby system rozpoznawania cyfr używany przez Urząd Pocztowy, gdzie mapuje piksele na etykiety w zestawie 0...9, używając dużego zestawu zdjęć cyfr oznaczonych ręcznie jako 0...9.

Wzmocnienie Uczenia Się
W uczeniu wzmacniającym program jest odpowiedzialny za podejmowanie decyzji i okresowo otrzymuje jakąś nagrodę/użyteczność za swoje działania. Jednak, w przeciwieństwie do przypadku nadzorowanego uczenia się, wyniki nie są natychmiastowe; algorytm może przepisać dużą sekwencję działań i otrzymywać informacje zwrotne dopiero na samym końcu. W uczeniu się zbrojenia celem jest zbudowanie dobrego modelu, tak aby algorytm generował sekwencję decyzji, które prowadzą do najwyższej długoterminowej użyteczności/nagrody. Dobrym przykładem uczenia się przez wzmocnienie jest uczenie robota, jak poruszać się, dając negatywną karę za każdym razem, gdy jego czujnik zderzenia wykryje, że uderzył w obiekt. If coded prawidłowo, robot może ostatecznie skorelować dane z czujnika dalmierza z danymi z czujnika zderzaka i kierunkami wysyłanymi do kół, a ostatecznie wybrać formę nawigacji, która spowoduje, że nie wpadnie na obiekty.

Więcej Informacji
Jeśli chcesz dowiedzieć się więcej, zdecydowanie polecam przeczytać Pattern Recognition and Machine Learning autorstwa Christophera M. Bishopa lub wziąć udział w kursie uczenia maszynowego. Możesz również być interesuje się darmową lekturą notatek z wykładu CIS 520: Machine Learning at Penn.

 19
Author: Michael Aaron Safyan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-12 08:04:22
  • Uczenie maszynowe (ang. Machine learning) - dyscyplina naukowa zajmująca się projektowaniem i rozwojem algorytmów pozwalających komputerom na ewolucję zachowań opartych na danych empirycznych, takich jak dane z czujników czy bazy danych. Czytaj więcej na Wikipedia

  • Uczenie maszynowe kod zapisuje "fakty" lub przybliżenia w jakimś magazynie, a za pomocą algorytmów oblicza różne prawdopodobieństwa.

  • Sam kod będzie nie może być modyfikowany, gdy maszyna się uczy, tylko baza danych tego ,co "wie".

 10
Author: Espo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-12 07:07:44

Uczenie maszynowe jest metodologią tworzenia modelu na podstawie przykładowych danych i wykorzystania modelu do predykcji lub strategii. Należy do sztucznej inteligencji.

 9
Author: zsong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-12 07:37:34

Uczenie maszynowe jest po prostu ogólnym terminem określającym różnorodne algorytmy uczenia się, które wytwarzają quasi uczenie się na przykładach (bez etykiet/etykiet). Rzeczywista dokładność / błąd jest w całości zależna od jakości danych treningowych / testowych, które dostarczasz do algorytmu uczenia się. Można to zmierzyć za pomocą współczynnika konwergencji. Powodem, dla którego podajesz przykłady, jest to, że chcesz, aby wybrany algorytm uczenia się był w stanie informacyjnie przez wskazówki uogólnić. Algorytmy można podzielić na dwa główne obszary techniki uczenia nadzorowanego(klasyfikacja) i uczenia bez nadzoru(klastrowanie). Niezwykle ważne jest, aby podjąć świadomą decyzję o tym, w jaki sposób planujesz rozdzielić zestawy danych treningowych i testowych, a także jakość, którą zapewniasz algorytmowi uczenia się. Dostarczając zestawy danych, chcesz również mieć świadomość takich rzeczy, jak nadmierne dopasowanie i utrzymywanie poczucia zdrowej stronniczości w swoich przykładach. Algorytm wtedy w zasadzie uczy się pisać aby napisać na podstawie uogólnienia, osiąga się to z danych, które dostarczyłeś mu zarówno do szkolenia, jak i do testowania w procesie, próbujesz uzyskać algorytm uczenia się, aby produkować nowe przykłady na podstawie ukierunkowanego szkolenia. W klastrowaniu jest bardzo niewiele wskazówek informacyjnych algorytm w zasadzie stara się produkować poprzez miary wzorców między danymi w celu zbudowania powiązanych zestawów klastrów np. kmeans/knearest neighbor.

Kilka dobrych książek: Wprowadzenie do ML (Nilsson / Stanford), Proces Gaussa dla ML, Wprowadzenie do ML (Alpaydin), Teoria wnioskowania i algorytmy uczenia się informacji (bardzo przydatna książka), Machine Learning (Mitchell), Rozpoznawanie wzorców i uczenie maszynowe (standardowa książka kursu ML w Edynburgu i różne Unis, ale stosunkowo ciężka lektura z matematyki), Eksploracja danych i praktyczne uczenie maszynowe za pomocą Weka (praca poprzez teorię za pomocą Weka i praktyka w Javie)

Wzmocnienie nauki jest darmowa książka online można Czytaj: http://www.cs.ualberta.ca / ~sutton/book/ebook/the-book.html

IR, IE, Recommenders i Text / Data / Web Mining w powszechnym użyciu wielu zasad uczenia maszynowego. Możesz nawet zastosować Metaheurystyczne / Globalne techniki optymalizacji, aby jeszcze bardziej zautomatyzować procesy uczenia się. na przykład zastosuj technikę ewolucyjną, taką jak ga (algorytm genetyczny), aby zoptymalizować podejście oparte na sieci neuronowej (które może użyć jakiegoś algorytmu uczenia się). Można do niego podejść wyłącznie w formie metody uczenia maszynowego, na przykład uczenie bayesowskie. Większość z tych algorytmów ma bardzo intensywne wykorzystanie statystyk. Pojęcia konwergencji i uogólnienia są ważne dla wielu z tych algorytmów uczenia się.

 8
Author: meme,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-30 08:34:04

Uczenie maszynowe to nauka w informatyce polegająca na tworzeniu algorytmów, które są w stanie klasyfikować informacje, których wcześniej nie widzieli, poprzez uczenie się wzorców z treningu na podobnych informacjach. Istnieją różnego rodzaju" uczących się " w tym sensie. Sieci neuronowe, Sieci bayesowskie, drzewa decyzyjne, algorytmy klastrowania k, Ukryte modele markowa i maszyny wektorowe są przykładami.

W zależności od ucznia, każdy uczy się na różne sposoby. Niektórzy uczniowie produkują struktury zrozumiałe dla człowieka (np. drzewa decyzyjne), a niektóre z nich są na ogół nierozerwalne (np. sieci neuronowe).

Wszyscy uczniowie są zasadniczo napędzani danymi, co oznacza, że zapisują swój stan jako dane do ponownego wykorzystania później. Nie są same w sobie modyfikujące, przynajmniej w ogóle.

 7
Author: Shaggy Frog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-12 07:17:45
  • Bezwstydnie wyrwane z Wikipedii: Uczenie maszynowe jest dyscypliną naukową, która zajmuje się projektowaniem i rozwojem algorytmów, które pozwalają komputerom ewoluować zachowania oparte na danych empirycznych, takich jak dane z czujników lub baz danych.

  • Po prostu Kod Uczenia Maszynowego spełnia zadanie uczenia maszynowego. Może to być wiele rzeczy, od interpretacji danych z czujników do algorytmu genetycznego.

  • Powiedziałbym, że to zależy. Nie., modyfikowanie kodu nie jest normalne, ale nie jest poza sferą możliwości. Nie powiedziałbym też, że uczenie maszynowe zawsze modyfikuje historię. Czasami nie mamy z czego budować historii. Czasami po prostu chcemy reagować na otoczenie, ale nie uczyć się z naszych przeszłych doświadczeń.

Zasadniczo uczenie maszynowe jest bardzo otwartą dyscypliną, która zawiera wiele metod i algorytmów, które uniemożliwiają uzyskanie jednej odpowiedzi na trzecie pytanie.

 6
Author: Kevin Crowell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-12 07:08:13

Myślę, że jedna z najfajniejszych definicji uczenia maszynowego, jaką przeczytałem, pochodzi z tej książki Toma Mitchella. Łatwy do zapamiętania i intuicyjny.

Mówi się, że program komputerowy uczy się z doświadczenia E w odniesieniu do pewnej klasy zadań T i miary wydajności P, Jeśli jego wydajność w zadaniach w T, mierzona przez P, poprawia się wraz z doświadczeniem E

 6
Author: vikram360,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-11 07:26:43

Uczenie maszynowe to termin zaczerpnięty z realnego świata człowieka i stosowany na czymś, czego nie można się nauczyć-na maszynie.

Aby dodać do innych odpowiedzi-uczenie maszynowe nie zmieni (zazwyczaj) kodu, ale może zmienić jego ścieżkę wykonania i decyzję w oparciu o poprzednie dane lub nowe zebrane dane, a tym samym efekt "uczenia się".

Istnieje wiele sposobów na "nauczenie" maszyny - podajesz wagi wielu parametrom algorytmu, a następnie masz maszyna rozwiązuje go w wielu przypadkach, za każdym razem, gdy dajesz jej opinię na temat odpowiedzi, a maszyna dostosowuje wagi w zależności od tego, jak blisko była odpowiedź Maszyny do twojej odpowiedzi lub zgodnie z wynikiem, który dałeś jej odpowiedź, lub zgodnie z algorytmem testu wyników.

Jest to jeden ze sposobów uczenia się i jest ich o wiele więcej...

 5
Author: Dani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-12 07:17:23