Машинное обучение и статистическое моделирование

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

Статистическое моделирование, с другой стороны, зависит от человеческих талантов, математических уравнений и многих допущений для предсказания «наилучшей оценки».

Рисунок 1: Градиентный спуск [Источник: https://en.wikipedia.org/wiki/Gradient_descent]

Сколько обучающих данных мне нужно для разработки моей модели?

Объем обучающих данных, необходимых для построения комплексной модели машинного обучения, вызывает большие споры. Тип данных определяет количество признаков. Чем больше число функций, тем больше требуется данных (например, для моделей биоинформатики и генетики потребуется больше обучающих данных, чем для моделей недвижимости). Золотое правило заключается в том, что количество данных должно в 10 раз превышать количество функций. Однако это также спорно, поскольку в некоторых случаях сбор достаточного количества данных является реальной проблемой (представьте себе создание модели цунами).

Еще одним фактором является выбор модели оценки. Модели оценки могут использовать один и тот же набор данных для обучения и тестирования или могут следовать методологии разделения обучения/тестирования.

John Snow Labs провела очистку и курирование более 1800 наборов данных по 18 областям здоровья и благополучия человека. К вашим услугам также команда специалистов по исследованиям в области здравоохранения. Вы можете ознакомиться с библиотекой данных John Snow Labs здесь.

Наши пять лучших наборов данных по количеству точек данных:

  1. 51,350,000
  2. 24,525,000
  3. 18,275,000
  4. 14,375,000
  5. 11,675,000

У KDnuggets™ есть хороший блог, в котором рассказывается, сколько данных необходимо для более сложных моделей. С практической точки зрения, опыт предметной области и построение кривой обучения — лучший способ решить, достаточно ли у вас данных. Это покажет ход обучения и ошибки теста, пока вы увеличиваете размер набора данных для обучения.

Градиентный спуск (J) и линейная регрессия

Вам нужно разработать модель, чтобы иметь возможность прогнозировать результаты. Предположим, что у вас есть функция H(X). Эта функция определяется набором параметров или коэффициентов (Ɵ0, Ɵ1, Ɵ2, Ɵ3… и т. д.) и может быть представлен как:

H0 (X) = Ɵ0 + Ɵ1 X

Это уравнение является линейным уравнением, что означает, что набор решений может быть представлен прямой линией. Чем ближе значение H(X) к значению Y в координатах (X, Y) обучающих данных, тем больше точной будет модель данных. Другими словами, вам нужна минимальная разница между оценщиком (набором обучающих данных) и оценочным значением (прогнозом), чтобы определить, что у вас хорошая модель. Этого можно достичь только путем выбора значений тета (Ɵ) или параметров, которые могут обеспечить эту минимальную разницу.

Для расчета ошибки необходимо использовать формулу под названием «Функция стоимости [J(Ɵn)]» (используйте функцию среднеквадратичной ошибки [MSE]). Функция MSE будет измерять разницу между обучающим набором данных и прогнозируемыми значениями.

(Функция стоимости)

Ваша следующая цель должна состоять в том, чтобы минимизировать значение этой функции (минимизировать ошибку). Этого можно добиться с помощью алгоритма под названием «Алгоритм градиентного спуска». Градиентный спуск — это простой алгоритм, используемый для оптимизации. Используйте его всякий раз, когда параметры (коэффициенты) не могут быть рассчитаны аналитически (с помощью линейной алгебры).

Градиентный спуск итеративно использует следующую функцию, присваивая начальное значение (вес) коэффициентамf, а затем изменяя эти значения итеративно пропорционально отрицательному значению градиента функции, пока не будет достигнута сходимость. Схождение может быть достигнуто путем поиска незначительных изменений в ошибках от итерации к итерации (где градиент близок к нулевому значению).

Это уравнение будет повторяться для каждого (j), пока не будет достигнута сходимость.

Подсказка. (α) в уравнении представляет скорость обучения. Сначала вы можете рассматривать его как значение, показывающее, насколько быстро вы можете достичь минимума, или просто сколько времени может занять этот процесс.

Эффективность градиентного спуска с очень большими обучающими наборами данных была поставлена ​​под сомнение. Несмотря на это, специалисты по машинному обучению могут масштабировать Gradient Descent до очень больших наборов данных.

Существует два основных типа градиентного спуска: пакетный градиентный спуск и стохастический градиентный спуск. Пакетный градиентный спуск можно использовать с линейной и логистической регрессией, но он несколько медленный и не подходит для очень больших наборов данных. Стохастический градиентный спуск намного быстрее и больше подходит для больших наборов обучающих данных.

Сложность заключается не только в получении обучающих данных, но и в других задачах, включая определение того, сколько данных вам нужно, очистку и обработку данных, а также выбор наилучшего алгоритма оптимизации и методологии оценки. Если вы специалист по данным, для достижения хороших результатов потребуется ваше драгоценное время. Такие задачи, как обработка данных и выбор методологии, могут быть переданы на аутсорсинг консультанту. Более сложная задача — найти подходящих специалистов, которые помогут вам. John Snow Labs — это организация, которая вам нужна, чтобы поддерживать (J) на минимуме и значительно снижать риски вашего исследовательского проекта.

Первоначально опубликовано на сайте www.johnsnowlabs.com 30 апреля 2018 г.