Что такое модель точности
Модель точности
Феномен существования человеческого языка исследовался и исследуется многими учеными. Эта книга не является научным трудом, а просто призвана помочь разобраться с таким частным вопросом, как работа с возражениями. Именно поэтому я хочу ограничиться всего одной ссылкой.
Все, что вы прочтете в этой главе дальше, основано на психотерапевтической модели языка, созданной Джоном Гриндером и Ричардом Бэндлером (родоначальниками современного НЛП – нейролингвистического программирования) в 1975 году. Историю создания, подробности интерпретации и множество интересных идей вы при желании можете найти в любом учебнике по НЛП в разделе «Метамодель».
Здесь же мне хотелось бы остановиться на некоторых закономерностях, которые лежат в основе создания карт реальности у всех людей.
Да, все мы разные, карты у нас разные и «собачки» тоже. Но, как было выяснено, есть нечто общее в том, как люди думают и как они обобщают, искажают и упускают информацию.
Дальше мы с вами будем разбираться, какую информацию о человеке, его способе мышления и его карте реальности дают нам определенного рода слова, которые можно услышать в его речи, и что делать, если мы их слышим.
Еще это называется искусством задавать точные вопросы или моделью точности.
Итак, вот несколько идей о том, какие слова можно услышать в речи оппонента и как работать с ними.
Данный текст является ознакомительным фрагментом.
Продолжение на ЛитРес
Читайте также
Модель 1.0 и модель 2.0 – найдите тысячу отличий
Модель 1.0 и модель 2.0 – найдите тысячу отличий Модель 1.0 – это модель старшего поколения, схема вчерашнего дня. В этом случае мы заканчиваем вуз, затем повышаем свою квалификацию до уровня тренера-психотерапевта, психолога-консультанта, потом становимся
Модель компетентности и психологическая модель способностей
Модель компетентности и психологическая модель способностей Прежде чем перейти к дальнейшему обсуждению данной модели компетентности, рассмотрим ее фундаментальные отличия от многофакторной модели способностей, столь популярной в психологической литературе.
Модель «Правда»
Модель «Правда» Пример модели «ПРАВДА» на практикеИсходные данные. Не так давно назначенный руководитель среднего звена, выдвинутый из числа успешных рядовых сотрудников с лидерским потенциалом.Зона развития. Сложности с критической обратной связью, тяготение к
Сетевая модель
Сетевая модель Менеджер имеет возможность формировать неограниченное число уровней иерархии проекта, перемещать задачи внутри иерархического уровня, вставлять новые задачи на любой уровень.Сетевая модель проекта отображается в форматах:Диаграмма Гантта. Существует
Бизнес-модель
Бизнес-модель Модели монетизации: какие есть и как выбрать свою? Цель любого бизнеса – получение прибыли, об этом вам расскажут на первом же занятии в любой бизнес-школе. В интернет-бизнесе получить прибыль сложнее, чем в офлайне, где потребитель давно привык платить за
Модель контроля
Модель контроля Менеджеры создают системы контроля в четыре этапа. Они определяют стандарты, оценивают результаты деятельности, сравнивают их с установленными нормами и при необходимости вносят коррективы.Установление стандартов исполнения. В рамках общего
Эмбеддинги признаков и повышение точности ML-моделей
Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.
Создание эмбеддингов признаков (feature embeddings) — это один из важнейших этапов подготовки табличных данных, используемых для обучения нейросетевых моделей. Об этом подходе к подготовке данных, к сожалению, редко говорят в сферах, не связанных с обработкой естественных языков. И, как следствие, его почти полностью обходят стороной при работе со структурированными наборами данных. Но то, что его, при работе с такими данными, не применяют, ведёт к значительному ухудшению точности моделей. Это стало причиной появления заблуждения, которое заключается в том, что алгоритмы градиентного бустинга, вроде того, что реализован в библиотеке XGBoost, это всегда — наилучший выбор для решения задач, предусматривающих работу со структурированными наборами данных. Нейросетевые методы моделирования, улучшенные за счёт эмбеддингов, часто дают лучшие результаты, чем методы, основанные на градиентном бустинге. Более того — обе группы методов показывают серьёзные улучшения при использовании эмбеддингов, извлечённых из существующих моделей.
Эта статья направлена на поиск ответов на следующие вопросы:
Что такое эмбеддинги признаков?
Как они используются при работе со структурированными данными?
Если использование эмбеддингов — это столь мощная методика — почему она недостаточно широко распространена?
Как создавать эмбеддинги?
Как использовать существующие эмбеддинги для улучшения других моделей?
Эмбеддинги признаков
Нейросетевые модели испытывают сложности при необходимости работы с разреженными категориальными признаками. Эмбеддинги — это возможность уменьшения размерности таких признаков ради повышения производительности модели. Прежде чем говорить о структурированных наборах данных, полезно будет разобраться с тем, как обычно используются эмбеддинги. В сфере обработки естественных языков (Natural Language Processing, NLP) обычно работают со словарями, состоящими из тысяч слов. Эти словари обычно вводят в модель с использованием методики быстрого кодирования (One-Hot Encoding), что, в математическом смысле, равносильно наличию отдельного столбца для каждого из слов. Когда слово передаётся в модель, в соответствующем столбце оказывается единица, в то время как во всех остальных выводятся нули. Это ведёт к появлению очень сильно разреженных наборов данных. Решение этой проблемы заключается в создании эмбеддинга.
Визуализация, выполненная с помощью TensorFlow Embedding Projector
По сути дела, речь идёт о том, что эмбеддинг, на основе обучающего текста, группирует слова со сходным значением и возвращает их местоположение. Например — значение эмбеддинга слова «fun» может быть подобно значениям эмбеддингов слов «humor» и «dancing», или словосочетания «machine learning». На практике нейронные сети демонстрируют значительное улучшение производительности при применении подобных репрезентативных свойств.
Эмбеддинги и структурированные данные
Структурированные наборы данных тоже часто содержат разреженные категориальные признаки. В вышеприведённой таблице, содержащей данные о продажах, имеются столбцы с почтовым индексом и идентификатором магазина. Так как в этих столбцах могут присутствовать сотни или тысячи уникальных значений, использование этих столбцов приведёт к появлению тех же проблем с производительностью, о которых мы говорили ранее в применении к NLP-моделям. Почему бы тут, по вышеописанной схеме, не воспользоваться эмбеддингами?
Проблема заключается в том, что сейчас мы имеем дело более чем с одним признаком. В данном случае это два отдельных разреженных категориальных столбца ( zip_code и store_id ), а так же другие ценные признаки, вроде общего объёма продаж конкретному клиенту. Мы просто не можем заложить все эти признаки в эмбеддинг. Но мы, однако, можем подготовить эмбеддинги в первом слое модели и добавить в модель, вместе с эмбеддингами, и обычные признаки. Это не только приведёт к преобразованию почтового индекса и идентификатора магазина в ценные признаки, но и позволит не «размывать» другие ценные признаки тысячами столбцов.
Пример эмбеддинга
Почему эмбеддингам не уделяют достаточно внимания?
В крупнейших компаниях, занимающихся машинным обучением (Machine Learning, ML), эта техника работы с данными, бесспорно, применяется. Проблема заключается в том, что подавляющее большинство дата-сайентистов, находящихся за пределами таких компаний, никогда даже и не слышали о таком способе использования эмбеддингов. Почему это так? Хотя я и не сказал бы, что эти методы чрезвычайно сложно реализовать, они сложнее того, чему учат на типичных онлайн-курсах. Большинство начинающих ML-практиков просто не научили тому, как использовать эмбеддинги вместе с другими некатегориальными признаками. В результате признаки вроде почтовых индексов и идентификаторов магазинов просто выбрасывают из модели. Но это — важные данные!
Некоторые значения признака можно включить в модель, воспользовавшись другими техниками, вроде метода среднего кодирования (Mean Encoding), но подобное даёт лишь небольшие улучшения. Это привело к тенденции, когда от нейросетевых моделей полностью отказываются, выбирая методы, задействующие алгоритмы градиентного бустинга, которые способны лучше работать с категориальными признаками. Но, как уже было сказано, эмбеддинги могут улучшить оба метода моделирования. Сейчас мы разовьём эту тему.
Создание эмбеддингов
Самое сложное при работе с эмбеддингами — разобраться с наборами данных TensorFlow. И хотя устроены они совсем не так понятно, как датафреймы Pandas, научиться работать с ними весьма полезно. В частности — полезно для того, кто хотя бы задумывается о том, чтобы его модели работали бы с огромными наборами данных, и для того, кто стремится к созданию более сложных нейросетевых моделей, чем те, которые он уже разрабатывает.
В этом примере мы воспользуемся гипотетической таблицей продаж, фрагмент которой приведён выше. Наша цель заключается в прогнозировании целевых месячных продаж. Мы, ради краткости и простоты, опустим то, что имеет отношение к дата-инжинирингу, и начнём с предварительно подготовленных датафреймов Pandas. При работе с более крупными наборами данных, скорее всего, работа начнётся не с датафреймов, но это — тема для отдельной статьи.
Первый шаг заключается в преобразовании датафреймов Pandas в наборы данных TensorFlow:
Здесь стоит обратить внимание на то, что наборы данных TensorFlow и результаты дальнейших преобразований данных не хранятся в памяти так же, как хранятся датафреймы Pandas. Они, по сути, представляют собой конвейер. Через него, пакет за пакетом, походят данные, что позволяет модели эффективно обучаться на наборах данных, которые слишком велики для размещения их в памяти. Именно поэтому мы преобразуем в наборы данных словари датафреймов, а не реальные данные. Обратите внимание на то, что мы, кроме прочего, задаём сейчас, а не во время обучения модели, размер пакета данных, поступая не так, как обычно поступают при использовании API Keras.
Теперь, пользуясь столбцами признаков TensorFlow, можно определить конвейеры для обработки данных. Существуют разные способы решения этой задачи, выбор конкретного варианта зависит от типов признаков, хранящихся в таблице. Подробности об этом можно узнать в документации TensorFlow по столбцам признаков.
Обратите внимание на то, что при создании эмбеддингов нам нужно указать число измерений. Это определяет то количество признаков, к которому будут сведены признаки из категориальных столбцов. Общее правило заключается в том, что результирующее количество признаков выбирается равным корню четвёртой степени из общего количества категорий (например — 1000 уникальных почтовых индексов сводятся к
6 столбцам эмбеддинга). Но это — один из тех параметров, которые можно настраивать в собственной модели.
Теперь создадим простую модель:
Поздравляю! Вы только что обучили модель, в которой используются эмбеддинги. А как извлечь эмбеддинги из модели для использования их в других моделях? Достаточно просто взять из модели веса:
Обратите внимание на то, что порядок слоёв эмбеддингов может меняться, поэтому проверьте соответствие длины слоя весов количеству уникальных значений, объявленных выше. Это позволит вам убедиться в том, что вы взяли данные из правильного слоя. Теперь веса можно сохранить в датафрейме:
Итоги
Теперь, когда эмбеддинги сохранены, их можно включить в состав исходного набора данных. Можно даже ввести их в другие наборы данных, используя те же категориальные признаки. Я пока не встречался с ситуациями, когда использование расширенных наборов данных не приводило бы к росту точности моделей. Попробуйте эмбеддинги — и я обещаю, что их применение станет частью вашей обычной работы в сфере машинного обучения.
О, а приходите к нам работать? 😏
Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.
Мы предлагаем интересные и сложные задачи по анализу данных и low latency разработке для увлеченных исследователей и программистов. Гибкий график и никакой бюрократии, решения быстро принимаются и воплощаются в жизнь.
Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.
Оценка точности модели
Наряду с характеристиками адекватности модели при оценивании качества модели необходимо учитывать ее точность.
Как правило, о точности модели и прогноза судят по величине погрешности (ошибки). Ошибка прогноза это расхождение между фактическим и прогнозируемым значением исследуемого показателя. Использование данного подхода к оценке точности возможно только в том случае, когда период упреждения закончился, и исследователи имеют фактические значения на период упреждения или когда разрабатывается ретропрогноз.
Ретроспективное прогнозирование разрабатывается для некоторого момента времени в прошлом, для которого имеются фактические данные. В этом случае имеющаяся информация делится на две части. Первая часть, включающая более ранние данные, используется для подбора математической модели. По построенной математической модели дается прогноз на последующий оставшийся период времени. Прогнозные качества модели оцениваются по более поздним данным второй части ряда. Полученные ошибки прогноза в какой-то мере характеризуют точность подобранных моделей и могут использоваться при сопоставлении различных моделей прогнозирования. В то же время при использовании ошибки ретроспективного прогноза в качестве меры точности необходимо учитывать, что она получена при использовании только части имеющихся данных. При использовании полного объема имеющихся данных трансформируется вид подобранной модели, и изменяются значения критериев точности и качества.
Отметим, что если ретроспективное прогнозирование осуществляется по модели, содержащей одну или несколько экзогенных переменных, точность прогноза будет определяться точностью определения значения этих переменных на период упреждения. В этом случае возможны два способа определения значений экзогенных переменных: либо воспользоваться фактическими известными значениями экзогенных переменных либо ожидаемыми их значениями. Естественно, что точность прогноза в первом случае будет выше.
Наличие данных о реализации прогнозов дает возможность оценить качество прогнозов величиной:
,
где р – число прогнозов, подтвержденных фактическими данными (фактическая реализация охвачена интервальным прогнозом);
q – число прогнозов, не подтвержденных фактическими данными.
Использование коэффициентов для разных моделей имеет смысл в том случае, если доверительные вероятности прогнозов приняты одинаковыми.
В том случае, если прогноз дается в виде точечной оценки, в качестве показателей точности прогноза могут использоваться такие статистические характеристики как средняя абсолютная и среднеквадратическая ошибка прогноза.
Г. Тейлом предложен в качестве меры качества прогноза коэффициент расхождения (или коэффициент несоответствия):
,
где — соответственно предсказанное и фактическое значение переменной. Коэффициент
, когда
(случай совершенного прогнозирования). Коэффициент
, когда экстраполяция строится исходя из неизменности приростов. Коэффициент
, прогноз дает худшие результаты, чем прогноз методом простой экстраполяции.
Рассмотренные выше показатели точности прогноза можно использовать только в случае наличия истинных значений величин, оцениваемых при разработке прогноза. Согласно этому различают апостериорную точность моделей, которая может быть определена только после практического использования модели, и априорную точность моделей. Априорную или предполагаемую точность оценивают в условиях отсутствия информации о результатах эксплуатации модели. Исследуя априорную точность модели, мы охарактеризуем только точность аппроксимации.
Чаще всего в качестве показателей точности применяются следующие показатели: абсолютная ошибка , средняя абсолютная ошибка
, средняя квадратическая ошибка
, относительная ошибка
, средняя относительная ошибка
, коэффициент сходимости, коэффициент детерминации
Абсолютная ошибка прогноза определяется как разность между фактическим значением и его оценкой, полученной расчетным путем по модели:
,
среднее абсолютное значение ошибки:
.
Средняя квадратическая ошибка прогноза рассчитывается по формуле:
,
где п — период упреждения,
k – число оцениваемых параметров модели.
Недостатком рассмотренных характеристик является их зависимость от масштаба измерения значений исследуемого показателя.
В связи с этим более удобными являются относительные значения этих величин. Относительная ошибка рассчитывается следующим образом:
,
а средняя относительная ошибка определяется следующим образом:
.
Последний показатель чаще других используется при сравнении точности прогнозов, осуществляемых по различным методикам. Обычно лучшим признается тот прогноз, который имеет меньшее значение этого показателя. Принято считать, что если значение средней относительной ошибки менее 3-5%, то точность хорошая; если значение средней относительной ошибки не превышает 10%, то точность хорошая; от 10% до 15% точность удовлетворительная.
Коэффициент сходимости определяется по следующей формуле:
,
чем меньше значение коэффициента сходимости, чем лучше точность модели.
Коэффициент детерминации определяется по формуле:
,
и поэтому чем больше значение коэффициента детерминации, тем лучше точность модели.
Для выбора лучшей модели можно использовать один из рассмотренных показателей либо воспользоваться обобщенным критерием.
Пример. Оценить адекватность и точность модели Хольта, построенной в параграфе 5.3.
Решение. В таблице 5.2 приведены ошибки аппроксимации , на основе которых будет оцениваться адекватность модели. Проверку случайности колебаний уровней остаточной компоненты проведем, используя критерий поворотных точек. На рис. 6.2 представлен ряд остатков, количество поворотных точек равно 15.
Рис. 6.2. Оценка адекватности модели. Ряд остатков.
При n=36: . Неравенства 15>17 не выполняется, следовательно, ряд остатков не является случайным.
Анализ соответствия ряда остатков нормальному закону распределения проведем по RS – критерию:
.
Так как остаточная компонента распределена по нормальному закону, то осуществим проверку равенства математического ожидания остаточной компоненты нулю с помощью t-критерия Стьюдента:
Расчетное значение t-критерия больше табличного значения tα статистики Стьюдента , следовательно, гипотеза о равенстве нулю математического ожидания уровней ряда остатков не принимается.
Независимость уровней в ряде остатков проверим по критерию Дарбина–Уотсона (таб. 6.3).
Расчет d-значения Дарбина–Уотсона
t | | | | |
-23.500 | 552.25 | |||
-415.390 | -391.890 | 153577.772 | 172548.852 | |
2553.781 | 2969.171 | 8815978.8 | 6521799.44 | |
4108.015 | 1554.234 | 2415642.82 | 16875789.2 | |
1357.017 | -2750.998 | 7567992.09 | 1841494.74 | |
3047.488 | 1690.471 | 2857692.36 | 9287182.51 | |
4611.776 | 1564.288 | 2446997.23 | 21268477.8 | |
2226.788 | -2384.988 | 5688168.37 | 4958584.19 | |
-2442.290 | -4669.078 | 5964779.36 | ||
2620.809 | 5063.099 | 25634971.3 | 6868640.89 | |
7156.526 | 4535.717 | 20572724.5 | 51215860.7 | |
-255.774 | -7412.299 | 54942183.2 | 65420.1907 | |
-1964.630 | -1708.857 | 2920190.74 | 3859772.09 | |
-3692.014 | -1727.384 | 2983855.54 | 13630969.5 | |
-5152.421 | -1460.407 | 2132789.2 | 26547447.2 | |
-2101.028 | 3051.394 | 9311004.57 | 4414317.05 | |
3571.246 | 5672.274 | 32174688.1 | 12753798.1 | |
7739.490 | 4168.244 | 17374260.7 | 59899710.6 | |
4171.509 | -3567.981 | 12730490.5 | 17401487.7 | |
-1955.050 | -6126.559 | 37534730.7 | 3822222.1 | |
-3465.610 | -1510.560 | 2281790.33 | 12010452.8 | |
-2395.256 | 1070.354 | 1145657.1 | 5737252.69 | |
-445.847 | 1949.410 | 3800197.94 | 198779.235 | |
1050.970 | 1496.817 | 2240461.18 | 1104538.71 | |
694.152 | -356.818 | 127319.3 | 481847.09 | |
2752.621 | 2058.469 | 4237296.08 | 7576924.68 | |
7090.334 | 4337.713 | 18815752.4 | 50272839.5 | |
7485.321 | 394.987 | 156014.473 | ||
3824.177 | -3661.144 | 13403973.2 | 14624331.3 | |
2773.655 | -1050.522 | 1103597.19 | 7693161.27 | |
3953.251 | 1179.597 | 1391448.08 | 15628196.9 | |
3253.170 | -700.082 | 490114.569 | 10583112.5 | |
3170.670 | -82.500 | 6806.172 | 10053148.7 | |
-134.635 | -3305.305 | 10925041.8 | 18126.5898 | |
-2869.411 | -2734.776 | 7478999.31 | 8233519.15 | |
-1039.034 | 1830.377 | 3350281.25 | 1079590.8 | |
сумма |
Расчетное d-значение равно:
.
Расчетное значение d-критерия сравним с двумя табличными значениями Дарбина—Уотсона (1,41; 1,52). Так как расчетное d-значение меньше нижнего табличного значения d1=1,41, то гипотеза о независимости ряда остатков отвергается и модель неадекватна.
Результаты оценки модели на адекватность приведены в таблице 6.4.
Результаты оценки модели на адекватность
Проверяемое свойство | вывод |
Случайность | неадекватна |
Нормальность | адекватна |
Среднее | неадекватна |
Независимость | неадекватна |
Вывод: модель статистически неадекватна |
Средняя относительная ошибка равна (таб. 5.2):
.
Оцениваемая модель не является адекватной, и несмотря на хорошую точность не может использоваться для прогнозирования.
Контрольные вопросы и задания
1. Когда модель считается адекватной экономическому процессу?
2. Какие свойства остаточной компоненты проверяются при оценке адекватности модели? Какие статистические критерии при этом используются?
3. Поясните суть ретроспективного прогнозирования.
4. Какие статистические характеристики используются для оценки точности модели?
5. По результатам выполнения задания 9 (глава 5) оценить адекватность и точность модели Брауна с параметром сглаживания α=0,2 и α=0,6.
Глава 7. Применение регрессионных моделей для прогнозирования
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет