Что такое бинарная классификация

Статистические тесты в R. Часть 1: Бинарная классификация

Доброго времени суток. Хочу поделиться своими знаниями о работе со статистикой в R.
Многим из нас приходится сталкиваться с различными данными на работе и в повседневной жизни. Качественно и правильно их обработать и проанализировать не так сложно. В этой серии статей я покажу применения некоторых статистических тестов.

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

Бинарная классификация, качественные данные

Первая статья посвящена такому интересному тесту, как бинарная классификация. Это тестирование, которое состоит в проверке объектов на наличие какого-то качества. Например, диагностические тесты (манту все, наверное, делали) или обнаружение сигналов в радиолокации.

Разбирать будем на примере. Все файлы примеров можно скачать в конце статьи. Представим, что вы придумали алгоритм, который определяет присутствие человека на фотографии. Вроде все работает, вы обрадовались, но рано. Нужно ведь оценить качество вашего алгоритма. Тут и нужно использовать наш тест. Не будем сейчас задаваться вопросом о необходимом размере выборки для тестирования. Скажем, что вы взяли 30 фотографий, собственноручно занесли в экселевский файл есть ли на них человек или нет, а затем прогнали через свой алгоритм. В итоге мы получили такую таблицу:

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Сохраняем сразу ее в csv, чтобы не напрягаться с чтением xls (это возможно в R, но не из коробки).

Теперь немного теории. По результатам теста составляется следующая таблица.

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Важные параметры

Априорная вероятность:
Чувствительность (Sensitivity). P(T+|H+). Вероятность, что человек будет обнаружен.
Se = 14/16
Специфичность (Specificity), в других тестах часто называется мощностью (Power). P(T-|H-). Вероятность того, что при отсутствии человека, результат тест отрицательный.
Sp = 10/14

Отношение правдоподобия (Likelihood quotient). Важная характеристика для оценки теста. Состоит из 2-х значений.

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

В литературе тест считается хорошим, если LR+ и LR- больше 3 (относится к медицинским тестам).

Апостериорная вероятность: положительное и отрицательное предсказательное значение (positive and negative predictive value). Вероятность, что результат теста (положительный или отрицательный) верен.
PV+ = 14/18
PV- = 10/12

Также существуют такие понятия, как ошибка первого рода (1 — Se) и ошибка второго рода (1 — Sp). По сути эквивалентны sensitivity и specificity.

Теперь в R

Для начала загрузка данных.

В двух последних строчках мы присвоили вместо 0 и 1 ярлыки. Необходимо это сделать, т.к. иначе R будет работать с нашими даннами как с числами.

Таблицу можно вывести следующим образом:

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Данная таблица неплохая, но существует пакет prettyR, который сделает практически все за нас. Для того, чтобы установить пакет, в дефолтном R gui нужно в packages нажать install packages и набрать имя пакета.

Используем библиотеку. Для разнообразия мы выведем результат в html, т.к. у меня в RStudio таблицы отображаются немного некорректно (если знаете как пофиксить — пишите).

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация
Разберем, что там написано.

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация
Таким образом, мы получаем количественные характеристики работы нашего алгоритма. Заметим, что LR+, который на таблице обозначен как odds ratio больше 3-х. Также обратим внимание на параметры описанные выше. Как правило, основной интерес должен представлять PV+ и Se, т.к. ложная тревога это дополнительные затраты, а необнаружение может привести к фатальным последствиям.

Бинарная классификация, количественные данные

А что если наши данные являются количественными? Это может быть, например, параметр, по которому предыдущий алгоритм выносит решение (скажем, количество пикселей цвета кожи). Ради интереса, давайте рассмотрим работу алгоритма, который блокирует спамеров.

Вы создатель новой социальной сети, и пытаетесь бороться со спамерами. Спамеры посылают большое количество писем, поэтому самое простое — блокировать их после превышения некоторого порога сообщений. Только как его выбрать? Берем выборку из опять 30 пользователей. Узнаем, являются ли они роботами, считываем количество сообщений и получаем:

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Совсем чуть-чуть теории. После выбора порога, мы делим выборку на 2 части и получаем таблицу из 1-го примера. Естественно, наша задача выбрать лучший порог. Однозначного алгоритма нет, т.к. в каждом реальном примере sensitivity и specificity играют разную роль. Однако, есть метод, который помогают принять решение, а также оценивают тест в целом. Этот метод называется ROC-curve, кривая “рабочей характерики приемника”, используемый изначально в радиолокации. Построим ее в R.

