Курс "Специалист по искусственному интеллекту". Урок 9. Переобучение и полиномиальная регрессия
Леонид Лукин
Девятый урок курса «Специалист по искусственному интеллекту». Подробно разбираем фундаментальное понятие обобщающей способности модели. Изучаем разделение выборки на Train/Test, диагностируем недообучение (Underfitting) и переобучение (Overfitting), а также строим криволинейные зависимости с помощью полиномиальной регрессии. В этой лекции мы подробно обсудим: – Главную цель машинного обучения — развитие обобщающей способности (Generalization) моделей. – Аналогию со студентом на экзамене: почему проверка точности на обучающей выборке приводит к ложным выводам. – Три состояния модели: недообучение (Underfitting), переобучение (Overfitting) и оптимальное соответствие (Good Fit). – Золотой стандарт машинного обучения: разделение исходного датасета на обучающую (Train) и тестовую (Test) выборки в пропорциях 70/30 или 80/20. – Использование функции train_test_split() в Scikit-Learn и распаковку данных в переменные X_train, X_test, y_train, y_test. – Зачем нужен параметр random_state и какова история популярности числа 42 в IT-литературе. – Проблему нелинейности реального мира (почему цена квартиры растет нелинейно по отношению к ее площади). – Математический трюк полиномиальной регрессии: генерацию степенных признаков (X^2, X^3) и их попарных комбинаций (X1 * X2) без усложнения самого алгоритма. – Выборочную генерацию полиномов с помощью классов PolynomialFeatures и DataFrameMapper (библиотека sklearn-pandas). – Наглядную оценку переобучения по изменению метрики R²: почему при...