Если алгоритм машинного обучения считается «двигателем» вашего приложения, то его обучающие данные, несомненно, являются «топливом». Двигатель работает нормально только при использовании надлежащего топлива, а именно:

  1. Совместим с этим двигателем (авиакеросин заправлять нельзя!).
  2. Достаточно чистой, чтобы ваш двигатель работал более эффективно (есть причина, по которой топливо премиум-класса стоит больше, чем обычное топливо).

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

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

На приведенном выше рисунке показан типичный рабочий процесс для обучения классификатора на сигнале ЭМГ, генерируемом движениями мышц животных. В этой статье мы в первую очередь будем работать с блоком «Сегментация данных». Конечный продукт должен выглядеть так:

Маркировка и сегментация данных

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

Есть несколько способов пометить данные, мы разделим их на 3 категории:

  1. Вручную. Помимо записи события на датчике, событие также записывается извне - например, на камеру. Таким образом становится возможным вручную просмотреть видео и найти время начала и окончания событий. При работе с большими объемами данных это может стать очень обременительным. Кроме того, необходимо учитывать человеческий фактор.
  2. Алгоритмический: при работе с данными сигнала, такими как аудио или биосигналы, некоторые характеристики сигнала могут быть хорошими индикаторами начала и конца события. Например, энергия сигнала может быть вычислена и сравнена с заранее заданным порогом (обычно определяемым оборудованием или измеряемой активностью). Если сигнал выше порогового значения, то, вероятно, произошло событие, и мы должны выделить здесь особенности, как только сигнал упадет ниже порога, значит, событие, вероятно, закончилось. Хотя этот подход исключает возможность человеческой ошибки, также можно получить ложные срабатывания, когда другое событие увеличивает энергию сигнала. В нашем примере с ЭМГ мышечное истощение высвобождает молочную кислоту, которая увеличивает амплитуду сигнала, что, в свою очередь, может создавать ложные срабатывания. Наконец, пороговые подходы, как правило, несколько ненадежны.
  3. Гибрид: сочетает алгоритмический подход с ручным. Этот подход зависит от использования аппаратного и программного обеспечения для создания «триггеров». Триггеры отмечают время начала и окончания события в зависимости от внешнего стимула.

На рисунке выше показан дизайн схемы сбора данных ЭМГ, которая содержит систему аннотации данных (DAS), которая отмечает сигнал, поступающий от электродов, прикрепленных к мышцам пользователя. DAS состоит из 6 контактов, которые подключены к клавиатуре, и их биты меняются местами в зависимости от нажатия каждой клавиши. Это означает, что у нас есть 2⁸ = 256 различных клавиш, которые мы можем нажимать. Этого сочетания более чем достаточно для представления всей клавиатуры. Настройка будет следующей:

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

Спасибо за чтение! Если вам понравилось, нажимайте кнопку хлопка внизу как можно больше раз! Я более подробно расскажу об устройстве, а также о фильтрации и извлечении функций.

Давайте также подключимся к Instagram, LinkedIn или E-mail.