Унитарный код

Унитарный код (в англоязычной литературе unitary code, one-hot) — двоичный код фиксированной длины, содержащий только одну 1 — прямой унитарный код или только один 0 — обратный (инверсный) унитарный код[1][2]. Длина кода определяется количеством кодируемых объектов, то есть каждому объекту соответствует отдельный разряд кода, а значение кода положением 1 или 0 в кодовом слове.

В цифровых схемах и машинном обучении унитарный код представляет собой группу битов, среди которых допустимыми комбинациями значений являются только те, которые имеют один старший (1) бит, а все остальные младшие (0)[3]. Аналогичную реализацию, в которой все биты равны '1', кроме одного '0', иногда называют однозарядным[4].

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

Категориальные данные могут быть номинальными или порядковыми[6]. Порядковые данные имеют ранжированный порядок значений и, следовательно, могут быть преобразованы в числовые данные посредством порядкового кодирования[7]. Примером порядковых данных могут служить оценки теста от A до F, которые могут быть ранжированы с использованием чисел от 6 до 1. Поскольку между индивидуальными значениями номинальных переменных нет количественной связи, использование порядкового кодирования потенциально может создать фиктивную порядковую связь в данных[7].

Пример

Кодирование цифр 0-5.

Цифра Прямой код Инверсный код
0 000001 111110
1 000010 111101
2 000100 111011
3 001000 110111
4 010000 101111
5 100000 011111

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

Для преобразования унитарного кода в двоичный и обратно используется шифратор и дешифратор[8].

Примечания

  1. Кириченко П. Цифровая электроника для начинающих. — 2019. — ISBN 9785977540100.
  2. унитарный код. computer-museum.
  3. Harris, David and Harris, Sarah. Digital design and computer architecture. — 2nd. — San Francisco, Calif. : Morgan Kaufmann, 7 August 2012. — P. 129. — ISBN 978-0-12-394424-5.
  4. Harrag, Fouzi; Gueliani, Selmene (11 августа 2020). Event Extraction Based on Deep Learning in Food Hazard Arabic Texts. arXiv:2008.05014 [cs.SI].
  5. Brownlee, Jason. (2017). «Why One-Hot Encode Data in Machine Learning?». Machinelearningmastery. https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/
  6. Stevens, S. S. (1946). «On the Theory of Scales of Measurement». Science, New Series, 103.2684, pp. 677—680. http://www.jstor.org/stable/1671815.
  7. 1 2 Brownlee, Jason. (2020). «Ordinal and One-Hot Encodings for Categorical Data». Machinelearningmastery. https://machinelearningmastery.com/one-hot-encoding-for-categorical-data//
  8. Цифровая электроника для начинающих. 2-е изд. — ISBN 9785977568135.