Рекомендуем | Освойте эти 12 опытов, прежде чем вы поймете машинное обучение

машинное обучение искусственный интеллект алгоритм модульный тест

В статье «Несколько полезных вещей, которые нужно знать о машинном обучении» профессора Педро Домингоса из Вашингтонского университета обобщаются идеи исследователей и практиков в области машинного обучения.12 ценных уроков, включая ловушки, которых следует избегать, ключевые вопросы, на которых следует сосредоточиться, и ответы на часто задаваемые вопросы.Надеюсь, что этот опыт поможет энтузиастам машинного обучения.

01

«Характеристика + оценка + оптимизация» составляет основное содержание машины!

Алгоритм машинного обучения состоит из трех частей:

Представление: Классификатор должен быть представлен на формальном языке, который может обрабатывать компьютер. И наоборот, выбор представления для обучения модели эквивалентен выбору ансамбля обучаемых классификаторов. Этот набор называется «пространством гипотез» для обучения модели. Если классификатор не находится в «пространстве гипотез», то его нельзя получить путем обучения. Связанный с этим вопрос заключается в том, как охарактеризовать ввод, т. е. какие функции использовать.

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

Оптимизация: мы собираемся искать классификатор с наивысшим баллом с помощью метода. Выбор метода оптимизации имеет решающее значение для повышения эффективности модели. Кроме того, если функция оценки имеет более одного оптимального значения, метод оптимизации помогает определить окончательный результирующий классификатор. Недавно обученные модели часто начинают с существующего оптимизатора и часто позже переключаются на пользовательский оптимизатор.

02

«Способность к обобщению» имеет решающее значение, проверка «тестовых данных» имеет решающее значение!

Основная цель машинного обучения — обобщить примеры за пределами тренировочного набора. Потому что, сколько бы ни было данных, маловероятно, что тот же самый пример снова встретится в тесте. На тренировочном наборе легко добиться хороших результатов. Самая распространенная ошибка новичков в машинном обучении — тестировать модель на обучающих данных, создавая иллюзию успеха. Если выбранный классификатор тестируется на новых данных, в целом результаты часто близки к случайному угадыванию. Итак, если вы нанимаете кого-то еще для создания классификатора, обязательно сохраните некоторые данные для себя, чтобы проверить их на соответствие классификатору, который они вам предоставили. И наоборот, если кто-то нанимает вас для создания классификатора, сохраните часть данных для окончательного тестирования вашего классификатора.

03

Одних данных недостаточно, объединенные знания работают лучше!

Нацеленность на способность к обобщению имеет еще одно последствие: одних данных недостаточно, сколько бы данных у вас ни было. Это расстраивает. Так как же мы можем ожидать, что он чему-то научится? Однако не все функции, которые мы хотим изучить в реальном мире, взяты из математически возможных функций! На самом деле использование общих предположений, таких как плавность, сходные классы похожих образцов, ограниченные зависимости или ограниченная сложность, как правило, достаточно хороши, и именно это делает машинное обучение таким успешным. Как и дедукция, индукция (то, что делает модель обучения) является рычагом знаний — она преобразует небольшое количество вводимых знаний в большое количество выходных знаний. Индукция — более мощный рычаг, чем дедукция, и для получения полезных результатов требуется меньше знаний. Тем не менее, для работы по-прежнему требуется более чем нулевой ввод знаний. Как и в случае с любым рычагом, чем больше вы вкладываете, тем больше получаете.

Оглядываясь назад, потребность в знаниях во время обучения неудивительна. Машинное обучение — это не магия. Как и любая инженерия, программирование — это большой объем работы: мы должны создавать все с нуля. Процесс обучения больше похож на фермерское хозяйство, где большая часть работы выполняется естественным образом. Фермеры комбинируют семена с питательными веществами для выращивания сельскохозяйственных культур. Модели обучения объединяют знания с данными для написания программ.

04

«Переоснащение» дает иллюзию эффектов машинного обучения!

Классификатор (или его часть) может создать «иллюзию», если имеющихся у нас знаний и данных недостаточно для полного определения правильного классификатора.Полученный классификатор не основан на реальности, а лишь кодирует случайность данных.Эта проблема, известная как переобучение, является сложной проблемой в машинном обучении. Если ваша обучающая модель выдает классификатор, который на 100 % точен на обучающих данных, но только на 50 % точен на тестовых данных, то на самом деле общая точность вывода классификатора на обоих наборах может составлять примерно 75 %, это переобучение. .

