Математика в машинном обучении



Вот люди часто спорят, нужно ли знать математику, чтобы заниматься машинным обучением, или нет. И в каком объеме. Ответ простой: есть вещи, которые можно делать с достаточно скудным знанием математики на уровне что такое градиентный спуск (и то иногда на уровне ощущений), а есть ситуации, когда вы порадуетесь, что понимаете преобразование Фурье, двойственные задачи или, например, теорему Стокса. И это весь ответ: с разными знаниями вы можете решать разные задачи и понимать методы ML с разной глубиной осознания. Нужно это вам или нет - решайте сами. Каждая команда тоже сама решает, какие люди ей нужны.



Вот вам простой пример: для всех, кто занимается ML давно, древний баян, но зато очень показательный. Если вы решаете задачу оптимизации, а у вашей функции нет градиента (например, она зашумлена), но вас устроит минимизировать ее сглаженную версию, то можно устроить градиентный спуск без градиента. Начинаете в точке x, выбираете случайный вектор p из равномерного распределения на единичной сфере и маленькое число b. Считаете f(x + bp) и вычитаете s*f(x+bp) из x, где s - размер шага градиентного спуска на текущей итерации. Повторяете такие итерации и, о чудо, в среднем (в терминах матожидания) вы движетесь в сторону антиградиента сглаженной функции f.



Если математика для вас темный лес, остается просто поверить в то, что это работает. Если вы немного в ней разбираетесь, то для случая незашумленной f вы распишете f(x+bp)-f(x) по Тейлору до первого члена и догадаетесь, что из-за равномерного распределения p на единичной сфере слагаемым -f(x) можно пренебречь, т.к. после взятия матожидания оно все равно зануляется. А если вы прям неплохо шарите или можете все быстро вспомнить, то вам по силам разобрать выкладки вроде того, что на странице 2 и 5 вот этой вот статьи https://arxiv.org/pdf/cs/0408007.pdf (а может даже написать их самостоятельно), и понять, причем там сглаживание, о каком сглаживании в принципе идет речь, и что вообще лучше разобраться, почему это работает, причем там размерность пространства, и как она влияет на размер шага, да и что там в целом со сходимостью. Не интересно - да и фиг с ним. Интересно - вот вам и математика.