💨 Что такоее Тензор ?



Ответ

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



Те́нзор (от лат. 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