В области машинного обучения все знают о переобучении. Но переоснащение проявляется во многих формах, которые люди часто не сразу осознают. Один из способов понять переобучение — разложить ошибку обобщения на смещение и дисперсию. Предвзятость — это склонность модели повторять одни и те же ошибки. Дисперсия относится к тенденции модели изучать случайные сигналы независимо от истинного сигнала. Линейные модели имеют большое смещение, потому что модель не может вносить коррективы, когда граница между двумя классами не является гиперплоскостью. У деревьев решений нет этой проблемы, потому что они могут представлять любую логическую функцию. Но, с другой стороны, деревья решений могут сильно различаться: при обучении на разных обучающих наборах результирующие деревья решений обычно сильно различаются, хотя на самом деле они должны быть одинаковыми.

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

Помимо перекрестной проверки, существует множество способов борьбы с переоснащением. Наиболее популярным является добавление члена регуляризации к функции оценки. Например, это может наказывать классификаторы большим количеством терминов, что может помочь создать классификаторы с более простой структурой параметров и уменьшить пространство для переобучения. Другой подход заключается в выполнении теста статистической значимости, такого как тест хи-квадрат, перед добавлением новой структуры, чтобы определить, действительно ли распределение классов отличается до и после добавления новой структуры. Эти методы особенно полезны, когда данных очень мало. Тем не менее, вы должны скептически относиться к заявлениям о том, что какой-то метод идеально решает проблему переобучения. Уменьшение переобучения (дисперсии) позволяет классификатору легко попасть в противоположную ошибку недообучения (смещение). Если вы хотите избежать обоих случаев, вам нужно обучить идеальный классификатор. Без предварительной информации ни один метод не всегда является лучшим (бесплатного обеда не бывает).

05

Самая большая проблема в машинном обучении — это «проклятие размерности»!

Помимо переобучения, самой большой проблемой в машинном обучении является проклятие размерности. Этот термин был придуман Беллманом в 1961 году для обозначения того факта, что многие алгоритмы, которые хорошо работают в малых размерностях, будут плохо работать при больших входных размерностях. Но в машинном обучении это имеет более широкое значение. По мере увеличения размерности выборки (количества признаков) становится все труднее правильно обобщать, поскольку обучающая выборка фиксированного размера постепенно сужает покрытие входного пространства.

Общая проблема с более высокими измерениями заключается в том, что человеческая интуиция из трехмерного мира часто не применима к пространствам более высоких измерений. В больших размерностях большая часть данных многомерного гауссова распределения находится не вблизи среднего, а в «оболочке», которая все дальше и дальше его окружает; кроме того, большая часть объема многомерного распределения распределяется на поверхность, а не тело. Если постоянное количество отсчетов равномерно распределено в многомерном гиперкубе, то за пределами определенного числа измерений большинство отсчетов будут ближе к грани гиперкуба, чем к своим ближайшим соседям. Более того, если мы аппроксимируем гиперсферу вложением гиперкуба, то в больших размерностях почти весь объем гиперкуба находится вне гиперсферы. Это плохая новость для машинного обучения, так как один тип формы часто может быть аппроксимирован другим, но терпит неудачу в многомерных пространствах.

Построить 2D- или 3D-классификатор несложно: мы можем найти разумные границы между образцами разных классов, просто визуально осмотрев их. Но в больших размерностях нам сложно понять структуру распределения данных. Это, в свою очередь, затрудняет разработку хорошего классификатора. Короче говоря, можно подумать, что сбор большего количества признаков не должен иметь отрицательного эффекта, поскольку в лучшем случае они просто не дают новой информации о классификации. Но на самом деле последствия проклятия размерности могут перевешивать преимущества добавления функций.

06

"Соотношение между «теоретической гарантией» и «практическим несоответствием»

Документы по машинному обучению полны теоретических гарантий. Наиболее распространенная гарантия связана с ограничением на количество обучающих выборок, которое сохраняет хорошую способность модели к обобщению. Во-первых, проблема явно доказуема. Индукция часто противоположна дедукции: при дедукции можно быть уверенным в правильности заключения, при индукции отбрасываются все предположения. Возможно, это древняя мудрость, переданная по наследству. Главным прорывом последнего десятилетия стало признание того факта, что результаты индукции доказуемы, особенно когда мы готовы дать вероятностные гарантии.

Необходимо рассмотреть, что означают такие ограничения. Это не означает, что если ваша сеть возвращает гипотезу, которая согласуется с конкретным обучающим набором, то эта гипотеза, скорее всего, будет хорошо обобщаться. Скорее, при достаточно большом обучающем наборе ваша сеть, скорее всего, вернет гипотезу, которая хорошо обобщает или не дает последовательной гипотезы. Такие ограничения также не учат нас выбирать хорошее пространство гипотез. Это просто говорит нам, что если пространство гипотез содержит хорошие классификаторы, вероятность того, что сеть обучит слабый классификатор, уменьшается по мере роста обучающей выборки. Если пространство гипотез уменьшится, ограничения увеличатся, но вероятность обучения сильного классификатора также уменьшится.

