Что такое один горячий дизайн?

Опубликовано: 17 Сентября, 2022

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

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

Горячее кодирование:

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

Чтобы лучше понять это, давайте взглянем на пример ниже:

Тип AB_ горячий BC_ одноразовый CD_ горячий
АБ 1 0 0
до н.э 0 1 0
CD 0 0 1
АБ 0 0 0

Чтобы прояснить это, давайте возьмем другой пример, предположим, что у нас есть некоторые значения желтый и зеленый. С помощью one-hot мы можем присвоить желтому цвету числовое значение 0, а зеленому — 1.

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

Таким образом, он покажет вам [1,0] как значение желтого цвета в двоичном векторе, а значение зеленого будет показано как [0,1].

Здесь мы можем понять концепцию, сравнив представление целых чисел 0-4 в двоичном коде, коде Грея и одномоментном в таблице, приведенной ниже:

Десятичный Бинарный Код Грея Горячий
0 000 000 0000000
1 001 001 0000001
2 010 011 0000010
3 011 010 0000100
4 100 110 0001000
5 101 111 0010000
6 110 110 0100000
7 111 100 1000000

Приложения:

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

1. Машинное обучение:

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

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

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

Почему One-Hot Encoding важен для машинного обучения?

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

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

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

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

  1. На первом этапе мы присваиваем каждой категории значение числового значения. Предположим, у нас есть три значения A, B, C. Мы можем присвоить им значения 1, 2 и 3.
  2. Теперь, поскольку у них нет порядка или рейтинга, на втором этапе мы должны применить однократное кодирование к целым числам, которые мы применили. Для этого мы добавляем двоичную переменную вместо целочисленных переменных.
  3. Поскольку в примере мы указали три категории, здесь мы используем три двоичные переменные. Здесь мы помещаем значение 1 в качестве двоичного кода для каждой модели и значение 0 для остальных.
А Б С
1 0 0
0 1 0
0 0 1

2. Электроника:

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

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

3. Цифровая схема:

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

Кольцевой счетчик можно считать хорошим примером конечного автомата. Где выход одного триггера соединен со входом другого.

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

Один «горячий» бит перемещается на второй триггер, когда на триггеры поступает следующий фронт тактового сигнала. Таким образом, «горячий» бит непрерывен до тех пор, пока машина не достигнет последнего состояния после того, как вернется в первое состояние.

Преимущества:

  1. Подходит для машинного обучения: первое и самое важное преимущество горячего кодирования — оно работает. Одно горячее кодирование предназначено для обработки категориальных переменных данных, чтобы их можно было использовать в алгоритмах машинного обучения для получения более точных прогнозов.
  2. Преобразование данных в двоичные значения: One-hot используется для преобразования каждого категориального значения в другой категориальный столбец и дает двоичное значение, 0 или 1, а не порядковый номер.
  3. Простота реализации: этот метод прост и понятен в реализации. Кроме того, его легче понять, чем другие методы.
  4. Декодирование данных занимает меньше времени: известно, что использование горячего кодирования является более быстрым способом, поскольку декодирование данных занимает меньше времени по сравнению с другими методами.

Недостатки:

  1. Увеличивает вычислительную стоимость: увеличивает вычислительную стоимость, так как во время обработки увеличивается количество измерений.
  2. Представление многих значений затруднено: Кроме того, у него есть еще один недостаток, заключающийся в том, что он не может представлять много значений. Например, для n состояний нам понадобится n цифр или триггеров.
  3. Возможность мультиколлинеарности выше. Другой недостаток горячего кодирования заключается в том, что из-за фиктивных переменных вероятность мультиколлинеарности намного выше, и это может повлиять на производительность модели.
  4. Увеличение разреженности: Разреженные матрицы — это те, в которых большинство элементов равны нулю. увеличение разреженности может быть еще одним недостатком одноразового кодирования.