- Способы нормализации переменных
- Линейная нормализация
- Нелинейная нормализация
- Общая схема процедуры нормализации
- Методы одномерной оптимизации. Методы одномерной оптимизации на основе преобразования задач. Поисковые методы одномерной оптимизации, страница 7
- Лекция №3 нормализация данных
- Универсальный подход (почти) к любой задаче машинного обучения
- Данные
- Типы целевых переменных
- Метрика
- Библиотеки
Способы нормализации переменных
Необходимость нормализации выборок данных обусловлена самой природой используемых переменных нейросетевых моделей. Будучи разными по физическому смыслу, они зачастую могут сильно различаться между собой по абсолютным величинам.
Так, например, выборка может содержать и концентрацию, измеряемую в десятых или сотых долях процентов, и давление в сотнях тысяч паскаль.
Нормализация данных позволяет привести все используемые числовые значения переменных к одинаковой области их изменения, благодаря чему появляется возможность свести их вместе в одной нейросетевой модели.
Обратите внимание
Чтобы выполнить нормализацию данных, нужно точно знать пределы изменения значений соответствующих переменных (минимальное и максимальное теоретически возможные значения). Тогда им и будут соответствовать границы интервала нормализации. Когда точно установить пределы изменения переменных невозможно, они задаются с учетом минимальных и максимальных значений в имеющейся выборке данных.
Наиболее распространенный способ нормализации входных и выходных переменных – линейная нормализация.
Линейная нормализация
Примем следующие обозначения:
– xik, yjk – i-е входное и j-е выходное значения k-го примера исходной выборки в традиционных единицах измерения, принятых в решаемой задаче;
– – соответствующие им нормализованные входное и выходное значения;
– N – количество примеров обучающей выборки.
Тогда переход от традиционных единиц измерения к нормализованным и обратно с использованием метода линейной нормализации осуществляется с использованием следующих расчетных соотношений:
– при нормализации и денормализации в пределах [0, 1]:
; (1)
; (2)
– при нормализации и денормализации в пределах [–1, 1]:
;
,
где
;
.
Если обучающая выборка не содержит примеров с потенциально возможными меньшими или большими выходными значениями, можно задаться шириной коридора экстраполяции для левой, правой или обеих границ в долях от длины всего первоначального интервала изменения переменной, обычно не более 10 % от нее. В этом случае происходит переход от фактических границ из обучающей выборки к гипотетическим:
.
Нелинейная нормализация
Один из способов нелинейной нормализации – с использованием сигмоидной логистической функции или гиперболического тангенса. Переход от традиционных единиц измерения к нормализованным и обратно в данном случае осуществляется следующим образом:
– при нормализации и денормализации в пределах [0, 1]:
;
,
где xc i, yc j – центры нормализуемых интервалов изменения входной и выходной переменных:
;
– при нормализации и денормализации в пределах [–1, 1]:
;
.
Параметр aвлияет на степень нелинейности изменения переменной в нормализуемом интервале. Кроме того, при использовании значений a
Общая схема процедуры нормализации
До настоящего раздела в этой (и предшествующей) главе рассматривалась технология декомпозиции без потерь, предназначенная для использования в процессе проектирования базы данных. Основная идея состоит в следующем.
Пусть дана некоторая переменная отношения R, представленная в 1НФ, в совокупности с набором определенных для нее функциональных зависимостей, многозначных зависимостей и зависимостей соединения. Задача заключается в систематическом разбиении исходной переменной отношения R на такой набор меньших (т.е.
имеющих меньшую степень) переменных отношения, который в некотором заданном смысле будет эквивалентен переменной отношения R, но с определенной точки зрения будет также более предпочтительным2. Каждый этап процесса такого преобразования заключается в разбиении на проекции переменных отношения, полученных на предыдущем этапе.
При этом на каждом этапе преобразования существующие ограничения используются для выбора тех проекций, которые будут получены в этот раз. Весь процесс можно неформально определить с помощью перечисленных ниже правил.
1. Переменную отношения в 1НФ следует разбить на такие проекции, которые по зволят исключить все функциональные зависимости, не являющиеся неприводи мыми. В результате будет получен набор переменных отношения в 2НФ.
2. Полученные переменные отношения в 2НФ следует разбить на такие проекции, которые позволят исключить все существующие транзитивные функциональные зависимости. В результате будет получен набор переменных отношения в ЗНФ.
3. Полученные переменные отношения в ЗНФ следует разбить на проекции, позво ляющие исключить все оставшиеся функциональные зависимости, в которых де терминанты не являются потенциальными ключами. В результате такого приведе ния будет получен набор переменных отношения в НФБК.
Примечание. Правила 1—3 могут быть объединены в одно: “Исходную переменную отношения следует разбить на проекции, позволяющие исключить все функциональные зависимости, в которых детерминанты не являются потенциальными ключами”.
Важно
4. Полученные переменные отношения в НФБК следует разбить на проекции, позво ляющие исключить все многозначные зависимости, которые не являются также функциональными.
В результате будет получен набор переменных отношения в 4НФ. Примечание.
На практике такие многозначные зависимости обычно исключаются перед выполнением этапов 1-3 (на этапе “устранения независимых МЗЗ”), как описано в разделе 13.2.
5. Полученные переменные отношения в 4НФ следует разбить на проекции, позво ляющие исключить все зависимости соединения, которые не определяются потен циальными ключами (хотя в данном случае в определение следовало бы добавить фразу “если удастся их выявить”). В результате будет получен набор переменных от ношения в 5НФ.
2 Если переменная отношения R включает какие-либо (необходимые) атрибуты со значением в виде отношения, то предполагается, что такая ее структура была принята сознательно. Нежелательные атрибуты со значением в виде отношения могут быть устранены, как было описано в разделе 13.2.
По поводу приведенных выше правил можно сделать несколько дополнительных замечаний.
Процесс разбиения на проекции на каждом этапе должен быть выполнен без потерь и с сохранением зависимостей (там, где это возможно).
1. Обратите внимание, что существует довольно привлекательный набор следующих альтернативных определений НФБК, 4НФ и 5НФ (как было впервые отмечено Фейгином в [13.15]):
■ переменная отношения R находится в НФБК тогда и только тогда, когда каждая функциональная зависимость, удовлетворяемая переменной отношения R, определяется ее потенциальными ключами;
■ переменная отношения R находится в 4НФ тогда и только тогда, когда каждая многозначная зависимость, удовлетворяемая переменной отношения R, опре деляется ее потенциальными ключами;
■ переменная отношения R находится в 5НФ тогда и только тогда, когда каждая зависимость соединения, удовлетворяемая переменной отношения R, опреде ляется ее потенциальными ключами.
Аномалии обновления, обсуждавшиеся в главе 12 и в предыдущих разделах данной главы, были вызваны именно теми функциональными зависимостями, многозначными зависимостями или зависимостями соединения, которые не определялись потенциальными ключами. (Подразумевается, что все упомянутые здесь функциональные, многозначные зависимости и зависимости соединения являются нетривиальными.)
2. Общее назначение процесса нормализации заключается в следующем:
■ исключение некоторых типов избыточности;
■ устранение некоторых аномалий обновления;
■ разработка проекта базы данных, который является достаточно “качествен ным” представлением реального мира, интуитивно понятен и может служить хорошей основой для последующего расширения;
■ упрощение процедуры применения необходимых ограничений целостности.
Последний пункт данного списка следует рассмотреть отдельно. Общая идея (как отмечалось в других главах этой книги) состоит в том, что из одних ограничений целостности следуют другие. В качестве простейшего примера можно привести ограничение для суммы зарплаты, которая должна быть выше 10 000 долл., а следовательно, выше нуля.
Таким образом, если из ограничения А следует ограничение в, то соблюдение ограничения А автоматически влечет за собой соблюдение ограничения В (поэтому даже нет необходимости явно задавать ограничение в, за исключением того, что оно может быть упомянуто в комментарии).
Тогда приведение к 5НФ представляет собой простой способ наложения некоторых важных и весьма распространенных ограничений.
Главное — обеспечить поддержку уникальности потенциальных ключей, после чего все зависимости соединения (а также все многозначные и функциональные зависимости) будут реализованы СУБД автоматически, поскольку все они определяются потенциальными ключами.
3. Необходимо вновь подчеркнуть тот факт, что данные рекомендации по поводу нормализации являются всего лишь рекомендациями и, вероятно, могут сущест вовать соображения, по которым нормализацию не следует выполнять до конца.
Совет
Классическим примером ситуации, когда полная нормализация не желательна, является переменная отношения имени и адреса NADDR (см. упр. 12.7 главы 12), хотя следует признать, что этот пример не совсем убедителен.
Как правило, нор мализацию рекомендуется выполнять полностью.
4. Необходимо еще раз повторить сделанное в главе 12 замечание о том, что понятия зависимости и дальнейшей нормализации по своему характеру являются семанти ческими, т.е.
они связаны со смыслом данных, тогда как реляционная алгебра и ре ляционное исчисление, а также построенные на их основе языки наподобие SQL, наоборот, имеют дело со значениями данных и не требуют (да и не могут требовать) выполнения нормализации выше первого уровня.
Рекомендации по выполнению дальнейшей нормализации должны рассматриваться прежде всего как методика, позволяющая разработчику базы данных (и, следовательно, ее пользователю) вы разить определенную часть семантики реального мира (пусть даже небольшую) в простой и понятной форме.
5. Исходя из сказанного выше, необходимо отметить, что идеи нормализации чрез вычайно полезны для проектирования баз данных, но они отнюдь не являются универсальным средством. Ниже перечислены некоторые причины подобного по ложения дел (этот список дополнен в [13.9]).
■ Нормализация (как упоминалось выше, в главе 9) действительно позволяет реализовать (в очень простой форме) определенные ограничения целостности, но
на практике, помимо зависимостей соединения, функциональных и многозначных
зависимостей, существуют и другие типы ограничений.
■ Декомпозиция может быть неуникальной (как правило, имеется несколько способов приведения заданного набора переменных отношения к 5НФ), но существует очень мало объективных критериев, позволяющих выбрать один из альтернативных вариантов декомпозиции.
■ Как упоминалось в разделе 12.5 (пример декомпозиции переменной отноше ния SJT), преследование одновременно двух целей (т.е. приведение к НФБК и сохранение зависимостей) в некоторых случаях приводит к конфликтной си туации.
■ Процедура нормализации позволяет избавиться от избыточности за счет раз биения на проекции, но не всякую избыточность можно устранить таким обра зом (это — “проблема переменной отношения CTXD”, см. аннотацию к [13.13]).
Следует также отметить, что хорошие методики нисходящего проектирования позволяют тем или иным конкретным способом создавать полностью нормализованный проект базы данных (см. главу 14).
Методы одномерной оптимизации. Методы одномерной оптимизации на основе преобразования задач. Поисковые методы одномерной оптимизации, страница 7
Поисковые методы оптимизации составляют класс методов нелинейного программирования. Вспомним еще раз постановку задачи оптимизации:
(3.1)
при условиях
(3.2)
Часто критерийне имеет явного выражения, либо функции(3.1), (3.1) являются трудно вычислимыми нелинейными функциями. Задачи такого типа составляют предмет нелинейного программирования.
Как правило, решение задач нелинейного программирования может быть найдено только численными методами. В настоящее время для решения надобных задач разработано значительное число методов. Однако все еще не предоставляется возможным отдать предпочтенное какому-либо одному из них.
Поисковые методы оптимизации основаны на постоянном перемещении в пространстве переменных в направлении к оптимальному значению функции.
Различные методы поиска отличаются способом определения направления движения к оптимуму, размером шага и продолжительного поиска вдоль найденного направления, критериями окончания поиска, простотой алгоритмизации для ЭВМ.
Нормирование переменных. Переменные в конкретных задачах могут иметь самый различный физический смысл и разные единицы измерения. Поэтому при решении оптимальных задач численными методами целесообразно оперировать с их безразмерными нормализованными значениями.
Обратите внимание
Обычно для нормализации применяется возможный диапазон изменения значений независимых переменных
.
Вводя безразмерные переменные
;, (3.3)
исходную задачу (3.1), (3.2) выражают через них, решают преобразованную задачу, определяют оптимальное значения нормированных переменных, а через них оптимальные значения исходных переменных,:
;
при
Линии уровня. В соответствии с (3.1) критерийможет рассматриваться как функция, определенная n-мерном пространстве переменных Поскольку наглядное графическое изображение n-мерного пространства отсутствует, обычно используется прием представленияна плоском чертеже.
Все методы оптимизации сводятся к тому, чтобы найти минимум или максимум, т.е. впадину или вершину на поверхности, описываемой уравнением. Эта поверхность называется поверхностью отклика.
Линии, вдоль которых целевая функция сохраняет постоянное значение при изменении входящих в нее переменных, называются контурными линиями или линиями уровня.
Примеры линией уровня показаны на рис.3.1 (при отсутствии ограничений), на рис.3.2 (при наличии ограничений) и на рис.3.3 (в окрестности седловой точки).
Рисунок 3.2 – Линии уровня без ограничений
Рисунок 3.3 – Линии уровня с ограничениями
Рисунок 3.4 – Линии уровня в окрестностях седловой точки
Точки, в которых на одним направлениям имеет минимум, а по другим – максимум, называются Седловыми точками функции. В этой точке хотя выполняется необходимое условие экстремума функциив ней нет. Линии уровня, соответствующие разным значениям, не пересекаются. Внутри линии уровня, соответствующие числам I, больше, чем I, в случае максимума и меньше, чем I, в случае минимума.
Поисковые методы оптимизации основаны на постоянном перемещении в пространстве переменных в направление к оптимальному значению функции.
Различные методы поиска отличаются способом определения направления движения к оптимуму, размером шага и продолжительностью поиска вдоль найденного направления, критерия окончания поиска, простой алгоритмизации для ЭВМ.
Вычисление производных и градиента.
В основу градиентных методов поиска оптимума положены вычисления и анализ производных,, вычисляются аналитически, если это не представляет особого труда, либо численным методом по приближенному соотношению, основанному на замене частных производных в точке отношениями конечных приращений. Для этого в точке поочерёдно изменяют переменные и вычисляют соответствующие приращения в точке
,, (3.4)
где
Важно
При применении нормализованных переменных в алгоритме оптимизации необходимо учесть соотношение (3.3) при вычислении, если она выражена через значения исходных физических переменных:
. (3.5)
Для вычисления производных удобно давать одно и то же приращение но всем независимым переменным, т.е.
,
тогда
,
Формула (3.4) дает лишь приближенное значение производной. Точность этого приближения зависит от приращения независимой переменной. Априорных способов предсказания наилучшего значения не существуют.
Можно лишь заметить, что допустимое приращение по максимуму ограничено кривизной целевой функциив исследуемой точке (которая заранее не известна), а по минимуму- погрешностью вычисления значения функции(которая тоже заранее не известна и может существенно отличаться от погрешности задания значений в процессе поиска).
На практике для определения приемлемого значения (в особенности в начале поиска, когда произведение еще ни разу не находилось) используют метод дробления. Вычисляют значение производной с приращением.
Расчет повторяют с. Если полученные значения производных различаются существенно, расчет повторяется с и т.д., пока не будет найдено приемлемое значение приращения.
На последующих шагах это значение может уточняться.
Градиент в точке равен.
3.2 Градиентные методы оптимизации
3.2.1 Метод релаксации
Алгоритм метода заключается в отыскании осевого направления, вдоль которого целевая функция уменьшается наиболее сильно ( при поиске минимума). Рассмотрим задачу безусловной оптимизации
(3.6)
Для определения осевого направления в начальной точкепоиска из области определяются производные,, по всем независимым переменным. Осевому направлению соответствует наибольшая по модулю производная.
Пусть – осевое направление, т.е..
Если знак производной отрицательный, функция убывает в направлении оси, если положительный – в обратном направлении:
Лекция №3 нормализация данных
Сохрани ссылку в одной из сетей:
На этом занятии мы познакомимся с процессом нормализации данных — мы разобьем исходную базу данных на ее логические составляющие, называемые таблицами. Мы обсудим преимущества и недостатки нормализации и денормализации базы данных, а также рассмотрим то, как с точки зрения нормализации соотносятся целостность базы данных и ее производительность.
Нормализованные данные – это способ представления и законы, по которым строятся реляционные базы данных, созданные Э. Ф. Коддом.
Процесс преобразования базы данных из более низшей в более высшую нормальную форму называется нормализацией БД. Нормализация осуществляется с целью оптимизации объема БД, быстродействия запросов и т.п.
Совет
Вообще-то нормальных форм 5, но реально, на практике, используются 3 нормальные формы, точнее база данных в третьей нормальной форме (3НФ).
Нормализуем базу данных
Нормализация представляет собой процесс, направленный на уменьшение избыточности информации в базе данных. Кроме самих данных, в базе данных также могут быть нормализованы различные наименования, имена объектов и выражения.
Нормализация — это процесс, направленный на уменьшение избыточности информации в реляционной базе данных.
Типичная база данных до нормализации
Ненормализованная база данных содержит информацию в одной или нескольких различных таблицах; при этом создается впечатление, что включение данных в ту или иную таблицу не обусловлено никакими видимыми причинами.
Такое положение дел может оказывать негативное влияние на безопасность данных, рациональное использование дискового пространства, скорость выполнения запросов, эффективность обновления базы данных и, что, наверное, является наиболее важным, на целостность хранимой информации.
База данных перед нормализацией представляет собой структуру, которая логически еще не разбита на более управляемые таблицы меньшего размера. На рис.1 показана база данных до ее нормализации.
Рис. 1 База данных до нормализации
Компания
ID sotr Фамилия Имя Отчествоквартира дом улица городиндекстелефондата рождениядолжностьокладстаж работыкредитдата выплатыежемесячный взнос
Логическое проектирование базы данных
При проектировании любой базы данных всегда следует иметь в виду конечного пользователя. Логическое проектирование базы данных (также называемое построением ее логической модели) представляет собой процесс объединения данных в логически организованные группы объектов, которые можно легко поддерживать.
Логическое проектирование базы данных должно приводить к уменьшению повторяющейся информации или даже полному ее устранению. В конце концов, зачем хранить одни и те же данные дважды? Кроме того, все используемые в базе данных соглашения о наименованиях также должны быть стандартными и логически обоснованными.
Избыточность данных
Данные не должны быть избыточными; существует несколько причин, почему дублирование данных следует стремиться свести к минимуму. Например, нет необходимости хранить домашний адрес сотрудника компании более, чем в одной таблице, поскольку при этом непроизводительно расходуется дисковое пространство.
Кроме того, может возникнуть невообразимая путаница, когда, например, адрес сотрудника в одной таблице не соответствует его же адресу в другой.
Какая информация достоверна? Есть ли у вас соответствующие документы для проверки действительного адреса этого сотрудника? Как ни сложно управление информацией само по себе, избыточность данных в этом случае может оказаться настоящим бедствием.
Нормальные формы
Несколько следующих разделов мы посвятим рассмотрению нормальных форм, понятие о которых неразрывно связано с процессом нормализации базы данных.
Нормальная форма — это своеобразный показатель уровня, или глубины, нормализации базы данных. Уровень нормализации базы данных соответствует нормальной форме, в которой она находится.
Существует три наиболее распространенных нормальных формы, в которых может находиться база данных в процессе нормализации:
Обратите внимание
Из них каждая последующая зависит от шагов, предпринятых в процессе получения предыдущей нормальной формы. Например, прежде чем вы сможете нормализовать базу данных в соответствии со второй нормальной формой, эта база данных уже должна находиться в первой нормальной форме.
Для правильного построения схемы БД традиционной реляционной модели выполняется нормализация исходной схемы, которая опирается на такие понятия, как функциональная зависимость и ключ отношения.
Определение КЛЮЧА
Пусть известно отношение R (A1, A2, …, An) и определено множество функциональных зависимостей F на множестве атрибутов AR отношения R. Тогда, некоторое подмножество атрибутов Х{А1, A2, …, An} будем называть ключом если:
Каждый атрибут AR функционально зависит от Х, т.е. ХA1, A2 ,.., An и эта зависимость принадлежит F+.
Ни один атрибут из набора Х не может быть удален без нарушения свойства 1, т.е. ни для какого собственного подмножества YХ, зависимость YA1, A2, …, An не принадлежит F+.
Первое свойство (идентифицируемость), гарантирует, что в отношении не может быть двух кортежей (двух выборок) с одинаковыми ключами.
Второе свойство (неизбыточность) требует, чтобы ключ состоял из минимального числа атрибутов, т.е. удаление любого атрибута из множества атрибутов, составляющих возможный ключ, лишает его первого свойства.
Таким образом, в отношении может быть несколько возможных ключей, один из которых объявляется главным или первичным ключом.
Первая нормальная форма
Все рассматриваемые отношения в реляционном подходе должны находиться в первой нормальной форме (1НФ), которая предполагает, что элементы доменов отношений не являются множествами (т.е. являются атомарными) и не ограничивает наличие функциональных зависимостей между атрибутами в схеме отношения.
Целью первой нормальной формы является разделение исходных данных на логические составляющие, именуемые таблицами.
После проектирования каждой таблицы для большинства из них (или даже для всех) назначается первичный ключ.
Внимательно изучите рисунок 2, из которого видно, как исходная база данных, показанная на предыдущем рисунке, была перепроектирована в соответствии с первой нормальной формой.
Рис. 2 1 нормальная форма
Компания
Сотрудник
Адрес
ID_sotr Фамилия Имя Отчестводата рождениядолжностьокладстаж работыкредитдата выплатыежемесячный взносID_adr
ID_adrквартира дом улица город
Как видите, для построения первой нормальной формы нам потребовалось разбить данные на логические составляющие (таблицы), каждая из которых имеет первичный ключ и гарантирует отсутствие повторяющихся групп данных.
Теперь вместо одной большой таблицы у нас есть несколько более управляемых таблиц меньшего размера: Сотрудник и Адрес.
Как правило, первичный ключ указывается в списке столбцов таблицы первым; в нашем случае первичными ключами являются, соответственно, столбцы ID_sotr, и ID_adr.
Важно
Первая нормальная форма требует, чтобы на любом пересечении строки и столбца находилось единственное значение, которое должно быть атомарным, и в таблице не должно быть повторяющихся строк.
Вторая нормальная форма
Прежде чем перейти к рассмотрению второй нормальной формы (2НФ), рассмотрим понятие полной функциональной зависимости, используемое в теории нормализации.
Пусть имеется функциональная зависимость: {X1, X2, …, Xn}Y.
Если из множества атрибутов, стоящих слева от знака, можно исключить некоторые имена атрибутов без разрушения функциональной зависимости, то говорят, что Y зависит от множества {X1, …, Xn} неполно. В противном случае, имеет место полная функциональная зависимость атрибута Y от множества атрибутов {X1, …, Xn}.
Отношение R (A1, …, An) находится во второй нормальной форме (2НФ), если оно находится в 1НФ и если каждый непервичный атрибут функционально полно зависит от каждого возможного ключа.
Целью второй нормальной формы является помещение в отдельную таблицу данных, которые только частично зависят от первичного ключа. Рис. 3 иллюстрирует вторую нормальную форму.
Рис. 3
Компания
Сотрудник
Адрес
Телефон
Должность
ID_sotr Фамилия Имя Отчестводата рождениястаж работыкредитдата выплатыежемесячный взносID_adrID_phID_dolg
ID_adrквартира дом улица городиндекс
ID_phтелефон
ID_dolgдолжностьоклад
Согласно этому рисунку, вторая нормальная форма может быть получена из первой путем дальнейшего разбиения таблиц на более специальные составляющие.
Третья нормальная форма
Отношение R находится в 3НФ, если оно находится в 2НФ и в нем нет транзитивных зависимостей атрибутов от возможных ключей, т.е. каждый непервичный атрибут нетранзитивно зависит от каждого возможного ключа отношения.
Целью третьей нормальной формы является устранение из таблицы данных, не зависящих от ее первичного ключа. Рис. 4 иллюстрирует третью нормальную форму.
Компания
Сотрудник
Кредит
Адрес
Телефон
Должность
ID_sotr Фамилия Имя Отчестводата рождениястаж работыID_krID_adrID_phID_dolg
ID_krкредитдата выплатыежемесячный взнос
ID_adrквартира дом улица городиндекс
ID_phтелефон
ID_dolgдолжностьоклад
Соглашения о наименованиях
Соглашения о наименованиях являются одним из главных соображений, которыми следует руководствоваться при нормализации базы данных. Вы должны давать своим таблицам такие имена, которые бы наглядно описывали содержащуюся в них информацию.
На уровне всей компании должны быть установлены соглашения о наименованиях, предусматривающие основные принципы для присвоения имен не только таблицам внутри базы данных, но и пользователям, файлам и другим связанным с ними объектам.
Разработка и проведение в жизнь соглашений о наименованиях является одним из первых шагов компании на пути к успешному внедрению базы данных.
Чем выгодна нормализация
Основные преимущества нормализации:
- Лучшая общая организация базы данных
- Сокращение избыточности информации
- Непротиворечивость информации внутри базы данных
- Более гибкий проект базы данных
- Большая безопасность данных
Процесс нормализации данных приводит к улучшению их общей организации, тем самым облегчая работу каждому — от пользователя, который обращается к таблицам, до администратора базы данных (DBA), ответственного за управление всеми объектами базы данных в целом.
Снижение избыточности данных влечет за собой упрощение их структуры и способствует рациональному использованию дискового пространства.
Вследствие минимизации дублирующей информации значительно уменьшается вероятность появления противоречивых данных — это относится, например, к случаю, когда в одну таблицу имя сотрудника компании введено как STEVE SMITH, в то время как в другой таблице он значится под именем STEPHEN R. SMITH.
Нормализация базы данных с разбиением ее на более мелкие таблицы дает вам большую гибкость при изменении существующих структур данных. Согласитесь, что намного проще изменить несколько небольших таблиц, содержащих ограниченное количество данных, чем одну огромную таблицу, в которой хранится вся жизненно важная информация.
И наконец, нормализация способствует повышению безопасности информации в том смысле, что администратор базы данных может предоставлять некоторым пользователям доступ лишь к ограниченному числу таблиц. После проведения нормализации базы данных организация защиты хранимой в ней информации значительно упрощается.
Целостность данных связана с обеспечением непротиворечивости и достоверности информации, хранящейся внутри базы данных.
Ссылочная целостность
Под ссылочной целостностью подразумевается, что значения в столбце одной таблицы зависят от значений в столбце другой. Например, для того, чтобы запись о кредите сотрудника можно было внести в таблицу Кредиты, необходимо наличие записи о нем в таблице Сотрудники.
Совет
C помощью ограничений целостности можно также контролировать значения в столбцах – для этого вам потребуется установить пределы их диапазонов. Такие ограничения целостности должны создаваться сразу после создания таблицы.
Управление ссылочной целостностью обычно происходит с помощью первичных и внешних ключей.
Для поддержки ссылочной целостности внешний ключ таблицы (обычно это единственное поле) должен непосредственно ссылаться на поле другой таблицы. В предыдущем абзаце поле ID_sotr Таблицы Кредиты является внешним ключом, ссылающимся на поле ID_sotr таблицы Сотрудники.
Недостатки нормализации
Хотя наиболее удачные базы данных всегда в той или иной степени нормализованы, у нормализованной базы данных есть один существенный недостаток, связанный со снижением ее производительности.
Чтобы понять, почему это происходит, необходимо знать, что при выполнении базой данных запросов или транзакций существенную роль начинают играть такие факторы, как использование центрального процессора и памяти, а также система ввода/вывода.
Короче говоря, для обработки транзакций и запросов в случае нормализованной базы данных к центральному процессору, памяти и системе ввода/вывода предъявляются существенно большие требования, чем когда эта база данных ненормализована.
Ведь для получения требуемой информации или обработки существующих данных нормализованная база данных должна сначала найти все необходимые таблицы, а затем объединить содержащуюся в них информацию.
Денормализация базы данных
Итак, денормализация базы данных — почему вообще она вам когда-нибудь может потребоваться? Ответ прост: единственной причиной денормализации базы данных является попытка улучшить ее производительность.
Денормализованная база данных — это совсем не то же самое, что база данных, которая никогда не была нормализована. Денормализация базы данных представляет собой процесс, направленный на некоторое снижение уровня ее нормализации.
Обратите внимание
Не забывайте, что нормализация базы данных на самом деле приводит к снижению ее производительности из-за частого выполнения операций, связанных с соединением таблиц.
Процесс денормализации данных может включать в себя перепроектирование отдельных таблиц, а также дублирование информации с целью уменьшения числа таблиц, подлежащих объединению для поиска необходимых данных; все эти меры приводят к снижению требований к системе ввода/вывода, а также уменьшают загрузку центрального процессора.
Денормализация — это процесс изменения структуры таблиц нормализованной базы данных, направленный на получение управляемой избыточности данных с целью повышения производительности системы.
Однако денормализация данных имеет и свои издержки. Повышенная избыточность информации, хранящейся в денормализованной базе данных, может улучшить ее производительность, но потребует от вас больших усилий при отслеживании связанных между собой данных.
Написание приложений в этом случае становится более сложным делом, поскольку исходные данные были разбросаны по разным таблицам и их поиск может вызвать определенные затруднения.
Кроме того, теперь больших усилий потребует и поддержка ссылочной целостности — ведь родственные данные были распределены среди большого числа таблиц.
Как при нормализации данных, так и при их денормализации существует золотая середина; однако в любом случае от вас требуется глубокое понимание сущности реальных данных, а также особых требований, предъявляемых к деятельности вашей компании.
Содержание темы: Понятие базы данных (БД). Место БД в системах принятия решений и управления. Возникновение и развитие технологии баз данных. Терминология теории баз данных.
На предыдущей лекции мы рассмотрели общее понятие БД и СУБД. Эта лекция посвящена основным этапам проектирования баз данных. Не стоит забывать, что мы строим базу данных как основу для некоторой информационной системы (ИС), которая
Вторая лекция посвящена краткому обобщению выводов по сопоставлению характеристик методов, изложенных в прошлой лекции и обзору примеров приложения высокопродуктивных и компьютероемких методов получения качественных и количественных
Точное понятие базы данных не существует. В разных ситуациях под этим термином подразумевают разные вещи. Мы попробуем дать следующее абстрактное определение:
Лекция 1) ГИС как специализированная информационная система. Структура информационных систем, представление о модели данных. Последовательность действий при создании информационной системы (структурирование предметной области, выбор
Универсальный подход (почти) к любой задаче машинного обучения
Любой data scientist ежедневно работает с большими объемами данных. Считается, что около 60% – 70% времени занимает первый этап рабочего процесса: очистка, фильтрация и преобразование данных в формат, подходящий для применения алгоритмов машинного обучения.
На втором этапе выполняется предобработка и непосредственное обучение моделей. В сегодняшней статье мы сконцентрируемся на втором этапе процесса и рассмотрим различные техники и рекомендации, являющиеся результатом моего участия более чем в 100 соревнованиях по машинному обучению.
Несмотря на то, что описанные концепции имеют достаточно общий характер, они будут полезны при решении многих конкретных задач.
Все примеры кода написаны на Python!
Данные
Перед тем, как применять алгоритмы машинного обучения, данные необходимо преобразовать в табличное представление. Этот процесс, представленный на рисунке ниже, является наиболее сложным и трудоемким.
Data in Database – данные в базе данных. Data Munging – фильтрация данных. Useful Data – полезные данные. Data Conversion – преобразование данных. Tabular Data – табличные данные. Data – независимые переменные (признаки). Labels – зависимые переменные (целевые переменные).
После того, как данные преобразованы в табличное представление, их можно использовать для обучения моделей. Табличное представление является наиболее распространенным представлением данных в сфере машинного обучения и интеллектуального анализа данных.
Важно
Строки таблицы являются отдельными объектами (наблюдениями). Столбцы таблицы, содержат независимые переменные (признаки), обозначаемые X, и зависимые (целевые) переменные, обозначаемые y.
В зависимости от класса задачи, целевые переменные могут быть представлены как одним, так и несколькими столбцами.
Типы целевых переменных
Целевые переменные определяют класс задачи и могут быть представлены одним из следующих вариантов:
- Один столбец с двоичными значениями: задача двухклассовой классификации (binary classification), каждый объект принадлежит только одному классу.
- Один столбец с действительными значениями: задача регрессии, прогнозируется одна величина.
- Несколько столбцов с двоичными значениями: задача многоклассовой классификации (multi-class classification), каждый объект принадлежит только одному классу.
- Несколько столбцов с действительными значениями: задача регрессии, прогнозируется несколько величин.
- Несколько столбцов с двоичными значениями: задача классификации с пересекающимися классами (multi-label classification), один объект может принадлежать нескольким классам.
Метрика
При решении любой задачи машинного обучения, необходимо иметь возможность оценивать результат, то есть, необходима метрика.
Например, для задачи двухклассовой классификации в качестве метрики обычно используется площадь под ROC-кривой (ROC AUC).
В случае многоклассовой классификации обычно применяется категорийная кросс-энтропия (categorical cross-entropy). В случае регрессии – среднее квадратов отклонений (mean squared error, MSE).
Мы не будем подробно рассматривать метрики, поскольку они могут быть достаточно разнообразны и выбираются под конкретную задачу.
Библиотеки
Первым делом необходимо установить базовые библиотеки, необходимые для выполнения вычислений, такие как numpy и scipy. Затем можно приступить к установке наиболее популярных библиотек для анализа данных и машинного обучения:
Следует сказать, что я не использую Anaconda (https://www.continuum.io/downloads). Anaconda объединяет в себе большинство популярных библиотек и существенно упрощает процесс установки, но мне необходимо больше свободы. Решать вам.