контрольная выборка в машинном обучении

Выборка

Материал из MachineLearning.

Содержание

Выборка (sample, set) — конечный набор прецедентов (объектов, случаев, событий, испытуемых, образцов, и т.п.), некоторым способом выбранных из множества всех возможных прецедентов, называемого генеральной совокупностью.

Если исследователь не имеет возможности управлять выбором прецедентов, то обычно предполагается, что выбор прецедентов случаен. Если же выбором прецедентов можно управлять, то возникают задачи оптимального формирования выборки, см. также активное обучение, планирование экспериментов, выборочное обследование.

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

Термины выборка (sample, set) и данные (data) взаимозаменяемы; иногда они употребляются вместе как один термин выборка данных (data set). Поэтому анализ данных можно понимать также как анализ конечных выборок. Основные цели анализа данных:

Вероятностная модель порождения данных

Случайная выборка

Вероятностная модель порождения данных предполагает, что выборка из генеральной совокупности формируется случайным образом. Объём (длина) выборки считается произвольной, но фиксированной, неслучайной величиной.

Однородная выборка

Независимая выборка

Простая выборка

Простая выборка — это случайная, однородная, независимая выборка (i.i.d. — independent, identically distributed).

Эквивалентное определение: выборка простая, если значения являются реализациями независимых одинаково распределённых случайных величин.

Простая выборка является математической моделью серии независимых опытов. На гипотезу простой выборки существенно опираются многие методы статистического анализа данных и машинного обучения, в частности, большинство статистических тестов, а также оценки обобщающей способности в теории вычислительного обучения.

Также существует множество методов, не предполагающих однородность и/или независимость выборки, в частности, в теории случайных процессов, в прогнозировании временных рядов. Метод максимума правдоподобия позволяет оценивать значения параметров модели по обучающей выборке, в общем случае не требуя, чтобы выборка была однородной и независимой. Однако в случае простых выборок применение метода существенно упрощается.

Обучающая и тестовая выборка

Обучающая выборка (training sample) — выборка, по которой производится настройка (оптимизация параметров) модели зависимости.

Тестовая (или контрольная) выборка (test sample) — выборка, по которой оценивается качество построенной модели. Если обучающая и тестовая выборки независимы, то оценка, сделанная по тестовой выборке, является несмещённой.

Оценку качества, сделанную по тестовой выборке, можно применить для выбора наилучшей модели. Однако тогда она снова окажется оптимистически смещённой. Для получения немсещённой оценки выбранной модели приходится выделять третью выборку.

Проверочная выборка (validation sample) — выборка, по которой осуществляется выбор наилучшей модели из множества моделей, построенных по обучающей выборке.

Источник

Выборка

Материал из MachineLearning.

Содержание

Выборка (sample, set) — конечный набор прецедентов (объектов, случаев, событий, испытуемых, образцов, и т.п.), некоторым способом выбранных из множества всех возможных прецедентов, называемого генеральной совокупностью.

Если исследователь не имеет возможности управлять выбором прецедентов, то обычно предполагается, что выбор прецедентов случаен. Если же выбором прецедентов можно управлять, то возникают задачи оптимального формирования выборки, см. также активное обучение, планирование экспериментов, выборочное обследование.

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

Термины выборка (sample, set) и данные (data) взаимозаменяемы; иногда они употребляются вместе как один термин выборка данных (data set). Поэтому анализ данных можно понимать также как анализ конечных выборок. Основные цели анализа данных:

Вероятностная модель порождения данных

Случайная выборка

Вероятностная модель порождения данных предполагает, что выборка из генеральной совокупности формируется случайным образом. Объём (длина) выборки считается произвольной, но фиксированной, неслучайной величиной.

Однородная выборка

Независимая выборка

Простая выборка

Простая выборка — это случайная, однородная, независимая выборка (i.i.d. — independent, identically distributed).

Эквивалентное определение: выборка простая, если значения являются реализациями независимых одинаково распределённых случайных величин.

Простая выборка является математической моделью серии независимых опытов. На гипотезу простой выборки существенно опираются многие методы статистического анализа данных и машинного обучения, в частности, большинство статистических тестов, а также оценки обобщающей способности в теории вычислительного обучения.

Также существует множество методов, не предполагающих однородность и/или независимость выборки, в частности, в теории случайных процессов, в прогнозировании временных рядов. Метод максимума правдоподобия позволяет оценивать значения параметров модели по обучающей выборке, в общем случае не требуя, чтобы выборка была однородной и независимой. Однако в случае простых выборок применение метода существенно упрощается.

Обучающая и тестовая выборка

Обучающая выборка (training sample) — выборка, по которой производится настройка (оптимизация параметров) модели зависимости.

Тестовая (или контрольная) выборка (test sample) — выборка, по которой оценивается качество построенной модели. Если обучающая и тестовая выборки независимы, то оценка, сделанная по тестовой выборке, является несмещённой.

Оценку качества, сделанную по тестовой выборке, можно применить для выбора наилучшей модели. Однако тогда она снова окажется оптимистически смещённой. Для получения немсещённой оценки выбранной модели приходится выделять третью выборку.

Проверочная выборка (validation sample) — выборка, по которой осуществляется выбор наилучшей модели из множества моделей, построенных по обучающей выборке.

Источник

Выборка

Материал из MachineLearning.

Содержание

Выборка (sample, set) — конечный набор прецедентов (объектов, случаев, событий, испытуемых, образцов, и т.п.), некоторым способом выбранных из множества всех возможных прецедентов, называемого генеральной совокупностью.

Если исследователь не имеет возможности управлять выбором прецедентов, то обычно предполагается, что выбор прецедентов случаен. Если же выбором прецедентов можно управлять, то возникают задачи оптимального формирования выборки, см. также активное обучение, планирование экспериментов, выборочное обследование.

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

Термины выборка (sample, set) и данные (data) взаимозаменяемы; иногда они употребляются вместе как один термин выборка данных (data set). Поэтому анализ данных можно понимать также как анализ конечных выборок. Основные цели анализа данных:

Вероятностная модель порождения данных

Случайная выборка

Вероятностная модель порождения данных предполагает, что выборка из генеральной совокупности формируется случайным образом. Объём (длина) выборки считается произвольной, но фиксированной, неслучайной величиной.

Однородная выборка

Независимая выборка

Простая выборка

Простая выборка — это случайная, однородная, независимая выборка (i.i.d. — independent, identically distributed).

Эквивалентное определение: выборка простая, если значения являются реализациями независимых одинаково распределённых случайных величин.

Простая выборка является математической моделью серии независимых опытов. На гипотезу простой выборки существенно опираются многие методы статистического анализа данных и машинного обучения, в частности, большинство статистических тестов, а также оценки обобщающей способности в теории вычислительного обучения.

Также существует множество методов, не предполагающих однородность и/или независимость выборки, в частности, в теории случайных процессов, в прогнозировании временных рядов. Метод максимума правдоподобия позволяет оценивать значения параметров модели по обучающей выборке, в общем случае не требуя, чтобы выборка была однородной и независимой. Однако в случае простых выборок применение метода существенно упрощается.

Обучающая и тестовая выборка

Обучающая выборка (training sample) — выборка, по которой производится настройка (оптимизация параметров) модели зависимости.

Тестовая (или контрольная) выборка (test sample) — выборка, по которой оценивается качество построенной модели. Если обучающая и тестовая выборки независимы, то оценка, сделанная по тестовой выборке, является несмещённой.

Оценку качества, сделанную по тестовой выборке, можно применить для выбора наилучшей модели. Однако тогда она снова окажется оптимистически смещённой. Для получения немсещённой оценки выбранной модели приходится выделять третью выборку.

Проверочная выборка (validation sample) — выборка, по которой осуществляется выбор наилучшей модели из множества моделей, построенных по обучающей выборке.

