- •1. Определение искусственного интеллекта. Искусственный интеллект (ии) можно определить как область компьютерной науки, занимающуюся автоматизацией разумного поведения.
- •. Тест Тьюринга.
- •3. Искуственный интеллект Обзор прикладных областей искусственного интеллекта. Основные сферы применения искусственного интеллекта.
- •4. Интеллектуальные информационные системы: определение и области применения.
- •5.Интеллектуальный анализ данных( определение ,задач, особенности )
- •10.Интеллектуальные информационно-поисковые системы.
- •11. Экспертные системы. Краткая характеристика. Общие задачи.
- •Исследовательский цикл разработки.
- •. Концептуальная модель.
- •Поиск на основе данных и цели. Графы.
- •Поиск в глубину и ширину.
- •12. Экспертные системы, основанные на правилах(эс на основе цели, объяснение и прозрачность при рассуждении на основе цели, Эс на основе данных, примечание)
- •17. Экспертные системы, основанные на данных.
- •13. Рассуждения на основе моделей.
- •14. Рассуждения на основе опыта.
- •16. Рассуждения на основе правил (достоинства и недостатки).
- •Рассуждения на основе опыта (достоинства и недостатки).
- •Рассуждения на основе моделей (достоинства и недостатки).
- •24. Гибридные системы.
- •20. Семантические сети.
- •21. Фреймы.
- •22. Концептуальные графы: введение, типы, экземпляры, имена.
- •Обобщение и специализация.
- •17.Нейронные сети(определение,основы,нйрон,персептрон(недостаток) )
- •Нейрон Мак-Каллока-Питтса.
- •Персептрон ф. Розенблата.
- •18. Карты Кохонена.
- •7.Деревья решений
- •Правило остановки. Разбивать дальше узел или отметить его как лист?
- •8. Деревья решений - математический аппарат (алгоритм с 4.5).
- •Например если один из атрибутов содержит фио клиентов, то gain(X) скорее всего выберет его.
- •9. Деревья решений - математический аппарат (алгоритм cart).
- •Правила разбиения
- •6. Ассоциативные правила. Алгоритм ограниченного перебора.
- •19.Генетические алгоритмы( Социальные и эмерджентные модели обучения,Игра жизнь,генетические алгоритмы,системы классификации на основе га)
- •Системы классификации
Правила разбиения
Вектор предикторных переменных, подаваемый на вход дерева может содержать как числовые (порядковые) так и категориальные переменные. В любом случае в каждом узле разбиение идет только по одной переменной. Если переменная числового типа, то в узле формируется правило вида xi <= c. Где с – некоторый порог, который чаще всего выбирается как среднее арифметическое двух соседних упорядоченных значений переменной xi обучающей выборки. Если переменная категориального типа, то в узле формируется правило xi V(xi), где V(xi) – некоторое непустое подмножество множества значений переменной xi в обучающей выборке. Следовательно, для n значений числового атрибута алгоритм сравнивает n-1 разбиений, а для категориального (2n-1 – 1). На каждом шаге построения дерева алгоритм последовательно сравнивает все возможные разбиения для всех атрибутов и выбирает наилучший атрибут и наилучшее разбиение для него.
Предлагаемое алгоритмическое решение.
Договоримся, что источник данных, необходимых для работы алгоритма, представим как плоская таблица. Каждая строка таблицы описывает один пример обучающей/тестовой выборки.
Каждый шаг построения дерева фактически состоит из совокупности трех трудоемких операций.
Первое – сортировка источника данных по столбцу. Необходимо для вычисления порога, когда рассматриваемый в текущий момент времени атрибут имеет числовой тип. На каждом шаге построения дерева число сортировок будет как минимум равно количеству атрибутов числового типа.
Второе – разделение источника данных. После того, как найдено наилучшее разбиение, необходимо разделить источник данных в соответствии с правилом формируемого узла и рекурсивно вызвать процедуру построения для двух половинок источника данных.
Обе этих операции связаны (если действовать напрямую) с перемещением значительных объемов памяти. Здесь намеренно источник данных не называется таблицей, так как можно существенно снизить временные затраты на построение дерева, если использовать индексированный источник данных. Обращение к данным в таком источнике происходит не напрямую, а посредством логических индексов строк данных. Сортировать и разделять такой источник можно с минимальной потерей производительности.
Третья операция, занимающая 60–80% времени выполнения программы – вычисление индексов для всех возможных разбиений. Если у Вас n – числовых атрибутов и m – примеров в выборке, то получается таблица n*(m-1) – индексов, которая занимает большой объем памяти. Этого можно избежать, если использовать один столбец для текущего атрибута и одну строку для лучших (максимальных) индексов для всех атрибутов. Можно и вовсе использовать только несколько числовых значений, получив быстрый, однако плохо читаемый код. Значительно увеличить производительность можно, если использовать, что L = N – R, li = "ni" – ri , а li и ri изменяются всегда и только на единицу при переходе на следующую строку для текущего атрибута. То есть подсчет числа классов, а это основная операция, будет выполняться быстро, если знать число экземпляров каждого класса всего в таблице и при переходе на новую строку таблицы изменять на единицу только число экземпляров одного класса – класса текущего примера.
Все возможные разбиения для категориальных атрибутов удобно представлять по аналогии с двоичным представлением числа. Если атрибут имеет n – уникальных значений. 2n – разбиений. Первое (где все нули) и последнее (все единицы) нас не интересуют, получаем 2n – 2. И так как порядок множеств здесь тоже неважен, получаем (2n – 2)/2 или (2n-1 – 1) первых (с единицы) двоичных представлений. Если {A, B, C, D, E} – все возможные значения некоторого атрибута X, то для текущего разбиения, которое имеет представление, скажем {0, 0, 1, 0, 1} получаем правило X in {C, E} для правой ветви и [ not {0, 0, 1, 0, 1} = {1, 1, 0, 1, 0} = X in {A, B, D} ] для левой ветви.
Часто значения атрибута категориального типа представлены в базе как строковые значения. В таком случае быстрее и удобнее создать кэш всех значений атрибута и работать не со значениями, а с индексами в кэше.
