Самое простое предсказание
Начнём с предположения, что про заказ известно только одно число — расстояние. Пять километров.
Курьер на скутере едет по городу со средней скоростью около двадцати километров в час. Значит, на километр уходит 60 : 20 = 3 минуты. Умножаем: 5 · 3 = 15 минут.
Одно умножение, и это уже модель. Она предсказывает время в дороге по одному числу.
Вес — множитель при признаке. Здесь вес равен трём и означает «три минуты на километр».
Модель грубая: она ничего не знает ни про светофоры, ни про свободных курьеров, ни про то, что заказ ещё собирают. Всё это надо добавить.
Откуда берутся остальные числа
Раз признаков несколько, у каждого будет свой вес. Посмотрим, чему они примерно равны.
Полный цикл городского светофора — около трёх минут. Подъезжая к нему в случайный момент, в среднем ждёшь половину цикла, то есть 1.5 минуты. Это и есть вес светофоров.
Свободные курьеры работают в обратную сторону: чем их больше рядом, тем быстрее находится тот, кто ближе к точке. Точной оценки у нас нет, возьмём полминуты на каждого со знаком минус и позже проверим по данным. В таблице 1 подбор по двумстам заказам дал −0.49, то есть оценка оказалась близкой.
И последнее. Даже если ехать никуда не надо, заказ сначала собирают: готовят еду, упаковывают, передают курьеру. Это примерно 8 минут, и они уходят независимо от расстояния, светофоров и курьеров.
Несколько признаков: цикл
Каждый признак надо умножить на свой вес и всё сложить. Получается цикл по трём признакам. А восемь минут сборки прибавляются один раз, вне цикла: они не зависят ни от одного признака.
Считаем для нулевого заказа из таблицы 2.
Таблица 8. Расчёт предсказания для нулевого заказа
| признак | значение | вес | произведение |
| расстояние, км | 4 | 3 | 12 |
| светофоров | 2 | 1.5 | 3 |
| свободных курьеров | 6 | −0.5 | −3 |
| сумма произведений | | | 12 |
| сборка заказа | | | +8 |
| предсказание, минут | | | 20 |
Читаем сверху вниз. Первые три строки — по одному признаку в каждой, произведение получается умножением значения на вес. Четвёртая строка — их сумма. Обратите внимание: вклад светофоров и вклад курьеров здесь погасили друг друга, поэтому сумма произведений совпала со вкладом одного расстояния. Это совпадение, а не правило.
Двадцать минут. Это то же число, которое в таблице 1 предсказала программа, но теперь оно посчитано по шагам, и каждый шаг виден.
Скалярное произведение
Посмотрим на цикл ещё раз. Он берёт числа из двух наборов одинаковой длины, перемножает их по парам и складывает. У этого действия есть название.
Скалярное произведение — сумма попарных произведений двух наборов чисел равной длины. Результат — одно число.
В программе оно записывается одной операцией. Новой математики при этом не появляется: скалярное произведение — тот же цикл, только свёрнутый в одну запись.
Сворачивать нужно не для краткости. Дальше таких сумм будет не одна, а миллионы, и в разделе 7 будет измерено, во сколько раз цикл медленнее.
Здесь важно не перепутать три похожих названия. Скалярное произведение даёт одно число. Матричное умножение, которое появится в следующем разделе, считает множество скалярных произведений сразу и даёт таблицу. Тензорное произведение — совсем другая операция: для двух наборов по три числа она даёт девять чисел, и в этом курсе она не используется. Употреблять «тензорное умножение» как синоним матричного нельзя.
Определение нейрона
Нейрон — одно число, полученное так: каждый признак умножают на свой вес, всё складывают и прибавляют смещение.
Смещение — слагаемое, не связанное ни с одним признаком. Это то, что получится при нулевых признаках: в нашей задаче — восемь минут сборки.