Для начала установим пакет ROCR (с ним установятся пакеты gtools, gplots и gdata, если у вас их нет).

Опять загрузка данных.

Теперь строим кривую.

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

На этом графике по оси y находится sensitivity, а по x (1 — specificity). Очевидно, что для хорошего теста нужно максимизировать и sensitivity и specificity. Неизвестно лишь в какой пропорции. Если оба параметра равнозначны, то можно искать точку, наиболее удаленную от бисектрисы. Кстати, в R есть возможность сделать этот график более наглядным, добавив точки среза.

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Вот так гораздо лучше. Мы видим, что наиболее удаленные от биссектрисы точки, это 40 и 60. Кстати, о биссектрисе и площади под кривой, которую мы подсчитали. Биссектриса — тест дурака, т.е. 50 на 50. Хороший тест должен иметь площадь под кривой, превышающую площадь 0.5, т.е. площадь под биссектрисой. Желательно сильно превышать, но никак уж не быть меньше, т.к. в этом случае лучше тыкать наугад, чем пользоваться нашим методом.

Итоги

В данной статье, я описал как работать с бинарной классификацией в R. Как видите, ситуации, где их применить, можно встретить в обычной жизни. Основные характеристики таких тестов: sensivity, specificity, likelihood rate и predictive value. Они связаны между собой и показывают эффективность теста с разных сторон. В случае количественных данных их можно регулировать с помощью выбора точки среза. Для этого можно использовать ROC-curve. Выбор осуществляется отдельно в каждом случае с учетом требований к тесту, но как правило sensitivity важнее.

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

Спасибо за внимание. Надеюсь, вам понравилось!

Источник

СОДЕРЖАНИЕ

Статистическая бинарная классификация

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

Оценка бинарных классификаторов

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Учитывая классификацию конкретного набора данных, существует четыре основных комбинации категории фактических данных и присвоенной категории: истинно положительные TP (правильные положительные присвоения), истинно отрицательные TN (правильные отрицательные присвоения), ложные положительные результаты FP (неправильные положительные назначения) и ложноотрицательные FN (неверные отрицательные отнесения).

Результат теста положительныйРезультат теста отрицательныйСостояние положительноеИстинно положительныйЛожное отрицательноеСостояние отрицательноеЛожное положительноеИстинно отрицательный

Восемь основных соотношений

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

Соотношения строк следующие:

Преобразование непрерывных значений в двоичные

Источник

Обзор методов классификации в машинном обучении с помощью Scikit-Learn

Авторизуйтесь

Обзор методов классификации в машинном обучении с помощью Scikit-Learn

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Для машинного обучения на Python написано очень много библиотек. Сегодня мы рассмотрим одну из самых популярных — Scikit-Learn.

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

Что такое Scikit-Learn?

Scikit-Learn — это Python-библиотека, впервые разработанная David Cournapeau в 2007 году. В этой библиотеке находится большое количество алгоритмов для задач, связанных с классификацией и машинным обучением в целом.

Scikit-Learn базируется на библиотеке SciPy, которую нужно установить перед началом работы.

Основные термины

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

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

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

Этот результат принято называть меткой (англ. label), поскольку у выходов есть некая пометка, выданная им системой, т. е. предположение (прогноз) о том, в какую категорию попадает выход после классификации.

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

В контексте машинного обучения классификация относится к обучению с учителем. Такой тип обучения подразумевает, что данные, подаваемые на входы системы, уже помечены, а важная часть признаков уже разделена на отдельные категории или классы. Поэтому сеть уже знает, какая часть входов важна, а какую часть можно самостоятельно проверить. Пример классификации — сортировка различных растений на группы, например «папоротники» и «покрытосеменные». Подобная задача может быть выполнена с помощью Дерева Решений — одного из типов классификатора в Scikit-Learn.

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

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

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

Типы классификаторов

Scikit-Learn даёт доступ ко множеству различных алгоритмов классификации. Вот основные из них:

На сайте Scikit-Learn есть много литературы на тему этих алгоритмов с кратким пояснением работы каждого из них.

Метод k-ближайших соседей (K-Nearest Neighbors)

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

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

Классификатор дерева решений (Decision Tree Classifier)

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

