Openstack DevOps and IBM/Informix Certified DBA... · 16 мар 2022
Градиентный спуск инициализируется путем случайной выборки точек карты из изотропной гауссовой кривой с небольшой дисперсией, которая сосредоточена вокруг начала координат. Также другие положения слова «случайный» поясняют, что выбор начальных ориентиров происходит случайным образом и, следовательно, может влиять на локальные минимумы функции.
=======================================
Эта случайность представлена генератором псевдослучайных чисел, который задается параметром random_state.
Объяснение: некоторые алгоритмы используют случайные числа при инициализации определенных параметров, таких как веса для оптимизации, случайное разбиение данных на обучение и тестирование, выбор некоторых функций и т.д. В программировании и программном обеспечении в целом нет ничего по-настоящему случайного. Для генерации случайных чисел используется программа. Но поскольку это программа с некоторыми фиксированными шагами, она не может быть по-настоящему случайной. Поэтому его называют генераторами псевдослучайных чисел. Теперь, чтобы каждый раз выводить разные последовательности чисел, они берут входные данные в соответствии с тем, какие числа генерируются. Как правило, это текущее время в миллисекундах (Epochs UTC). Этот ввод называется seed. Фиксация начального числа означает исправление выходных чисел.
======================================
random_state используется как начальное значение (seed) для генератора псевдослучайных чисел в scikit-learn, чтобы дублировать поведение, когда такая случайность задействована в алгоритмах. При фиксированном random_state он будет давать одинаковые результаты при разных запусках программы. Так проще отлаживать и выявлять проблемы, если таковые имеются. Без установки random_state каждый раз при запуске алгоритма будут использоваться разные начальные значения, и вы получите разные результаты. Может случиться так, что вы получите очень высокие баллы в первый раз и никогда не сможете добиться этого снова.
========================================
Иначе говоря : Суть параметра random_state (во всех функциях и методах из SciKit-Learn) — в воспроизводимых случайных значениях. То есть, если вы явно установите значение random_state, отличное от None, то сгенерированные псевдослучайные значения будут иметь одни и те же значения при каждом вызове.
==========================================
Теперь в машинном обучении мы хотим воспроизвести наши шаги точно так же, как и раньше, чтобы проанализировать результаты. Следовательно, random_state фиксируется некоторым целым числом.
====================================
Ниболее интересный пример с "random_state" рассмотрен в моем блоге, ссылка на него есть в комментарии