Источник

Big Data. Machine Learning. Data Science.

Блог компании Даталитика. Интересное об искусственном интеллекте, машинном обучении, больших данных и ИТ-консалтинге

Подготовка данных для алгоритмов машинного обучения

Описание стека и некоторые вводные

Первый взгляд на датасет и понимание его специфики

Трудно работать с данными, не понимая, что они из себя представляют, поэтому давайте их загрузим и выведем некоторые статистики.

Это даст нам первое представление о том, что есть наши данные. Далее посмотрим на размеры наших табличных данных. Выполнив построчно код ниже

Также было бы неплохо увидеть информацию о количестве каждого уникального значения для каждого столбца в наборе данных:

Большинство столбцов выглядят хорошо, но есть несколько нуждающихся в очистке. Примеры некорректных значений данных ниже.

Разделение на обучающую выборку и целевую переменную

Обработка пропусков в данных

idweathertemperaturehumidityplay tennis?
1cloudy60NaNyes
2rainy7580%NaN
3cloudyNaN50%no
4sunny6540%yes

Если бы мы удалили все строки с отсутствующими значениями, осталась бы только одна строка, и наш предиктор всегда бы предполагал, что я должен играть в теннис, так как других вариантов, по которым он будет учиться, про не будет. Предположим, мы вместо этого решили заменить нулевое значение температуры в строке 3 средним. В этом случае температура строки 3 искусственно сообщалась бы равной 65. И это уже позволит при каких-то входных параметрах получать от алгоритма отрицательный результат.

Scikit-learn предоставляет реализацию для обработки пропусков

Поиск неявных дубликатов

Если бы требовалось создать механизм предварительной обработки, который мог бы очищать входящие данные, требовалось бы воспользоваться более умным подходом. Но так как наша задача — это работа с уже имеющемся датасетом, то мы просто используем этот подход с заменой определенных типов.

Обнаружение выбросов

Как уже упоминалось ранее, оказалось, что для Age существуют значения, которые кажутся ошибочными. Такие как отрицательный возраст или чрезвычайно большие целые числа, могут негативно повлиять на результат работы алгоритма машинного обучения, и нам нужно будет их устранить.
Для этого возьмем нашу эвристическую оценку, в каком возрасте могут работать люди: от 14 до 100 лет. И все величины, не попадающие в этот диапазон, преобразуем в формат Not-a-Number.

Эти нулевые значения затем могут быть обработаны с использованием описанного выше sklearn Imputer.
После определения диапазона для работающего человека, визуализируем распределение возраста, присутствующего в этом наборе данных.

Кодирование данных

Многие алгоритмы машинного обучения ожидают числовые входные данные, поэтому нам нужно выяснить способ представления наших категориальных данных численным образом.

Одним из решений этого было бы произвольное присвоение числового значения для каждой категории и отображение набора данных из исходных категорий в каждое соответствующее число. Например, давайте посмотрим на столбец «leave» (как легко вам взять отпуск по болезни для состояния психического здоровья?) В нашем наборе данных

Который возвращает следующие значения

Для кодирования этих данных, сопоставим каждое значение с числом.

Этот процесс известен как Label Encoding и sklearn может сделать это за нас.

Проблема с этим подходом заключается в том, что вы вводите порядок, который может отсутствовать в исходных данных. В нашем случае можно утверждать, что данные являются ранжированными («Very difficult» меньше «Somewhat difficult», который меньше «Very easy», который меньше «Somewhat easy»), но в большинстве своем категориальные данные не имеют порядка. Например, если у вас есть признак обозначающий вид животного, зачастую высказывание кошка больше собаки не имеет смысла. Опасность кодирования меток заключается в том, что ваш алгоритм может научиться отдавать предпочтение собак, кошкам из-за искусственных порядковых значений, введенных вами во время кодирования.

Общим решением для кодирования номинальных данных является one-hot-encoding.

