Архив для категории: ‘AI’

Что такое поисковая машина

Первый шаг при создании поисковой машины – разработать методику сбора документов. Иногда для этого применяется ползание (начинаем с небольшого набора документов и переходим по имеющимся в них ссылкам), а иногда отправной точкой служит фиксированный набор документов, быть может, хранящихся в корпоративной сети интранет. Далее собранные документы необходимо проиндексировать. Обычно для этого строится большая таблица, содержащая […]

Читать далее »

Подсчет количества слов в RSS-канале

Почти все блоги можно читать напрямую или с помощью RSS-каналов. RSS-канал – это простой XML-документ, содержащий информацию о блоге и всех записях в нем. Первый шаг процедуры получения счетчиков слов – проанализировать эти каналы. На наше счастье, существует библиотека Universal Feed Parser, которая прекрасно справляется с этой задачей. Ее можно скачать с сайта http://www.feedparser.org.

Читать далее »

Мутация программ

Отобранные наилучшие программы копируются и модифицируются для включения в следующее поколение. Выше уже отмечалось, что мутация заключается в небольшом изменении одной программы. Изменить древовидную программу можно разными способами, например изменив функцию в каком-то узле или одну из ветвей. Если для новой функции требуется другое количество дочерних узлов, то либо какие- то ветви удаляются, либо добавляются […]

Читать далее »

Библиотека NumPy

В стандартном дистрибутиве Python нет функций для операций над матрицами. Хотя их несложно написать самостоятельно, но лучше установить пакет NumPy, который не только предоставляет объект matrix и поддерживает все необходимые операции, но и сравним по производительности с коммерческими программами. Загрузить этот пакет можно с сайта http://numpy.scipy.org.

Читать далее »

Случайный поиск

– не самый лучший метод оптимизации, но он позволит нам ясно понять, чего пытаются достичь все алгоритмы, а также послужит эталоном, с которым можно будет сравнивать другие алгоритмы. Соответствующая функция принимает два параметра. Domain – это список пар, определяющих минимальное и максимальное значения каждой переменной. Длина решения совпадает с длиной этого списка. В нашем примере […]

Читать далее »

k-ближайшие соседи

Ранее рассматривалась тема числового прогнозирования с помощью алгоритма fe-ближайших соседей (kNN). С его помощью были построены модели прогнозирования цен. Алгоритм рекомендования ранее, который прогнозировал, понравится ли данному человеку некий фильм или ссылка, тоже был основан на упрощенном варианте kNN.

Читать далее »

Восполнение отсутствующих данных

Еще одно достоинство деревьев решений заключается в их способности восполнять отсутствующие данные. В имеющемся у вас наборе данных какая-то информация может отсутствовать. Так, в рассматриваемом примере не всегда удается определить географическое местонахождение по IP-адресу, поэтому соответствующее поле может быть пусто. Чтобы приспособить дерево решений к такой ситуации, нужно будет по-другому реализовать функцию прогнозирования. Если отсутствуют […]

Читать далее »

Скрещивание

Другой вид модификации программ – это скрещивание. Для этого две успешные программы комбинируются с целью получения новой. Обычно это делается путем замены какой-то ветви одной программы ветвью другой. На рис. 11.5 приведен соответствующий пример.

Читать далее »

Моделирование с помощью деревьев решений

Выше вы ознакомились с различными автоматическими классификаторами, а в этой статье мы продолжим эту тему и поговорим об очень полезном методе, который называется обучением деревьев решений. В отличие от других классификаторов, модели, порождаемые деревьями решений, легко поддаются интерпретации. Список чисел, которые выдает байесовский классификатор, говорит об относительной важности каждого слова, но для получения окончательного результата […]

Читать далее »

Иерархическая кластеризация

Кластеризация применима к любому набору образцов, имеющих одно или несколько числовых свойств. В приведенном ранее примере свойствами блогов были счетчики слов, но, в принципе, для кластеризации подойдет любой набор чисел. Для демонстрации работы алгоритма кластеризации рассмотрим простую таблицу образцов (какие-то буквы алфавита) и некоторые числовые свойства (табл. 12.7).

Читать далее »
 
Rambler's Top100