Книга "Верховный алгоритм" Педро Домингоса - наверное, лучшее введение в машинное обучение, которое я встречал. Книга написана для самой что ни на есть широкой аудитории: в ней всего две формулы и ни одной строчки кода. Но автор умудряется за 300 страниц дать очень хорошую интуицию об основных направлениях и алгоритмах машинного обучения.
Как ему это удаётся? За счёт огромного, просто неприличного количества ярких метафор и ассоциаций, одновременно и связывающих у вас в мозгу воедино отдалённые области знаний и факты, и просто доставляющих удовольствие. Зачем автор это делает? Чтобы у вас загорелись глаза и вы тоже начали заниматься машинным обучением. Чего автор хочет добиться в итоге? Создать "верховный алгоритм", универсальный "решатель проблем", способный обучаться на любых данных. Если такой алгоритм будет создан, он изменит мир - например, сможет победить рак; без машинного обучения решить такую задачу невозможно.
Прелесть алгоритмов машинного обучения в их универсальности: одна и та же модель, обученная на разных данных, может предсказывать кредитный риск и диагностировать болезни. Однако полной универсальности нет: различные алгоритмы закладывают разные неявные допущения о решаемой задаче. Каждый из них имеет какие-то свои наиболее успешные зоны применения. Но автор верит в большее: можно создать единый алгоритм, способный извлечь из данных все знания —- "верховный алгоритм". Таким универсальным алгоритмом в некотором смысле является человеческий мозг, способный усвоить любое знание. Более того, универсальным алгоритмом является естественный отбор, создавший существ, приспособленных к любым условиям, в том числе и наш мозг. Всё устройство мира выводимо из весьма простых физических законов, а значит, возможно, есть путь предсказать на основе их всё, что угодно, если научиться применять их компактно к большим системам. В математической статистике существует теорема Байеса - универсальный способ обновлять гипотезы о мироустройстве на основе новых данных. В компьютерных науках огромный класс разнообразных задач, называемых NP-полными (проверяемыми за полиномиальное время), имеет быстрые решения, которые могут быть выражены друг через друга (в случае, если эти решения существуют - науке это пока неизвестно). Машинное обучение имеет больше перспектив, чем его конкурент, knowledge engineering (полуручной сбор экспертных знаний), т.к. справляется с теми же задачами - и с многими другими.
Конечно, в мире есть непредсказуемые явления ("чёрные лебеди") - но их невозможно предсказать ни одним методом, не только машинным обучением. Было бы хорошо, если бы верховный алгоритм мог предсказывать совершенно различные вещи, пользуясь одним и тем же методом - был "ежом", а не "лисицей". Если такой алгоритм будет создан, он сможет, например, пользуясь описанием ракового генома, смоделировать процессы, проходящие в раковых клетках данного конкретного пациента, и разработать лекарство, эффективное именно для него. Ни один человек и ни одна простая модель не в состоянии справиться с такой задачей. И в любой области жизни универсальный алгоритм может повлечь критические изменения - и вам было бы крайне полезно стать участником этих изменений. Возможно, такой алгоритм позволит учёным создать теорию всего, затягивая любые данные в одну модель.
Что может стать основой верховного алгоритма? Разные ответы дают на это разные школы машинного обучения: символисты, коннекционисты, эволюционеры, байесиане, и аналогисты. Познакомившись с этими школами в следующих постах, мы попытаемся извлечь лучшее из каждой.
#матчасть #weirdMath #machinelearning #верховныйалгоритм #themasteralgorithm
Post #131
287