Случайные числа в машинном обучении
Роль случайных чисел в машинном обучении
Все о псевдослучайных числах, их инициализации и воспроизводимости
Машинное обучение полагается на статистику, и случайные числа важны для выполнения многих этапов обработки данных и обучения моделей. Современные фреймворки машинного обучения предоставляют абстракции и функции, которые реализуют случайность внутри себя, и для нас, как для ученых-данных и инженеров машинного обучения, детали генерации случайных чисел остаются часто неясными.
В этой статье я хочу прояснить некоторые аспекты случайных чисел в машинном обучении. Вы узнаете о следующем:
- 3 примера использования случайных чисел в машинном обучении
- Генерация (псевдо-)случайных чисел
- Инициализация случайных чисел
- Воспроизводимое машинное обучение: необходимые строки кода для scikit-learn, tensorflow и pytorch.
После прочтения этой статьи, вы узнаете, что происходит при использовании случайных чисел в вашем процессе машинного обучения, и научитесь необходимым строкам кода, чтобы обеспечить воспроизводимость ваших алгоритмов машинного обучения.
3 Примера использования случайных чисел в машинном обучении
Чтобы проиллюстрировать важность случайных чисел, мы рассмотрим три примера, где они играют роль в процессе машинного обучения.
- КЛИП, интуитивно и всесторонне объясненный
- Дискретные одномерные распределения простое и понятное объяснение
- Формирование памяти модели без необходимости повторного обучения
- Создание разбиения обучающего и тестового наборов данных
- Инициализация весов в нейронной сети
- Выбор мини-пакетов в процессе обучения
Разбиение обучающего и тестового наборовРазбиение вашего набора данных на обучающую и тестовую выборки является одним из самых важных шагов при оценке производительности алгоритма машинного обучения. Нас интересуют модели, которые хорошо обобщаются на данных, которые не использовались в процессе обучения. Для этого коллекция образцов данных разделяется на минимум два непересекающихся набора.
Обучающие данные используются для тренировки алгоритма, т.е. для итеративного уточнения параметров модели. Тестовые данные используются для проверки алгоритма путем применения обученной модели к тестовым данным и подсчета соответствующих метрик.