Ответ
Это еще один вопрос, который регулярно задают на собеседованиях по глубокому обучению. Тензор — это математическое понятие, которое визуализируется как многомерные массивы.
Те́нзор (от лат. tensus, «напряжённый») — объект линейной алгебры, линейно преобразующий элементы одного линейного пространства в элементы другого. Частными случаями тензоров являются скаляры, векторы, билинейные формы и т. п.
Звучит непросто для тех, кто не разбирается в математике!
К счастью, на практике намного проще понять, что такое тензор и как он используется в науке о данных.
Я предпочитаю изображать тензор в виде вложенных “списков” чисел с любым количеством “уровней”. Другой способ представления: ячейка в электронной таблице Excel, содержащая все данные из другой таблицы. Во второй таблице каждая ячейка связана с другой таблицей и так далее. Каждую таблицу можно рассматривать как дополнительное “измерение”.
Тензор первого порядка имеет только одно измерение. В компьютерных науках это можно назвать вектором или упорядоченным набором чисел. Тензор второго порядка будет матрицей, как электронная таблица в Excel, то есть двумерным. С ростом числа измерений можно рассматривать информацию как векторы, матрицы или массивы, вложенные в массивы, с любым числом измерений (n-мерные).
С помощью Python и Numpy создадим массив числовых данных из примера:
from numpy import array
T = array([
[[111,121,131], [211,221,231], [311,321,331]],
[[112,122,132], [212,222,232], [312,322,332]],
[[113,123,133], [213,223,233], [313,323,333]],
])
При таком кодировании нам доступно любое количество измерений, что имеет колоссальное значение при работе с гигантскими объёмами сложных данных!
@machinelearning_interview