Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
1. Масштабирование функций
Если функция имеет гораздо больший диапазон значений, чем другие функции, то в численных вычислениях (таких как вычисление евклидова расстояния) доминирует эта функция. Но на самом деле этот признак не обязательно самый важный, обычно каждый признак нужно рассматривать как одинаково важный. Нормализация/нормализация данных позволяет объединять для сравнения признаки разных размеров, что может значительно повысить точность модели. Также при использовании градиентного спуска для решения задач оптимизации нормализация/нормализация данных может ускорить решение градиентного спуска.
(1) Нормализация данных
Нормализация данных заключается в обработке диапазона значений данных в диапазоне 0-1 или -1-1.
Преобразование любых данных в диапазон от 0 до 1:
newValue = (oldValue-min)/(max-min)
Преобразование любых данных в -1-1
newValue = ((oldValue-min)/(max-min)-0.5)*2
(2) Средняя стандартизация
Нормализация среднего масштабирует диапазон значений до интервала [-1, 1], и среднее значение данных становится равным 0.
Пусть x — данные объекта, u — среднее значение данных, а s — дисперсия данных.
newValue = (oldValue-u)/s
(три)Примечания по масштабированию функций
Вам необходимо сначала разделить данные на тренировочный набор и проверочный набор, рассчитать необходимые значения (такие как среднее и стандартное значение) в тренировочном наборе и стандартизировать/нормализовать данные тренировочного набора (не стандартизируйте весь набор данных). /normalization, потому что это перенесет информацию проверочного набора в обучающий набор), а затем выполните ту же нормализацию/нормализацию данных проверочного набора с ранее рассчитанными данными (такими как среднее и стандартное значение).
Во-вторых, перекрестная проверка (Cross-Validation)
В машинном обучении, вообще говоря, мы не можем использовать все данные для обучения модели, иначе у нас не будет набора данных для проверки модели и оценки прогнозирующего эффекта нашей модели. Один из самых простых способов — разделить весь набор данных на две части: одну для обучения в качестве обучающего набора и одну для проверки в качестве тестового набора. Но у этого подхода есть два недостатка:
1. Выбор конечной модели и параметров во многом будет зависеть от того, как вы разделите обучающую выборку и тестовую выборку. То есть, если наш обучающий набор и тестовый набор недостаточно хорошо разделены, очень вероятно, что лучшая модель и параметры не могут быть выбраны.
2. Этот метод использует только часть данных для обучения модели. Мы знаем, что когда объем данных, используемых для обучения модели, больше, обученная модель обычно работает лучше. Таким образом, разделение обучающего набора и тестового набора означает, что мы не можем в полной мере использовать имеющиеся у нас данные, поэтому эффект полученной модели также будет в определенной степени затронут.
На основе этих предпосылок предлагается метод перекрестной проверки. Основная идея кросс-валидации заключается в повторном использовании данных, разделении полученных выборочных данных, объединении их в разные обучающие наборы и тестовые наборы, использовании обучающего набора для обучения модели и использовании тестового набора для оценки качества предсказание модели. На этой основе может быть получено несколько наборов различных обучающих наборов и тестовых наборов, и образец в определенном обучающем наборе может стать образцом в тестовом наборе в следующий раз, что называется «кроссовер».
Перекрестная проверка используется, когда данных недостаточно. Если размер выборки данных меньше 10 000, мы будем использовать перекрестную проверку для обучения оптимальной модели выбора. Если выборка превышает 10 000, мы обычно случайным образом делим данные на три части: одна — обучающий набор (обучающий набор), другая — проверочный набор (проверочный набор), а последний — тестовый набор (проверочный набор). ). Учебный набор используется для обучения модели, а проверочный набор используется для оценки того, насколько хорошо модель предсказывает, и выбора модели и ее соответствующих параметров. Повторно используйте полученную модель для набора тестов и, наконец, решите, какую модель использовать и соответствующие параметры.