Вместо того, чтобы заменять категориальное значение на числовое значение (кодирование меток), как показано ниже

idtypenumerical
1cat1
2dog2
3snake3
4cat1
5dog2
6turtle4
7dog2

Вместо этого мы создаем столбец для каждого значения и используем 1 и 0 для обозначения выражения каждого значения. Эти новые столбцы часто называются фиктивными переменными.

idtypeis_catis_dogis_snakeis_turtle
1cat1000
2dog0100
3snake0010
4cat1000
5dog0100
6turle0001
7dog0100

Вы можете выполнить one-hot-encoding непосредственно в Pandas или использовать sklearn, хотя sklearn немного более прозрачен, поскольку one-hot-encoding из него работает только для целых значений. В нашем примере (где входные данные представляют собой строки) нам нужно сначала выполнить кодировку меток, а затем one-hot-encoding.

Нормализация тренировочных данных

На этом этапе мы успешно очистили наши данные и превратили их в форму, которая подходит для алгоритмов машинного обучения. Однако на данном этапе мы должны рассмотреть вопрос о том, полезен ли какой-либо метод нормализации данных для нашего алгоритма. Это зависит от данных и алгоритма, который мы планируем реализовать.

ML алгоритмы, которые требуют нормализации данных:

Примечание: приведенные выше списки ни в коем случае не являются исчерпывающими, а просто служат примером.

Предположим, у вас есть набор данных с различными единицами: температура в Кельвине, относительная влажность и день года. Мы можем увидеть следующие диапазоны для каждой функции.

Когда вы смотрите на эти значения, вы интуитивно нормализуете значения. Например, вы знаете, что увеличение на 0,5 (=50%) для влажности намного более значимо, чем увеличение на 0,5 для температуры. И если мы не будем нормализовать эти данные, наш алгоритм может научиться использовать температуру в качестве основного предиктора просто потому, что масштаб является наибольшим (и, следовательно, изменения в значениях температуры наиболее значительны для алгоритма). Нормализация данных позволяет всем признакам вносить одинаковый вклад (или, что более точно, позволяет добавлять признаки в зависимости от их важности, а не их масштаба).

Алгоритм нормализации

Если вы используете такой инструмент, как градиентный спуск, для оптимизации алгоритма, нормализация данных позволяет проводить последовательное обновление весов во всех измерениях.

Первое изображение представляет две функции с разными шкалами, в то время как последняя представляет собой нормализованное пространство признаков. Оптимизация градиентным спуском в первом случае может занять большее количество времени и в конечном итоге не прийти к минимуму.

контрольная выборка в машинном обучении. Смотреть фото контрольная выборка в машинном обучении. Смотреть картинку контрольная выборка в машинном обучении. Картинка про контрольная выборка в машинном обучении. Фото контрольная выборка в машинном обученииконтрольная выборка в машинном обучении. Смотреть фото контрольная выборка в машинном обучении. Смотреть картинку контрольная выборка в машинном обучении. Картинка про контрольная выборка в машинном обучении. Фото контрольная выборка в машинном обучении

Существует несколько различных методов нормализации данных, самые популярные из них:

Нормализация Min-max устанавливает наименьшее наблюдаемое значение равным 0, а наибольшее наблюдаемое значение — 1.

контрольная выборка в машинном обучении. Смотреть фото контрольная выборка в машинном обучении. Смотреть картинку контрольная выборка в машинном обучении. Картинка про контрольная выборка в машинном обучении. Фото контрольная выборка в машинном обучении

контрольная выборка в машинном обучении. Смотреть фото контрольная выборка в машинном обучении. Смотреть картинку контрольная выборка в машинном обучении. Картинка про контрольная выборка в машинном обучении. Фото контрольная выборка в машинном обучении

Для выполнения нормализации мы можем использовать функции в sklearn.

Несколько замечаний по этой реализации:
На практике вы можете выбрать только определенные столбцы. Например, вам не нужно нормализовать фиктивные переменные из one-hot-encoding.