Другая общая теоретическая гарантия является асимптотической: если размер входных данных бесконечен, то сеть должна выводить сильный классификатор. Звучит правдоподобно, но из-за асимптотической природы выбор одной сети вместо другой был бы опрометчивым. На практике мы редко находимся в асимптотике. Из рассмотренного выше компромисса между смещением и дисперсией следует, что если сеть A лучше, чем сеть B, когда у нее много данных, то B, как правило, лучше, чем A с ограниченными данными.

Теоретическая уверенность существует в машинном обучении не только как критерий оценки реальных решений, но и как метод понимания и движущая сила для разработки алгоритмов. Для этого он очень полезен. Фактически, с годами именно сочетание теории и практики привело к скачку вперед в машинном обучении.Примечание: Обучение — сложное явление, оно имеет смысл в теории и работает на практике, и это не означает, что первое является причиной второго.

07

«Инженерия признаков» — ключ к машинному обучению

В конце концов, некоторые проекты машинного обучения чрезвычайно успешны, а некоторые терпят неудачу. Чем это вызвано? Наиболее важным влияющим фактором является используемая функция. Процесс обучения прост, если вы получаете много независимых и связанных с классом функций. И наоборот, если класс является чрезвычайно сложной функцией функции, ваша модель может не изучить эту функцию. В общем, необработанный формат данных не подходит для обучения, но из него можно строить фичи. Это самая важная часть проекта машинного обучения и часто самая интересная часть, где не менее важны интуиция, креативность, «магия» и технологии.

Новички часто удивляются тому, как мало времени проекты машинного обучения тратят на машинное обучение. Но это неудивительно, если учесть время, затрачиваемое на такие рутинные задачи, как сбор, интеграция, очистка и предварительная обработка данных, а также устранение ошибок при преобразовании данных в функции. Более того, машинное обучение — это не просто создание набора данных и однократный запуск модели, обычно это итеративный процесс запуска модели, анализа результатов и изменения набора данных/модели. Обучение — это самая быстрая часть, но все зависит от того, насколько мы в этом сильны! Разработка признаков сложна, потому что она зависит от предметной области, в то время как модельная архитектура более широко применима. Однако между ними нет четкой границы, что обычно объясняет лучшую производительность тех моделей, которые включают знания предметной области.

08

Помните: количество данных важнее алгоритма!

В большинстве областей компьютерных наук время и память являются двумя дефицитными ресурсами. Но в машинном обучении наборы данных — третий дефицитный ресурс. С течением времени битва за узкое место постоянно меняется. В 1980-х узким местом часто были данные. Сейчас время дороже. Сегодня у нас есть огромное количество данных, но у нас недостаточно времени для их обработки, поэтому данные хранятся в ожидании. Это создает парадокс: хотя в принципе большой объем данных означает, что можно изучить более сложные классификаторы, на практике мы склонны использовать более простые классификаторы, потому что сложные классификаторы означают более сложные классификаторы, длительное время обучения. Часть решения состоит в том, чтобы придумать методы, которые могут быстро изучить сложные классификаторы, и сегодня действительно есть значительный прогресс в этом направлении.

Одна из причин, по которой использование более умного алгоритма не так полезно, как ожидалось, заключается в том, что он ничем не отличается от любого другого алгоритма при первом приближении. Вы удивитесь, когда подумаете, что разница между представлениями аналогична разнице между правилами и нейронными сетями. Но правда в том, что пропозициональные правила можно легко закодировать в нейронных сетях, и между другими представлениями существуют аналогичные отношения. Практически все модели реализованы путем классификации близлежащих выборок в одну и ту же категорию, ключевое различие заключается в значении «ближайший сосед». Для неравномерно распределенных данных модель может создавать сильно различающиеся границы, в то же время давая одни и те же прогнозы в важных областях (областях с большим количеством обучающих примеров и, следовательно, там, где, вероятно, появится большинство текстовых примеров). Это также объясняет, почему надежные модели могут быть нестабильными и при этом быть точными.

Как правило, сначала мы рассматриваем самые простые модели (например, Наивный Байес вместо логистической регрессии, K-ближайшие соседи вместо SVM). Чем сложнее модели, тем они привлекательнее, но их часто сложно использовать, потому что для получения хороших результатов нужно настроить множество узлов, и в то же время их внутренности крайне непрозрачны.

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

09

«Одну модель» трудно достичь оптимальной, «интеграция нескольких моделей» - это выход!

В первые дни развития машинного обучения у всех была любимая модель с некоторыми априорными причинами ее превосходства. Исследователи разрабатывают большое количество вариантов модели и выбирают из них оптимальную модель. Впоследствии эмпирические сравнения систем показали, что лучшая модель зависит от приложения, и начинают появляться системы, содержащие много разных моделей. Текущее исследование начинается с попытки отладить различные варианты нескольких моделей и выбрать тот, который работает лучше всего. Но исследователи начинают замечать, что вместо выбора наилучшего найденного варианта объединение нескольких вариантов дает лучшие результаты (часто намного лучшие) и не требует дополнительных усилий.

Ансамбли моделей теперь являются стандартным подходом. Самым простым из этих методов является алгоритм бэггинга, в котором мы генерируем случайные варианты обучающего набора данных просто путем повторной выборки, изучаем отдельные классификаторы на основе этих вариантов и интегрируем результаты этих классификаторов путем голосования. Выполнимость этого метода заключается в том, что он значительно снижает дисперсию и лишь немного увеличивает смещение. В повышающем алгоритме обучающие примеры имеют веса, и эти веса разные, поэтому каждый новый классификатор фокусируется на примерах, в которых предыдущая модель пошла бы не так. В алгоритме суммирования выходные данные каждого отдельного классификатора используются в качестве входных данных для моделей «более высокого уровня», которые оптимальным образом объединяют эти модели.

Есть много других методов, их слишком много, чтобы перечислять, но общая тенденция — ансамблевое обучение во все большем и большем масштабе. Вдохновленные щедростью Netflix, команды по всему миру работают над созданием лучшей системы рекомендаций по видео. По ходу соревнования команда участников обнаруживает, что наилучших результатов можно добиться, комбинируя модели других команд, что также способствует консолидации команды. И чемпион, и модель, занявшая второе место, представляют собой ансамблевые модели, состоящие из более чем 100 небольших моделей, и две ансамблевые модели объединены для дальнейшего повышения производительности. Несомненно, в будущем появятся более крупные ансамблевые модели.

10

«Простой» не значит «точный»!

Принцип бритвы Оккама гласит, что сущности не следует умножать без крайней необходимости. В машинном обучении это обычно означает, что при наличии двух классификаторов с одинаковой ошибкой обучения более простой из двух, вероятно, будет иметь наименьшую ошибку оценки. Доказательства этого утверждения повсеместно представлены в литературе, но на самом деле существует множество контрпримеров, опровергающих его, а теорема о «бесплатных обедах» ставит под сомнение ее достоверность.

Ранее мы также видели контрпример: ансамблевые модели. Даже если ошибка обучения достигла нуля, ошибка обобщения расширенной модели ансамбля может продолжать уменьшаться за счет добавления классификаторов. Таким образом, как это ни парадоксально, количество параметров модели не обязательно связано с ее тенденцией к переоснащению.

Хорошая идея состоит в том, чтобы приравнять сложность модели к размеру пространства гипотез, поскольку меньшее пространство позволяет характеризовать гипотезы более короткими кодами. Подобные границы в разделе теоретических гарантий можно интерпретировать как более короткие гипотетические коды, которые лучше обобщают. Мы можем уточнить это, закодировав более короткие гипотезы в пространстве с априорными предпочтениями. Но рассматривать это как демонстрацию компромисса между точностью и простотой — это круговой аргумент: мы делаем предпочитаемые нами гипотезы более простыми по замыслу, и если они точны, то это потому, что предпочтительная гипотеза верна, а не потому, что в какой-то конкретной характеристике «простота» основного предположения.

11

«Представимый» не означает «обучаемый»!

Все представления моделей, применяемые к нефиксированным масштабам, на самом деле имеют связанные теоремы, такие как «любая функция может быть представлена ​​​​или бесконечно аппроксимирована с использованием этого представления». Это приводит к тому, что предпочтение определенного метода представления часто игнорирует другие элементы. Однако представление само по себе не означает, что модель может обучаться. Например, модель дерева решений с большим количеством листовых узлов, чем обучающие образцы, не будет обучаться. В непрерывных пространствах обычно используется фиксированный набор примитивов для представления очень простых функций, требующих бесконечного количества компонентов.

Кроме того, если функция оценки имеет много локальных оптимумов в пространстве гипотез (что является обычным явлением), модель может не найти оптимальную функцию, даже если она представима. Учитывая ограниченные данные, время и место для хранения, стандартные модели могут изучить только небольшое подмножество набора всех возможных функций, и это подмножество зависит от выбранного метода представления. Таким образом, ключевой вопрос заключается не в том, «представима ли модель», а в том, «может ли модель обучаться», и важно попробовать разные модели (даже ансамблевые модели).

12

«Корреляция» не означает «причинность»!

Утверждение, что корреляция не подразумевает причинно-следственной связи, упоминается так часто, что не заслуживает критики. Однако некоторые модели, которые мы обсуждаем, могут изучать только корреляции, но их результаты часто рассматриваются как представляющие причинно-следственную связь. Есть проблема? Если да, то почему люди до сих пор это делают?

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

Оригинал: https://medium.com/@james_aka_yale/12-useful-things-to-know-about-machine-learning-c599be92c98d

End