Алгоритмы интеллектуального Интернета (файл PDF)

Алгоритмы интеллектуального Интернета (файл PDF)

Дмитрий Бабенко Хараламбос Марманис

     1

электронная книга Лучший выбор


Издательство: Символ-Плюс
Дата выхода: май 2011
Размер файла: 8650 Кб

Важный аспект современных коммерчески успешных приложений - применение методик, позволяющих осуществлять обработку информации и добавлять средства интеллектуальной поддержки. Многочисленные примеры успешных проектов, основанных на применении таких методик, включают такие широко известные бренды, как Google, Netflix и Amazon. Эта книга о том, как построить алгоритмы, формирующие интеллектуальное ядро таких веб­приложений.
В книге рассматриваются пять важных категорий алгоритмов: поиск, выработка рекомендаций, создание групп, классификация и ансамбли классификаторов. Исходный код написан на языке Java, тем не менее программистам, знающим другой объектноориентированный язык, вполне по силам разобраться в этом коде и использовать общие принципы с учетом своей специфики. Материал в равной степени применим к различным приложениям - от утилит мобильной связи до традиционных настольных приложений.
Издание в первую очередь адресовано программистам и веб­разработчикам, однако множество примеров и новых идей будут полезны и руководителям разного уровня, желающим лучше разобраться в соответствующих технологиях и предлагаемых возможностях с точки зрения бизнеса.

Об авторах
Хараламбос (Бабис) Марманис - пионер в области применения на практике методик машинного обучения. Обладает 20-летним опытом профессиональной разработки программного обеспечения. В настоящее время - директор научно-исследовательского подразделения и главный архитектор решений, связанных с управлением расходами, в фирме Emptoris, Inc. Имеет степень PhD в области прикладной математики (Брауновский университет), магистр теоретической и прикладной механики (Иллинойский университет в Урбана-Шампейн), бакалавр и магистр гражданского строительства (университет Аристотеля в Салониках). В 2000 году получил награду международного научно-исследовательского общества Sigma Xi за инновационные исследования; автор многочисленных публикаций в международных научных журналах и в периодических технических изданиях.
Дмитрий Бабенко возглавляет инфраструктуру информационного хранилища в фирме Emptoris, Inc. Специалист по программному обеспечению и архитектуре с 13-летним стажем работы в ИТ-индустрии. Разработал и создал набор разнообразных приложений и фреймворков для фирм, специализирующихся в области банковской деятельности, страхования, управления цепочкой поставок и бизнес-аналитики. Магистр вычислительной техники (Белорусский государственный университет информатики и радиоэлектроники).

Отзывы
Интересный и познавательный обзор алгоритмов и методик, связанных с созданием интеллектуальных веб-приложений
Данная книга - не увесистый том по искусственному интеллекту. Напротив, это стимулирующее мыслительный процесс, поучительное, доставляющее удовольствие чтение. В книге рассматриваются многие повседневные задачи, с которыми сталкиваются веб-приложения: поиск, кластеризация, релевантность и так далее. Такие задачи включают большие объемы, как правило, неполных, многомерных данных.
Я работаю с подобными задачами уже не один десяток лет, и эта книга - одна из лучших среди тех, что мне встречались. Она особо значима для задач, с которыми обычно имеют дело разработчики веб-приложений в эпоху Web 2.0.

Робин Хилльярд (Карлайл, шт. Массачусетс, США)

 


Отличное проникновение в суть структур интеллектуального Интернета
У меня приличные познания в области краулинга и индексирования веб-сайтов. Эту книгу приятно было читать, она дает точное, строгое техническое руководство по методикам информационного анализа. Здесь в простой, логически ясной манере рассматривается большинство вопросов, связанных с краулингом и индексированием веб-контента.
В книге приводятся прекрасные примеры программного кода на Java, в которых легко разобраться. Безусловно, авторы знают, о чем говорят. Чтобы чтение этой книги было максимально полезным, нужны некоторые навыки программирования на языке Java.

SwDev (Нью-Йорк)



Искусно разграничены предоставление готовых наборов команд и изучение алгоритмов
Это книга для действующего профессионала, который уже знает Java и хочет не просто реализовать интеллектуальные алгоритмы, но и вникнуть в их теоретические основы. Весь программный код написан на Java, так что не зная этого языка, вам будет несколько сложнее. Также полезно иметь некоторые базовые знания об алгоритмах, вроде тех, что изложены в книге "Introduction to Algorithms".
Автор пытается одновременно обучить основным алгоритмам информационного поиска в веб-среде и показать реализацию этих алгоритмов на языке Java. Одновременно и учебник и справочник удачно интегрированы в единое целое, и результатом явилась книга, которую я охотно рекомендую. Автор щедро использует схемы и иллюстрации, сначала объясняя происходящее на высоком уровне и демонстрируя псевдокод перед тем, как показать собственно программный код на языке Java. За этим следует обсуждение внутренних механизмов работы алгоритмов.
Отмечу, что там, где это возможно, используются высокоуровневые библиотеки, такие как Lucene, поскольку это все же книга для профессионалов, да и ваш босс не придет в восторг, если, реализуя алгоритмы, вы раз за разом изобретаете колесо. Но не волнуйтесь, программный код получает объяснение и в этом случае. Подходящей парой для книги Марманиса является другая хорошая книга, независимая от языка программирования, - "Machine Learning" (Mcgraw-Hill International). Она не новая, но хорошая.

