испытаниях, когда исследователи пытаются понять точную величину и направление влияния входного параметра (дозировка лекарства) на выходной (кровяное давление). В данном случае необходимо проявлять большую осторожность, чтобы избежать негативного влияния мультиколлинеарности и пропущенных переменных на объяснительную способность модели.
В других областях, таких как машинное обучение, целью является точное предсказание[91]. Например, наличие мультиколлинеарности может не представлять проблемы, если модель способна хорошо предсказывать будущие результаты. Когда цель модели – предсказать новые выходные данные, вы должны быть очень осторожны, чтобы избежать так называемого переобучения.
Как вы помните, модели – это упрощенные версии реальности. Хорошая модель хорошо аппроксимирует взаимосвязи между входными и выходными данными. По сути, она регистрирует некое скрытое явление, выражением которого и являются данные.
Однако переобученная модель фиксирует не взаимосвязь, существование которой мы предполагаем, а взаимодействие обучающих данных со всем присутствующим в них шумом и вариациями. Поэтому ее прогнозы – не результат моделирования, а просто некий набор точек данных, которые у нас уже есть.
По сути, переобученные модели запоминают выборочные обучающие данные и плохо обобщают новые наблюдения. Посмотрите на рис. 9.4. Слева вы видите данные о продажах лимонада с моделью линейной регрессии. Справа представлена сложная регрессионная модель, которая прекрасно предсказывает некоторые точки. Какую из них вы хотели бы использовать для прогнозирования?
Рис. 9.4. Две конкурирующие модели. Модель слева хорошо обобщает, а переобученная модель справа, по сути, просто запоминает данные. Из-за вариаций модель справа не сможет хорошо предсказывать новые точки
Для предотвращения переобучения можно разделить набор данных на две части: обучающий набор, используемый для построения модели, и тестовый набор, позволяющий оценить ее эффективность. Производительность модели на тестовом наборе данных, на которых она не училась, позволяет оценить ее предсказательную способность.
Производительность регрессионной модели
Сталкиваясь с регрессионной моделью на работе, будь то модель множественной линейной регрессии или что-то более изощренное, вы можете оценить ее соответствие вашим данным с помощью графика сравнения фактического и прогнозируемого значений. Некоторые полагают, что мы не можем визуализировать производительность модели регрессии при наличии слишком большого количества входных данных – однако помните о том, что сделала модель. Она преобразовала входные параметры (один или несколько) в выходные.
Итак, для каждой строки в наборе данных у вас есть фактическое значение и связанное с ним прогнозируемое значение. Создайте на их основе диаграмму рассеяния. Они должны быть хорошо коррелированы. Такой визуальный тест позволит вам быстро оценить эффективность вашей модели. Ваши специалисты по работе с данными могут предоставить несколько связанных показателей (одним из которых является R-квадрат), однако не стоит смотреть только на эти цифры. Всегда, всегда требуйте предоставить вам график сравнения фактических и прогнозируемых значений. Пример с использованием модели, построенной на основе данных о жилье, представлен на рис. 9.5.
Рис. 9.5. На этом графике вы видите, что модель плохо прогнозирует цены на самые дорогие дома. Можете ли вы определить другие недостатки этой модели, используя этот график?
Прочие модели регрессии
Вы также можете столкнуться с такими вариантами линейной регрессии, как LASSO и Ridge (ридж-регрессия, или гребневая регрессия), которые могут помочь при наличии большого количества коррелированных входных данных (мультиколлинеарность) или в тех случаях, когда количество входных переменных превышает количество строк в вашем наборе данных. В результате получается модель, похожая на модели множественной регрессии.
Другие модели регрессии выглядят совершенно иначе. Метод k-ближайших соседей, обсуждавшийся во введении, применялся к задаче классификации, но его также можно применить и к задаче регрессии. Например, для предсказания цены продажи любого дома мы могли бы взять среднюю цену продажи трех ближайших к нему недавно проданных домов. В этом случае для решения задачи регрессии использовался бы метод k-ближайших соседей.
В следующей главе мы рассмотрим некоторые из этих моделей, поскольку их можно использовать для решения задач как классификации, так и регрессии.
Подведение итогов
Наша цель в этой главе состояла в том, чтобы помочь вам развить интуитивное понимание принципа контролируемого обучения и его фундаментального алгоритма – линейной регрессии. Мы также рассмотрели множество причин, по которым регрессионные модели могут ошибаться. Помните об этих проблемах и подводных камнях, потому что вопрос не в том, какие из них повлияют на ваши регрессионные модели, а в том, сколько это сделают.
Как вы, вероятно, уже догадались, обучающие данные обусловливают как мощь, так и ограниченность контролируемого обучения. К сожалению, зачастую компании уделяют больше внимания новейшим алгоритмам контролируемого обучения, чем сбору актуальных, точных и достаточных данных для подачи на вход этих алгоритмов. Пожалуйста, помните мантру «мусор на входе, мусор на выходе». Хорошие данные – ключевое условие эффективности моделей контролируемого обучения.
Если вы понимаете принцип обучения без учителя и обучения с учителем, то вы понимаете суть машинного обучения. Поздравляем! И извините за отсутствие больших открытий. Мы стремились преподать вам основы машинного обучения, обойдясь без громких рекламных слоганов и лишней шумихи. Машинное обучение предполагает как обучение без учителя, так и обучение с учителем.
Мы продолжим разговор о машинном обучении в следующей главе в контексте обсуждения моделей классификации.
Глава 10
Освойте модели классификации
Алгоритм машинного обучения заходит в бар.
Бармен спрашивает: «Что будете?»
Алгоритм отвечает: «А что заказали остальные?»
– Чет Хаасе (@chethaase)
В предыдущей главе мы говорили о контролируемом обучении с помощью моделей регрессии, которые позволяют предсказывать численные значения (вроде объема продаж) путем подгонки модели к набору признаков. Но что, если вам требуется предсказать конкретный результат? Например, захочет ли человек, обладающий определенным набором демографических характеристик, купить книгу о данных? Если вы когда-нибудь задавались вопросом о том, как компании оценивают вероятность того, что вы щелкнете по тому или иному рекламному объявлению, купите продукт (и какой именно), не сможете выплатить кредит, взятый на покупку автомобиля, пройдете собеседование или чем-нибудь заболеете, то эта глава для вас.
В таких задачах, где нужно предсказать категориальную переменную (то есть метку), необходимо использовать модели классификации.
Введение в классификацию
Модели, предсказывающие два варианта, называются моделями бинарной классификации. Модели, используемые для предсказания множества классов, называются моделями многоклассовой классификации[92]. Оценка вероятности того, что человек не сможет погасить автокредит, – пример задачи бинарной классификации (да/нет), а предсказание того, какую машину купит человек («Honda», «Toyota», «Ford» и так далее), – пример задачи многоклассовой классификации. Чтобы не усложнять, мы сосредоточимся на задачах