Классификация подойдёт к концу, когда сеть дойдёт до подмножества только с одним объектом. Если объединить несколько подобных деревьев решений, то получится так называемый Случайный Лес (англ. Random Forest).

Наивный байесовский классификатор (Naive Bayes)

Такой классификатор вычисляет вероятность принадлежности объекта к какому-то классу. Эта вероятность вычисляется из шанса, что какое-то событие произойдёт, с опорой на уже на произошедшие события.

Каждый параметр классифицируемого объекта считается независимым от других параметров.

Линейный дискриминантный анализ (Linear Discriminant Analysis)

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

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

Метод опорных векторов (Support Vector Machines)

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

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

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

Логистическая регрессия (Logistic Regression)

У каждого признака есть своя метка, равная только 0 или только 1. Логистическая регрессия является линейным классификатором и поэтому используется, когда в данных прослеживается какая-то линейная зависимость.

Примеры задач классификации

Задача классификации — эта любая задача, где нужно определить тип объекта из двух и более существующих классов. Такие задачи могут быть разными: определение, кошка на изображении или собака, или определение качества вина на основе его кислотности и содержания алкоголя.

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

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

Реализация классификатора

Первый шаг в реализации классификатора — его импорт в Python. Вот как это выглядит для логистической регрессии:

Вот импорты остальных классификаторов, рассмотренных выше:

Однако, это не все классификаторы, которые есть в Scikit-Learn. Про остальные можно прочитать на соответствующей странице в документации.

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

Теперь классификатор нужно обучить. Перед этим нужно «подогнать» его под тренировочные данные.

Обучающие признаки и метки помещаются в классификатор через функцию fit :

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

Процесс машинного обучения

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

Во-первых, нужно подготовить набор данных для классификатора — преобразовать данные в корректную для классификации форму и обработать любые аномалии в этих данных. Отсутствие значений в данных либо любые другие отклонения — все их нужно обработать, иначе они могут негативно влиять на производительность классификатора. Этот этап называется предварительной обработкой данных (англ. data preprocessing).

Следующим шагом будет разделение данных на обучающие и тестовые наборы. Для этого в Scikit-Learn существует отличная функция traintestsplit.

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

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

Ниже будет представлен пример работы машинного обучения от обработки данных и до оценки.

Реализация образца классификации

Поскольку набор данных iris достаточно распространён, в Scikit-Learn он уже присутствует, достаточно лишь заложить эту команду:

Тем не менее, тут ещё нужно подгрузить CSV-файл, который можно скачать здесь.

Благодаря тому, что данные уже были подготовлены, долгой предварительной обработки они не требуют. Единственное, что может понадобиться — убрать ненужные столбцы (например ID ) таким образом:

Теперь нужно определить признаки и метки. С библиотекой Pandas можно легко «нарезать» таблицу и выбрать определённые строки/столбцы с помощью функции iloc() :

Код выше выбирает каждую строку и столбец, обрезав при этом последний столбец.

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

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

Чтобы убедиться в правильности обработки данных, используйте:

Теперь можно создавать экземпляр классификатора, например метод опорных векторов и метод k-ближайших соседей:

Теперь нужно обучить эти два классификатора:

Эти команды обучили модели и теперь классификаторы могут делать прогнозы и сохранять результат в какую-либо переменную.

Теперь пришло время оценить точности классификатора. Существует несколько способов это сделать.

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

Вот, к примеру, результат полученных метрик:

Поначалу кажется, что KNN работает точнее. Вот матрица неточностей для SVC:

Количество правильных прогнозов идёт с верхнего левого угла в нижний правый. Вот для сравнения метрики классификации для KNN:

Оценка классификатора

Когда дело доходит до оценки точности классификатора, есть несколько вариантов.

Точность классификации

Точность классификации измерять проще всего, и поэтому этот параметр чаще всего используется. Значение точности — это число правильных прогнозов, делённое на число всех прогнозов или, проще говоря, отношение правильных прогнозов ко всем.

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

Логарифмические потери

Значение Логарифмических Потерь (англ. Logarithmic Loss) — или просто логлосс — показывает, насколько классификатор «уверен» в своём прогнозе. Логлосс возвращает вероятность принадлежности объекта к тому или иному классу, суммируя их, чтобы дать общее представление об «уверенности» классификатора.

Этот показатель лежит в промежутке от 0 до 1 — «совсем не уверен» и «полностью уверен» соответственно. Логлосс сильно падает, когда классификатор сильно «уверен» в неправильном ответе.