calvinnme



Быстро станет классической книгой по алгоритмам, применяемым для наращивания возможностей интеллектуальных веб-приложений
Меня всегда интересовали вопросы ИИ, машинного обучения и анализа данных, но вводные книги казались мне слишком насыщенными математикой и сфокусированными, главным образом, на решении скорее академических, чем реальных прикладных задач. И мне любопытно было взглянуть, что представляет собой эта книга.
Прежде чем написать этот отчет, я прочел ее от корки до корки (дважды!). Пару месяцев тому назад я начал читать электронную версию, а в выходные еще раз прочел бумажную. Это лучшая практическая книга по машинному обучению, которую вы можете купить сегодня, - и все тут. Все примеры написаны на языке Java, а все алгоритмы растолкованы нормальным человеческим языком. Стиль - великолепный! Один автор (Марманис) написал книгу, а его соавтор (Бабенко) внес свой вклад, создав исходный код, поэтому в изложении нет зазоров: оно увлекательно, приятно и плавно. Автор ведет читателя от азов к довольно сложным вопросам. Одни темы в книге рассмотрены подробнее, другие представлены в виде заданий, сформулированных в конце каждой главы (разделы "Сделать" - отличная идея!).
Книга охватывает четыре краеугольные задачи машинного обучения и искусственного интеллекта, то есть интеллектуальный поиск, рекомендации, кластеризацию и классификацию. В ней также рассматривается предмет, который сегодня можно найти только в научной литературе, - объединение методик. Это очень мощная вещь, и хотя автор представляет объединение методик в контексте классификаторов, понятно, что то же самое можно сделать для рекомендаций - как это сделала команда Белла и Корра, чтобы получить приз Netflix.
Я работаю в финансовой фирме, и несколько моих сослуживцев имеют научные степени по математике и компьютерным наукам. Эта книга привела меня в такой восторг, что я попросил их взглянуть на нее. Они ее только хвалили. Общее решение таково, что все объяснено насколько можно просто, ясно, но без ущерба для правильности понимания. Как сказал мне один из них, это важный шаг в обучении методикам ИИ и представлении этой области знаний миллионам разработчиков всего мира. Даже эксперты в этой области и опытные специалисты по программному обеспечению сделают для себя важные открытия почти в каждой главе.
Мы разработали библиотеку для небольшого проекта, цель которого - анализ файлов журналов и оценка ИТ-риска (то есть оценка вероятности несанкционированного вторжения; вывод предупреждений о проблемах производительности приложения и т. Д.), взяв за основу программный код из книги Марманиса. Всё работает!
Безусловно, я глубоко впечатлен. Это выдающаяся книга; она была не только полезна - она вдохновляла! Книга из разряда "обязательных к прочтению" для каждого Java-разработчика.
В этой книге рассматриваются:
- алгоритм PageRank; алгоритм, основанный на сходстве контента и аналогичный алгоритму PageRank, который автор назвал DocRank, потому что он применим к документам Word, PDF и другим, а не к веб-страницам; улучшенный поиск на базе вероятностных методов (наивный байесовский алгоритм); точность, полнота поиска, F1-оценка и ROC-кривые;
- коллаборативная фильтрация, а также выработка рекомендаций, основанная на сходстве контента;
- алгоритмы k-средних, ROCK, DBSCAN для кластеризации; лучшее из всех объяснение "проклятия размерности"! Наконец-то, я узнал, что означает это загадочное понятие!
- байесовская классификация; декларативное программирование (посредством процессора выполнения правил Drools); введение в нейронные сети; деревья решений;
- сравнение и объединение классификаторов: тест Макнемара; Q-тест Кохрана; F-тест; методики bagging и boosting; универсальные ансамбли классификаторов.
Купите эту книгу, читайте ее, наслаждайтесь ею и используйте ее!

Майкл Мимо (Нью-Йорк, шт. Нью-Йорк, США)


Автор ясно мыслит и излагает
Накануне вечером я присутствовал на встрече автора с группой пользователей New England Java User's Group, где рассматривалась та же самая тема, что и в книге. Автор - обаятельный чудак - излагает материал так, что сугубо математические аспекты вычисления рекомендаций на основе сходства вызывают интерес. Его примеры достаточно просты, чтобы их можно было легко понять, и вместе с тем достаточно полны, чтобы проиллюстрировать глубину и сложность решаемых задач.

Брайан Тарбокс (Литтлтон, шт. Массачусетс, США)