Разделение данных для обучения и тестирования

Разделение данных на две подвыборки

Одной из последних вещей, которые нам нужно будет сделать, чтобы подготовить данные для обучения, является разделение данных на обучающую и тестовую выборку. Выделение тестовой выборки необходимо для понимания того, что мы обучили алгоритм в достаточной степени (не произошло переобучение или недообучение)

Источник

Контрольная выборка в машинном обучении

контрольная выборка в машинном обучении. Смотреть фото контрольная выборка в машинном обучении. Смотреть картинку контрольная выборка в машинном обучении. Картинка про контрольная выборка в машинном обучении. Фото контрольная выборка в машинном обучении

Наблюдения в обучающей выборке (training set) содержат опыт, который алгоритм использует для обучения. В задачах обучения с учителем каждое наблюдение состоит из наблюдаемой (зависимой) переменной и одной или нескольких независимых переменных.

Тестовое множество, или тестовая выборка, представляет из себя аналогичный набор наблюдений, который используется для оценки качества модели, используя некоторые показатели.

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

Переобучение

Запоминание обучающей выборки называется переобучением (overfitting). Программа, которая запомнит свои наблюдения не сможет выполнить поставленную задачу правильно, так как она запомнит отношения и структуры в данных, являющиеся шумом или простым совпадением. Балансировка между запоминанием и обобщением, или переобучением и недообучением (underfitting), является общей проблемой для многих алгоритмов машинного обучения. Одним из способов избежать переобучение для многих моделей является применение регуляризации.

Проверочное множество

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

Качество данных

Некоторые обучающие выборки могут содержать только несколько сотен наблюдений, другие могут включать в себя миллионы точек данных. Недорогие облачные хранилища данных, множество встроенных в смартфоны и различные гаджеты датчиков внесли свой вклад в современное состояние BigData. У нас имеется доступ к обучающим множествам с миллионами, или даже миллиардами примеров. Предсказательная сила многих алгоритмов машинного обучения растет при увеличении размера обучающих выборок данных. Тем не менее, алгоритмы машинного обучения, также следуют принципу «мусор на входе — мусор на выходе». Студент, который готовится к экзамену, читая большой, запутанной учебник, который содержит много ошибок, скорее всего, не получит лучшую оценку, чем студент, который читает небольшой, но хорошо написанный учебник. Аналогично, алгоритм обучающийся на большой коллекции зашумленных, не относящихся к делу, или неправильно маркированных данных не будет работать лучше, чем алгоритм обучающийся на меньшем наборе данных, которые более адекватны задачам в реальном мире.

Многие из обучающих множеств подготавливаются вручную, или же с использованием полуавтоматических процессов. Создание больших коллекций данных для обучения по прецедентам может быть достаточно затратным процессом в некоторых областях.

Кросс-валидация

ABCDE
Перекрестная проверка, 1 итерацияТестовое множествоОбучающее множествоОбучающее множествоОбучающее множествоОбучающее множество
Перекрестная проверка, 2 итерацияОбучающее множествоТестовое множествоОбучающее множествоОбучающее множествоОбучающее множество
Перекрестная проверка, 3 итерацияОбучающее множествоОбучающее множествоТестовое множествоОбучающее множествоОбучающее множество
Перекрестная проверка, 4 итерацияОбучающее множествоОбучающее множествоОбучающее множествоТестовое множествоОбучающее множество
Перекрестная проверка, 5 итерацияОбучающее множествоОбучающее множествоОбучающее множествоОбучающее множествоТестовое множество

Оригинальный набор данных разбивается на пять подмножеств одинакового размера, обозначенных от A до E. Сначала модель обучается на частях В-Е, и тестируется на части данных А. На следующей итерации, модель обучается на разделах A, C, D и Е и тестируется на данных части В. Части меняются до тех пор, пока модель не обучится и протестируется на всех частях. Кросс-валидация дает более точную оценку эффективности модели, чем тестирование с использованием только одной части данных.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *