Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-15/post/kantor_ai/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
Однако внимательный читатель может заметить @Kantor.AI
TG Telegram Group & Channel
Kantor.AI | United States America (US)
Create: Update:

Однако внимательный читатель может заметить, что в формуле для L целых N слагаемых. Если в нашей обучающей выборке, например, миллион объектов, то значит ли это, что нам постоянно на каждом шаге нужно считать сумму из миллиона слагаемых? Конечно нет. Вы можете взять не всю выборку, а ее маленькую часть, например, 100 объектов или 10, и усреднить ошибку по ним. И градиент считать тоже по такой ошибке. Конечно это будет не такой точной оценкой средней ошибки, но тоже сойдет, а если на каждом шаге вы усредняете по новым случайно выбранным объектам - то этот случайный выбор нивелирует неточность оценки средней ошибки на каждом шаге. Такой подход называется стохастическим градиентным спуском (SGD, Stochastic Gradient Descent), а тот набор объектов, по которому вы усредняете ошибку на текущем шаге, называется пакетом или батчем (mini-batch). В предельном случае батч может состоять из одного объекта - т.е. вы просто каждый раз смотрите на ошибку на случайном объекте. И такой алгоритм будет работать на практике.

Идея SGD идет гораздо дальше линейных классификаторов - работая с оптимизацией любой большой суммы довольно однотипных слагаемых, вы можете также ограничиться случайным слагаемым или слагаемыми, просто менять их выбор на каждом шаге оптимизации. Тот же SGD применяется и в матричных разложениях, и в нейросетях и в разных уже древних методах обучения эмбеддингов типа word2vec. Поэтому принцип работы SGD очень важно понимать, если вы сколько-нибудь серьезно занимаетесь машинным обучением.

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

Однако внимательный читатель может заметить, что в формуле для L целых N слагаемых. Если в нашей обучающей выборке, например, миллион объектов, то значит ли это, что нам постоянно на каждом шаге нужно считать сумму из миллиона слагаемых? Конечно нет. Вы можете взять не всю выборку, а ее маленькую часть, например, 100 объектов или 10, и усреднить ошибку по ним. И градиент считать тоже по такой ошибке. Конечно это будет не такой точной оценкой средней ошибки, но тоже сойдет, а если на каждом шаге вы усредняете по новым случайно выбранным объектам - то этот случайный выбор нивелирует неточность оценки средней ошибки на каждом шаге. Такой подход называется стохастическим градиентным спуском (SGD, Stochastic Gradient Descent), а тот набор объектов, по которому вы усредняете ошибку на текущем шаге, называется пакетом или батчем (mini-batch). В предельном случае батч может состоять из одного объекта - т.е. вы просто каждый раз смотрите на ошибку на случайном объекте. И такой алгоритм будет работать на практике.

Идея SGD идет гораздо дальше линейных классификаторов - работая с оптимизацией любой большой суммы довольно однотипных слагаемых, вы можете также ограничиться случайным слагаемым или слагаемыми, просто менять их выбор на каждом шаге оптимизации. Тот же SGD применяется и в матричных разложениях, и в нейросетях и в разных уже древних методах обучения эмбеддингов типа word2vec. Поэтому принцип работы SGD очень важно понимать, если вы сколько-нибудь серьезно занимаетесь машинным обучением.

А в следующий раз мы поговорим о переобучении в линейных моделях, и чем случай классификации отличается от регрессии.
61👍38🥰27🔥13💩10👏1


>>Click here to continue<<

Kantor.AI




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Can't create/write to file '/tmp/#sql-temptable-a06e-3c42dc-47c.MAI' (Errcode: 28 "No space left on device") in /var/www/hottg/function.php:216 Stack trace: #0 /var/www/hottg/function.php(216): mysqli_query() #1 /var/www/hottg/function.php(115): select() #2 /var/www/hottg/post.php(351): daCache() #3 /var/www/hottg/route.php(63): include_once('...') #4 {main} thrown in /var/www/hottg/function.php on line 216