Uczenie maszynowe dla programistów

Book description

Maszyna myśląca jak człowiek to marzenie ludzkości. Dzięki dzisiejszej wiedzy i dostępnym narzędziom wciąż przybliżamy się do jego spełnienia. Zastanawiasz się, jak nauczyć maszynę myślenia? Jak sprawić, żeby podejmowała trafne decyzje oraz przewidywała najbliższą przyszłość na podstawie przygotowanych modeli? Na to i wiele innych pytań odpowiada ta wspaniała książka.

Dzięki niej poznasz język R, nauczysz się eksplorować dostępne dane, określać wartość mediany i odchylenia standardowego oraz wizualizować powiązania między kolumnami. Gdy opanujesz już solidne podstawy teoretyczne, możesz śmiało przejść do kolejnych rozdziałów i zapoznać się z klasyfikacją binarną, tworzeniem rankingów oraz modelowaniem przyszłości przy użyciu regresji. Ponadto zrozumiesz, jak tworzyć systemy rekomendacyjne, analizować sieci społeczne oraz łamać szyfry. Książka ta jest doskonałą lekturą dla pasjonatów analizy danych i wyciągania z nich wniosków.

Każdy rozdział książki jest poświęcony konkretnemu zagadnieniu uczenia maszynowego: klasyfikacji, predykcji, regresji, optymalizacji i wreszcie rekomendacji. Czytelnik nauczy się konstruować proste algorytmy uczenia maszynowego (i przepuszczać przez nie próbki danych) za pomocą języka programowania R. Uczenie maszynowe dla programistów jest więc znakomitą lekturą dla programistów parających się czy to projektami komercyjnymi, czy to rządowymi, czy wreszcie akademickimi.

Table of contents

  1. Uczenie maszynowe dla programistów
  2. Wstęp
    1. Organizacja materiału
    2. Konwencje typograficzne
    3. Korzystanie z programów przykładowych
    4. Podziękowania
  3. 1. Język R
    1. Język R w uczeniu maszynowym
      1. Pobieranie i instalowanie R
        1. Windows
        2. Mac OS X
        3. Linux
      2. Edytory plików tekstowych i środowiska programistyczne
      3. Ładowanie i instalowanie pakietów R
      4. Podstawy R w uczeniu maszynowym
        1. Ładowanie bibliotek i danych
        2. Konwertowanie ciągów dat i obsługa źle sformatowanych danych
        3. Porządkowanie danych o miejscu obserwacji
        4. Dane spoza obszaru zainteresowania
        5. Agregacja i organizacja danych
        6. Analiza danych
      5. Dodatkowe materiały o R
  4. 2. Eksplorowanie danych
    1. Analiza eksploracyjna i analiza potwierdzająca
    2. Czym są dane?
    3. Wnioskowanie o typach danych w kolumnach
    4. Wnioskowanie o znaczeniu wartości
    5. Podsumowania liczbowe
    6. Średnie, mediany i dominanty
    7. Kwantyle
    8. Odchylenia standardowe i wariancje
    9. Eksploracyjne wizualizacje danych
    10. Wizualizowanie powiązań pomiędzy kolumnami
  5. 3. Klasyfikacja — odsiewanie spamu
    1. To czy nie to? Klasyfikacja binarna
    2. Płynne przejście do prawdopodobieństwa warunkowego
    3. Nasz pierwszy bayesowski klasyfikator spamu
      1. Definiowanie i testowanie klasyfikatora na wątpliwych wiadomościach treściwych
      2. Testowanie klasyfikatora na wiadomościach wszystkich typów
      3. Polepszanie wyników klasyfikacji
  6. 4. Układanie rankingu — priorytetowa skrzynka pocztowa
    1. Jak uporządkować, nie znając kryterium?
    2. Układanie wiadomości e-mail według ważności
      1. Cechy istotności wiadomości e-mail
    3. Implementacja skrzynki priorytetowej
      1. Funkcje wyłuskujące wartości cech
      2. Tworzenie mechanizmu nadawania wag
        1. Nadawanie wag a logarytmy
      3. Nadawanie wag na podstawie aktywności w wątku
      4. Uczenie i testowanie algorytmu układającego ranking
  7. 5. Regresja — przewidywanie odsłon stron
    1. Wprowadzenie do regresji
      1. Model wyjściowy
      2. Regresja z użyciem zmiennych sztucznych
      3. Podstawy regresji liniowej
    2. Przewidywanie odwiedzin stron WWW
    3. Definiowanie korelacji
  8. 6. Regularyzacja — regresja tekstu
    1. Nieliniowe zależności pomiędzy kolumnami — świat krzywych
      1. Wstęp do regresji wielomianowej
    2. Metody zapobiegania nadmiernemu dopasowaniu
      1. Zapobieganie nadmiernemu dopasowaniu przez regularyzację
    3. Regresja tekstu
      1. Pociecha w regresji logistycznej
  9. 7. Optymalizacja — łamanie szyfrów
    1. Wprowadzenie do optymalizacji
    2. Regresja grzbietowa
    3. Łamanie szyfrów jako problem optymalizacji
  10. 8. Analiza głównych składowych — budowanie indeksu rynku
    1. Uczenie nienadzorowane
  11. 9. Skalowanie wielowymiarowe — uwidocznianie podobieństwa polityków
    1. Grupowanie na podstawie podobieństwa
      1. Wprowadzenie do miar odległości i skalowania wielowymiarowego
    2. Jak się grupują amerykańscy senatorzy?
      1. Analiza rejestrów głosowań w Senacie (kongresy 101. – 111.)
        1. Grupowanie MDS w Kongresie
  12. 10. kNN — systemy rekomendacyjne
    1. Algorytm kNN
    2. Dane o instalacjach pakietów języka R
  13. 11. Analiza grafów społecznych
    1. Analiza sieci społecznych
      1. Myślenie grafowe
    2. Pozyskiwanie danych do grafu społecznego Twittera
      1. Praca z API usługi SocialGraph
    3. Analiza sieci Twittera
      1. Lokalna struktura społeczna
      2. Wizualizacja pogrupowanej sieci społecznej Twittera w programie Gephi
      3. Własny mechanizm rekomendacji wartościowych twitterowiczów
  14. 12. Porównanie modeli
    1. SVM — maszyna wektorów nośnych
    2. Porównanie algorytmów
  15. A. Bibliografia
    1. Książki
    2. Artykuły
  16. Indeks
  17. B. O autorach
  18. Kolofon
  19. Copyright

Product information

  • Title: Uczenie maszynowe dla programistów
  • Author(s): Drew Conway, John Myles White
  • Release date: December 2014
  • Publisher(s): Helion
  • ISBN: 97888324698196