Площадь ROC-кривой (AUC)

Такой показатель используется только при бинарной классификации. Площадь под ROC-кривой представляет способность классификатора различать подходящие и не подходящие какому-либо классу объекты.

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

Матрица неточностей

Матрица неточностей (англ. Confusion Matrix) — это таблица или диаграмма, показывающая точность прогнозирования классификатора в отношении двух и более классов. Прогнозы классификатора находятся на оси X, а результат (точность) — на оси Y.

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

Отчёт о классификации

В библиотеке Scikit-Learn уже встроена возможность создавать отчёты о производительности классификатора. Эти отчёты дают интуитивно понятное представление о работе модели.

Заключение

Чтобы лучше вникнуть в работу с Scikit-Learn, неплохо было бы узнать больше о работе различных методов классификации. После этого стоит лучше узнать о замере производительности классификаторов. Однако понимание многих нюансов в классификации приходит только со временем.

Источник

СОДЕРЖАНИЕ

Статистическая бинарная классификация

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

Оценка бинарных классификаторов

Что такое бинарная классификация. Смотреть фото Что такое бинарная классификация. Смотреть картинку Что такое бинарная классификация. Картинка про Что такое бинарная классификация. Фото Что такое бинарная классификация

Учитывая классификацию конкретного набора данных, существует четыре основных комбинации категории фактических данных и присвоенной категории: истинно положительные TP (правильные положительные присвоения), истинно отрицательные TN (правильные отрицательные присвоения), ложные положительные результаты FP (неправильные положительные назначения) и ложноотрицательные FN (неверные отрицательные отнесения).

Результат теста положительныйРезультат теста отрицательныйСостояние положительноеИстинно положительныйЛожное отрицательноеСостояние отрицательноеЛожное положительноеИстинно отрицательный

Восемь основных соотношений

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

Соотношения строк следующие:

Преобразование непрерывных значений в двоичные

Источник

Руководство хакера по нейронным сетям. Глава 2: Машинное обучение. Бинарная классификация

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

Бинарная классификация

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

Мы наконец-то начнем строить целые нейронные сети и сложные выражения, но давайте начнем с простого, и обучим линейный классификатор, очень похожий на один нейрон, который мы рассматривали в конце Главы 1. Единственное отличие заключается в том, что мы откажемся от сигмоиды, так как она все излишне усложняет (я использовал ее только в качестве примера в Главе 1, так как исторически сигмоидные нейроны популярны, хотя современные нейронные сети крайне редко используют нелинейности сигмоиды). В любом случае, давайте возьмем простую линейную функцию: f(x,y)=ax+by+c

1. Мы выбираем произвольную точку ввода данных и проводим ее через схему.

4. Схема примет толчок и ответит обратным распространением ошибки, чтобы рассчитать толчки на исходные значения a,b,c,x,y.

5. Так как мы рассматриваем x,y в качестве (фиксированных) точек ввода данных, мы будем игнорировать натяжение в отношении x,y. Если вам нравятся мои физические аналогии, то представьте себе эти исходные значения в виде колышков, вбитых в землю.

6. С другой стороны, мы возьмем параметры a,b,c и заставим их реагировать на их толчок (т.е. мы выполним так называемое обновление параметров). Это, конечно, может привести к тому, что схема выдаст немного более высокие значения по этой конкретной точке ввода данных в будущем.

7. Повторяем! Возвращаемся к шагу 1.

Схема обучения, которую я описал выше, в целом относится к Стохастическому градиентному спуску. Интересный момент, который мне хотелось бы повторить еще раз, это то, что a,b,c,x,y состоят из одинаковых элементов, насколько это может обеспечивать схема: они представляют собой исходные значения схемы, и схема будет толкать их все в определенном направлении. Она не знает разницы между параметрами и точками ввода данных. Однако, после завершения обратного прохода, мы игнорируем все толчки на точки ввода данных (x,y) и продолжаем загружать и выгружать их по мере повторения наших примеров в наборе данных. С другой стороны, мы сохраняем параметры (a,b,c) и продолжаем подталкивать их каждый раз, когда мы измеряем точку ввода данных. Со временем натяжение в отношении этих параметров подстроит эти значения таким образом, что функция выдаст высокие значения для положительных примеров и низкие – для отрицательных.

Источник

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

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