
- •1(1). Информация. Данные и знания.
- •2(1). Адекватность информации. Синтаксическая. Семантическая. Прагматическая.
- •4(1). Эволюция технологий анализа данных.
- •5(1). Терминология анализа данных. Понятие модели и моделирования.
- •7(1). Алгоритмы сжатия. Словарное кодирование.
- •Объем требуемой памяти
- •8(1). Статистика. Machine Learning.
- •10(1). Предпосылки возникновения хранилищ данных. Архитектуры.
- •11(1). Oltp и olap системы.
- •12(1). Детализированные и агрегированные данные.
- •13(1). Сравнение схем хд. Звезда и снежинка.
- •14(1). Назначение etl системы.
- •15(1). Очистка данных. Назначение. Классификация проблем в «грязных» данных.
- •16(1). Обогащение данных. Назначение.
- •17(1). Трансформация данных. Назначение.
- •18(1). Цели квантования, выбор числа интервалов квантования, методы квантования.
- •19(1). Основные методы нормализации.
- •20(1). Нормализация с помощью поэлементных преобразований.
- •21(1). Кодирование категориальных данных.
- •22(2). Преобразование даты и времени, группировка и разгруппировка данных.
- •1.(2)Генетический алгоритм. Назначение. Плюсы и минусы
- •2.(2)Генетический алгоритм. Кодирование хромосом
- •3.(2)Генетический алгоритм. Алгоритмы скрещивания и мутации
- •4.(2) Генетический алгоритм. Стратегии. Элитизм. Островная модель
- •5.(2)Нечеткая логика. Фазификация и дефазификация.
- •Принцип построения алгоритма нечеткого вывода.
- •6.(2)Нечеткая логика. Нечеткий логический вывод.
- •8.(2)Регрессия. Назначение и применение
- •11.(2)Ассоциативные правила. Назначение и применение
- •13.(2)Модель нейрона. Сумматор. Функция активации
- •1 . Единичный скачок или жесткая пороговая функция
- •2 . Линейный порог или гистерезис
- •3. Сигмоидальная функция или сигмоид
- •14.(2)Нейронные сети. Многослойный персептрон (mlp).
- •Персептрон
- •15.(2)Нейронные сети. Карты Кохонена.
- •16.(2)Визуализация данных. Графики
- •График рассеивания
- •17.(2)Визуализация данных. Диаграммы.
- •18.(2)Визуализация данных. Гистограммы и статистика
- •20.(2)Визуализация данных. Диаграммы рассеяния
- •22.(2)Специализированые методы визуализации (в примерах).
2.(2)Генетический алгоритм. Кодирование хромосом
Генетический алгоритм - это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Является разновидностью эволюционных вычислений, с помощью которых решаются оптимизационные задачи с использованием методов естественной эволюции, таких как наследование, мутации, отбор и кроссинговер. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.
Описание алгоритма - Задача формализуется таким образом, чтобы её решение могло быть закодировано в виде вектора («генотипа») генов, где каждый ген может быть битом, числом или неким другим объектом. В классических реализациях ГА предполагается, что генотип имеет фиксированную длину. Однако существуют вариации ГА, свободные от этого ограничения. Некоторым, обычно случайным, образом создаётся множество генотипов начальной популяции. Они оцениваются с использованием «функции приспособленности», в результате чего с каждым генотипом ассоциируется определённое значение («приспособленность»), которое определяет насколько хорошо фенотип, им описываемый, решает поставленную задачу. При выборе «функции приспособленности» (или fitness function в англоязычной литературе) важно следить, чтобы её «рельеф» был «гладким». Из полученного множества решений («поколения») с учётом значения «приспособленности» выбираются решения (обычно лучшие особи имеют большую вероятность быть выбранными), к которым применяются «генетические операторы» (в большинстве случаев «скрещивание» — crossover и «мутация» — mutation), результатом чего является получение новых решений. Для них также вычисляется значение приспособленности, и затем производится отбор («селекция») лучших решений в следующее поколение. Этот набор действий повторяется итеративно, так моделируется «эволюционный процесс», продолжающийся несколько жизненных циклов (поколений), пока не будет выполнен критерий остановки алгоритма. Таким критерием может быть:
- нахождение глобального, либо субоптимального решения;
- исчерпание числа поколений, отпущенных на эволюцию;
- исчерпание времени, отпущенного на эволюцию.
Генетические алгоритмы служат, главным образом, для поиска решений в многомерных пространствах поиска.
Таким образом, можно выделить следующие этапы генетического алгоритма:
- Задать целевую функцию (приспособленности) для особей популяции
- Создать начальную популяцию
(Начало цикла)
Размножение (скрещивание)
Мутирование
Вычислить значение целевой функции для всех особей
Формирование нового поколения (селекция)
Если выполняются условия остановки, то (конец цикла), иначе (начало цикла).
Создание начальной популяции
Перед первым шагом нужно случайным образом создать начальную популяцию; даже если она окажется совершенно неконкурентоспособной, вероятно, что генетический алгоритм все равно достаточно быстро переведет ее в жизнеспособную популяцию. Таким образом, на первом шаге можно особенно не стараться сделать слишком уж приспособленных особей, достаточно, чтобы они соответствовали формату особей популяции, и на них можно было подсчитать функцию приспособленности (Fitness). Итогом первого шага является популяция H, состоящая из N особей.