страниц: 368;
масса, г.: 450;
размеры (высота, ширина, толщина), см.: 24x17x2
обложка: мягкая;
бумага: офсетная
переводное издание
оригинал: "Programming Collective Intelligence"
ISBN 0-596-52932-5
язык: английский
год издания: 2007
Аннотация к книге
Хотите знать, как реализуются ранжирование результатов поиска, рекомендование товаров, социальные закладки и онлайновый подбор пар? В этой захватывающей книге рассказывается, как построить приложение Web 2.0, которое будет извлекать полезную информацию из гигантского массива данных, создаваемых партнерскими интернет-приложениями. Пользуясь описанными здесь изощренными алгоритмами, вы сможете писать интеллектуальные программы, которые получают интересные наборы данных с других сайтов или от пользователей ваших приложений и анализируют их на предмет выявления закономерностей.
Книга "Программируемколлективныйразум" – это введение в мир машинного обучения и статистики. В ней объясняется, как делать полезные с точки зрения маркетинга выводы о поведении и предпочтениях пользователей на основе информации, ежедневно собираемой вашими и сторонними приложениями. Каждый алгоритм описан четко и кратко и сопровождается кодом, который можно сразу же включить в собственный сайт, блог, Вики или какое-нибудь специализированное приложение. Рассмотрены следующие темы:
Методы коллаборативной фильтрации, позволяющие розничным продавцам рекомендовать товары или мультимедийную продукцию.
Методы кластеризации, применяемые для обнаружения групп схожих образцов в большом наборе данных.
Алгоритмы оптимизации, позволяющие рассмотреть миллионы возможных решений задачи и выбрать среди них наилучшее.
Байесовская фильтрация, применяемая в антиспамных фильтрах для классификации документов на основе встречающихся слов и других признаков.
Метод опорных векторов, применяемый для подбора пар на сайтах знакомств.
Применение эволюционных методик для решения различных задач – компьютер обучается, улучшая собственный код после каждой сыгранной игры.
Каждая глава сопровождается практическими заданиями, направленными на овладение рассмотренных в ней алгоритмов. Выйдите за рамки простых приложений с хранением в базе данных и заставьте богатейшие россыпи данных в Интернете работать на вас.
Все примеры в книге написаны на языке Python. Кроме того, автор подробно разъясняет алгоритмы, что делает их понятными для тех, кто пишет на друих языках.
без темы (26/01/2010)
Как и многие новации в Интернете, книга предлагает решения хорошо известные математикам - даже такого любительского уровня как я :)
Однако есть и плюс:
-решения доведены до программной реализации;
-используют готовые библиотеки и функции;
-в качестве поля для экспериментов и опытов - безграничное пространство Интернета.
Главное - идея! (19/01/2010)
Впервые столкнулся с этим изданием в книжном магазине, пролистал по бысторому, т.к. не было времени вникать в суть. Однако запомнив название, нашел сдесь демо листинг одной из глав и сильно загорелся желаним купить эту книгу, и что вы думаете мозг просто вывернуло от полученного восторга, на сколько все просто и предсказуемо мы все живем.
Причем больше всего меня удивило, что о Python до этого я слышал не много, зная, что синтаксис его схож с Perl, но то что на столько....
Однако не стоит пугаться, что основная часть примеров написаны на Python. Сделано, это настолько понятно что, могут быть реализованы и на других языках вполне легко.
Но главное не программынй код, а сама идея реализации, поэтому читать рекомендую любому маркетологу и всем кого интересует эта тема, даже тех кто не имеет опыта в программировании вообще.
Побольше бы переводили книг этого издательства.
must have (14/01/2010)
В книге приведено очень много умных (не заумных, а именно умных) мыслей по поводу каким должно быть современное ПО. Все алгоритмы описаны на языке программирования Python. Он позиционируется автором как мета язык, с помощью которого и может быть описан любой алгоритм. На самом деле каких-то специфических знаний от вас вовсе не потребуется, но математическое образование лишним точно не будет. Очень многое разжевано. Хотя некоторое просто не раскрыто, что может привести к неправильному восприятию читателем некоторых математических методов решения задач.
Книгу стоит читать с карандашем или ручкой (можно и блокнот, но я пишу на полях в книге), чтоб править некоторые описки и прорабатывать материал.
Не хватает иногда перекрестных ссылок внутри книги. Например, когда речь идет о ранее созданных функциях и классах.
стр. 63 - не затронута весьма интересная тема - критерий остановки кластеризации, как определить, что кластеров 4, а не 124? Я к тому, что в итоге в приведенной кластеризации всегда получается один кластер. Ну и получится в итоге, что у нас все предъявленные объекты в одном "кластерном" скопе. А это не интересно.
стр. 69 - немного не правильно приведена формула коэффициента Танимото, так как она расходится с определением данным выше, на самом деле вычисляется "модифицированный" коэффициент Танимото, имеющий значение от (1-T), где T - это и есть коэф. Танимото.
стр. 71 - очень скользкий момент представления данных на двумерной плоскости, это не всегда возможно. Достаточно попробовать спроецировать тетраэдр. Ошибка проекции может быть весьма и весьма велика при этом.
стр. 83 - представлена модель базы данных, но неряшливо, ненаглядно, лапки один-ко-многим пришлось самому дорисовывать. Да и вообще не хватает в приложении итоговой ER-модели с таблицами pagerank, hiddennode, wordhidden,hiddenurl,fc,cc.
стр. 83 - скрипт создания базы, я бы добавил столбец urlid в индекc worldlocation.
стр. 95 - на рисунке, не хватает дополнительной стрелки во вне из блока "С 0.7". Иначе приводимые ниже вычисления матрицы перехода неверны.
стр. 96 - не сказано, как вычислить достаточное число итераций прохождения алгоритма PageRank. фраза "20 должно быть достаточно" - меня лично не устраивает
стр. 97 - используются веса нескольких метрик, но вот не пойму, почему веса не нормализованы, это же гораздо удобней, когда и итоговые данные распределены от 0 до 1. Ведь сами отдельные метрики и распределены от 0 до 1. А веса какие-то мутные и итоговая метрика получается в интервале от 0 до 3 (именно в контексте этого примера). А ведь от 0 до 1 - все таки приятнее
стр. 105 - "обучение с обратным распространением". Это же совсем легко понять, когда знаешь как оперировать матрицами(складывать и перемножать) . Зачем эти вложенные мегациклы, когда здесь проще показать именно формулу - "вектор умножить на вектор, получить матрицу, и сложить с исходной матрицей - получим искомую матрицу". Я думал автор пробует избежать понятия матриц, но он их все равно вводит гораздо позже в другой теме. Почему б не ввести это понятие именно тут, а не на аж стр. 267?
стр. 114 - во втором столбце представления результатов оптимизации, судя по формату и данным исходно файла, должны стоять сокращения названий.
стр.111-143 - "Случайный поиск", "Алгоритм спуска", "Алгоритм имитации отжига", "Генетические алгоритмы" - все имеют первое полученное случайным образом решение, от которого и "пляшут" далее. Другие алгоритмы оптимизации не описаны и не упомянуты. Непросвещенный подумает "Значит все методы оптимизации основываются на первом случайном решении". А это не так.
стр. 122 - как вам строчка сравнения значений статистик random.random()
без темы (29/12/2009)
Более верное название данной книги дано мелким шрифтом: "Создание интеллектуальных приложений для Web 2.0". А еще более правильно было бы назвать "Простые и наглядные примеры использования алгоритмов искусственного интеллекта".
Книга содержит простые, наглядные и работающие примеры реализации алгоритмов коллаборативной фильтрации (поиск объектов, которые нравятся тем пользователям, которым нравится то же что и Вам), классификация, группировка и кластеризация (из области Data Mining), текстовый поиск и ранжирование результатов (сделай свой маленький гугл :)), алгоритмы оптимизации (подбора оптимальных параметров для получения требуемого значения), фильтрация спама, автоматическая классификация документов, моделирование и прогнозирование цен, создание нейросети, использование генетических алгоритмов.
Книга содержит относительно простые и давно известные приемы, ничего уникального в них нет, зато они дано просто и понятно, чтобы каждый мог понять как это работает и как это сделать самому.
nice (21/12/2009)
Книга must have, даже если ты не являешься python программером.
без темы (16/11/2009)
классная книга, жалко что так долго ее переводили.
Для тех кто не верит в мощь питона...
без темы (23/09/2009)
замечательная книга! рекомендую всем! много интересных алгоритмов, все раскладывают по полочкам! рекомендую!
без темы (25/07/2009)
Стоящая вещь, которая обязательно должна присутствовать у любого веб-программиста, желающего идти в ногу со временем. Немногочисленные ошибки в коде, а также частое отсутствие в нем красоты, не делает ее хуже. Брать, не сомневаясь.
отличная книженция! (02/04/2009)
1. Примеры на питоне!!!!
2. Все очень доступно и понятно!!!
3. Очень интересные темы, прочитал первые 2, и даже если остальное не очень, то уже книга окупилась!
4. Советую всем кто кому надоело делать г**носайты, кто хочет создать что действительно потрясающее :)
5. Отвечаю не пожалеете!