Спасибо, что взяли меня своим проводником. На прощание у меня есть для вас подарок. Ньютон говорил, что чувствует себя мальчишкой, играющим на берегу: он берет то камушек, то ракушку, а перед ним лежит огромный, неизведанный океан истины. Прошло три столетия, и мы собрали удивительную коллекцию гальки и раковин, но великий неизведанный океан все так же простирается перед нами и играет лучиками надежды. Мой подарок — это лодка машинного обучения, и пришло время поднять паруса.
БЛАГОДАРНОСТИ
Прежде всего я благодарю моих попутчиков в научном приключении: студентов, сотрудников, коллег и всех членов сообщества специалистов по машинному обучению. Эта книга — ваша в той же степени, что и моя. Надеюсь, вы простите мне излишние упрощения и недомолвки, а также немного вычурный стиль некоторых фрагментов.
Я благодарен всем, кто читал и комментировал черновики этой книги на разных этапах ее создания. Это в том числе Майк Бельфьоре, Томас Диттерих, Тьяго Домингос, Орен Эциони, Эйб Фризен, Роб Дженс, Алон Халеви, Дэвид Израэль, Генри Кауц, Хлоя Киддон, Гэри Маркус, Рэй Муни, Кевин Мерфи, Франциска Резнер и Бен Таскар. Спасибо всем тем, кто давал мне подсказки, информацию и помощь любого рода: Тому Гриффитсу, Дэвиду Хекерману, Ханне Хики, Альберту-Ласло Барабаши, Яну Лекуну, Барбаре Моунз, Майку Моргану, Питеру Норвигу, Джуде Перлу, Грегори Пятецкому-Шапиро и Себастьяну Сеунгу.
Я счастлив, что работаю в особом месте — на кафедре информатики и инженерии Вашингтонского университета. Я признателен Джошу Тененбауму и всем его сотрудникам за стажировку в Массачусетском технологическом институте, во время которой я начал работать над этой книгой. Спасибо неутомимому литературному агенту Джиму Левину за твердую веру в мои силы, а также всем сотрудникам Levine Greenberg Rostan. Спасибо Ти-Джею Келлехеру, моему удивительному редактору, который главу за главой, строчку за строчкой делал эту книгу лучше. Спасибо всем сотрудникам Basic Books.
Я признателен организациям, которые на протяжении многих лет финансировали мои исследования: это Научно-исследовательское управление Армии США, Агентство по перспективным оборонным научно-исследовательским разработкам, Фонд науки и технологии, Национальный научный фонд, Управление военно-морских исследований, Ford, Google, IBM, Kodak, Yahoo, а также Фонд Альфреда Слоуна.
Последнее, но не менее важное: спасибо моей семье за любовь и поддержку.
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
Если моя книга пробудила у вас интерес к машинному обучению и связанным с ним вопросам, в этом разделе вы найдете много советов. Это не исчерпывающий список, но он должен стать, перефразируя Борхеса, калиткой в Сад расходящихся тропок этой дисциплины. Я старался выбирать книги и статьи, подходящие для неспециалиста. Технические публикации, которые требуют хотя бы некоторых познаний в области информатики, статистики или математики, я отметил знаком *. Даже в них, однако, часто есть большие разделы, доступные обычному читателю. Я не указываю номер тома, издания и страниц, потому что в сети и справочниках они не всегда указаны точно.
Если вы хотите узнать больше о машинном обучении в целом, неплохо будет начать с онлайн-курсов. Неудивительно, что ближе всего к содержанию этой книги курс, который веду я сам (www.coursera.org/course/machlearning). Еще два варианта — курсы Эндрю Ына (www.coursera.org/course/ml) и Ясера Абу-Мостафы (work.caltech.edu/telecourse.html). Следующий шаг — взяться за учебники. Один из самых доступных и близких к моей книге — Machine Learning* Тома Митчелла (McGraw-Hill, 1997). Более современные, но более математические — Machine Learning: A Probabilistic Perspective* Кевина Мерфи (MIT Press, 2012), Pattern Recognition and Machine Learning* Криса Бишопа (Springer, 2006) и An Introduction to Statistical Learning with Applications in R* Гарета Джеймса, Даниэлы Виттен, Тревора Хасти и Роба Тибширани (Springer, 2013). Моя статья A few useful things to know about machine learning (Communications of the ACM, 2012) частично суммирует «общеизвестные» истины машинного обучения, которые учебники часто обходят стороной как банальные. Она стала одной из отправных точек этой книги. Если вы умеете программировать и вам не терпится взяться за дело, можете начать с многочисленных открытых пакетов, например Weka (www.cs.waikato.ac.nz/ml/weka). Важнейшие журналы по машинному обучению — Machine Learning и Journal of Machine Learning Research. Ведущие конференции, ежегодно публикующие свои материалы, — International Conference on Machine Learning, Conference on Neural Information Processing Systems и International Conference on Knowledge Discovery and Data Mining. Множество лекций по машинному обучению вы найдете на сайте videolectures.net. На сайте www.KDnuggets.com также представлено много ресурсов по машинному обучению. Там можно подписаться на рассылку и быть в курсе последних разработок.
Пролог
Примеры влияния машинного обучения на повседневную жизнь приведены в статье Джорджа Джона Behind-the-scenes data mining (SIGKDD Explorations, 1999): она вдохновила меня описать «один день из жизни» в прологе. Много применений машинного обучения рассмотрено в книге Эрика Зигеля Predictive Analytics (Wiley, 2013)[120]. Термин «большие данные» стал популярным после вышедшего в 2011 году отчета McKinsey Global Institute Big Data: The Next Frontier for Innovation, Competition, and Productivity. Много вопросов, которые поднимают большие данные, обсуждается в книге Виктора Майер-Шенбергера и Кеннет Кукьера Big Data: A Revolution That Will Change How We Live, Work, and Think, by Viktor Mayer-Schönberger and Kenneth Cukier (Houghton Mifflin Harcourt, 2013)[121]. Учебник, по которому я сам учился искусственному интеллекту, — это Artificial Intelligence Элен Рич (McGraw-Hill, 1983)*. Более современный вариант — Artificial Intelligence: A Modern Approach Стюарта Расселла и Питера Норвига (третье издание, Prentice Hall, 2010)[122]. В книге Нильса Нильссона The Quest for Artificial Intelligence (Cambridge University Press, 2010) рассказана история создания искусственного интеллекта начиная с самого начала.
Глава 1
В книге Nine Algorithms That Changed the Future Джона Маккормика (Princeton University Press, 2012)[123] описан ряд важнейших алгоритмов, применяемых в информатике. В ней есть и глава о машинном обучении. Algorithms Санджоя Дасгупты, Христоса Пападимитриу и Умеша Вазирани (McGraw-Hill, 2008)[124] — сжатый вводный учебник по предмету. Джинни Хиллис в книге The Pattern on the Stone (Basic Books, 1998) объясняет, как работают компьютеры. Уолтер Айзексон рассказывает живую историю информатики в книге The Innovators (Simon & Schuster, 2014)[125].
В статье Spreadsheet data manipulation using examples* Сумита Гульвани, Уильяма Харриса и Ришабха Сингха (Communications of the ACM, 2012) показано, как компьютеры могут программировать сами себя, наблюдая за пользователями. Книга Competing on Analytics Тома Дэвенпорта и Джоанн Харрис (HBS Press, 2007)[126] — хорошее введение в применение прогнозной аналитики в бизнесе. Работа In the Plex Стивена Леви (Simon & Schuster, 2011) дает представление о технологиях Google. Карл Шапиро и Хэл Вариан объясняют сетевой эффект в книге Information Rules: A Strategic Guide to the Network Economy (HBS Press, 1999). Феномен длинного хвоста анализирует Крис Андерсон в книге The Long Tail (Hyperion, 2006)[127].