347 KiB
347 KiB
- Naśladowanie ludzkich procesów poznawczych za pomocą komputerów
- Konstruowanie systemów (maszyn), których działanie podobne jest do przejawów ludzkiej inteligencji
- Dziedzina nauki, która zajmuje się naśladowaniem ludzkiej inteligencji przez komputery
- Obejmuje m.in. logikę rozmytą, algorytmy ewolucyjne, robotykę i uczenie maszynowe
- Tworzenie systemów, które potrafią doskonalić się przy pomocy zgromadzonego doświadczenia
- Rodzaj struktur matematycznych, które wykonują obliczenia przy pomocy elementów zwanych _sztucznymi neuronami
- Budowa sieci neuronowych i zasady działania sztucznych neuronów były luźno inspirowane działaniem neuronów w mózgu
- Użycie sieci neuronowych do automatycznego wydobywania cech z surowych danych
- Dziedzina nauki zajmująca się przetwarzaniem danych w celu wydobycia z nich wiedzy

Uczenie maszynowe to dziedzina nauki, która daje komputerom umiejętność uczenia się bez programowania ich _explicite.
— Arthur Samuel, 1959

Mówimy, że program komputerowy uczy się z doświadczenia E w odniesieniu do zadania T i miary skuteczności P, jeżeli jego skuteczność wykonywania zadania T mierzona według P wzrasta z doświadczeniem E.
— Tom Mitchell, 1998

Źródło: Drew Conway, http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram
Uczenie maszynowe to:
- doskonalenie działania dla pewnych zadań na podstawie doświadczenia
- tworzenie systemów, które doskonalą swoje działania na podstawie przeszłych doświadczeń
- zestaw metod, które potrafią w sposób automatyczny wykrywać wzorce w danych, a następnie używać wcześniej niezaobserwowanych wzorców do przewidywania przyszłych zjawisk
Charakterystyczne cechy uczenia maszynowego:
- „automatyzacja automatyzacji”
- komputer „sam się programuje”
- modelowanie danych zastępuje pisanie programu
import IPython
IPython.display.YouTubeVideo('R9OHn5ZF4Uo', width=800, height=600)
IPython.display.YouTubeVideo('ahRcGObyEZo', width=800, height=600)
IPython.display.YouTubeVideo('oLTNtvIHJ7M', width=800, height=600)
- rozpoznawanie i rozumienie mowy
- rozpoznawanie obrazów
- tłumaczenie maszynowe
- systemy rekomendacyjne
- detekcja spamu
- klasyfikacja dokumentów/obrazów
- analiza nastrojów
- rozpoznawanie pisma odręcznego
- samochody autonomiczne
- przewidywanie kursów giełdowych
- automatyczna diagnostyka medyczna
- analiza genów
- sztuczna inteligencja w grach
IPython.display.YouTubeVideo('Lu56xVlZ40M', width=800, height=600)
IPython.display.YouTubeVideo('SWoravHhsUU', width=800, height=600)
IPython.display.YouTubeVideo('O8l4Kn-j-5M', width=800, height=600)
IPython.display.YouTubeVideo('B1Dk_9k6l08', width=800, height=600)
IPython.display.YouTubeVideo('4J0cpdR7qec', width=800, height=600)
IPython.display.YouTubeVideo('Kx-2PyrhnFE', width=800, height=600)
IPython.display.YouTubeVideo('fN-bQddbbUI', width=800, height=600)
Z jakimi rodzajami zadań mamy do czynienia?
- Uczenie nadzorowane
- Regresja
- Klasyfikacja
- Uczenie nienadzorowane
- Klastrowanie
- Uczenie przez wzmacnianie
- Systemy rekomendacyjne
Klasyfikator
- Klasyfikator to funkcja , która przykładowi przyporządkowuje prognozowaną wartość .
- Jeżeli funkcja jest ciągła, to mówimy o zagadnieniu regresji.
- Jeżeli funkcja jest dyskretna, to mówimy o zagadnieniu klasyfikacji.
Algorytm uczący
- Dane są przykładowe obserwacje .
- Staramy się dobrać funkcję (klasyfikator) tak, żeby .
W jaki sposób można określić, czy klasyfikator jest „dobry”?
Podział metod uczenia maszynowego
[Każdy algorytm uczenia maszynowego] stanowi kombinację dokładnie trzech składników. Te składniki to:
- reprezentacja
- ewaluacja
- optymalizacja
— Pedro Domingos, “A Few Useful Things to Know about Machine Learning”
Reprezentacja
- drzewa decyzyjne
- regresja liniowa
- regresja logistyczna
- naiwny klasyfikator bayesowski
- algorytm najbliższych sąsiadów
- sieci neuronowe
- maszyny wektorów nośnych
- algorytmy genetyczne
- ...