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

1. Учитесь на примерах (самый очевидный)

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

2. Переоснащение ограниченными примерами

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

Еще в годы начальной (начальной) школы я отчетливо помню, как пропустил день, когда нас учили делить числа. Придя на следующий день, я понятия не имел, что это за инопланетный символ ÷, но мне все равно пришлось выполнять упражнения:

Поместите числа в правильные поля:

7 , 21

▢ ÷ ▢ = 3

10, 2

▢ ÷ 5 = ▢

2, 4

8 ÷ ▢ = ▢

Позаимствовав ответы у одноклассника, я пришел к выводу, что все, что мне нужно было сделать, это расположить числа в порядке убывания, чтобы ответить на любой из этих вопросов, то есть [наибольшее число] ÷ [второе наибольшее] = [наименьшее]. «Эврика!», - просвистел я по остальным вопросам и все правильно понял. «Я могу делиться, как босс!», - наверное, воскликнул я. «Приступайте к следующему упражнению»:

20 ÷ 4 = ?

"Какие!? В этом нет смысла! Где номер, который я должен поставить? ». Моя ментальная модель разделения была чрезмерно подходящей к упражнениям, которые я использовал для тренировок.

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

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

3. Разработка функций позволяет учиться с меньшим объемом данных

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

Функциональную инженерию можно сравнить с учителями в классе. Задача учителей - указать вам правильное направление в отношении того, как вы должны думать, чтобы решить / понять проблему. Вы могли бы понять проблему без помощи учителей, если бы у вас было достаточно примеров того, как проблема должна быть решена в различных сценариях (которые можно сравнить с простым добавлением большого количества данных в алгоритм машинного обучения без функциональной инженерии), и наоборот. можно научить чему-то чисто от учителя, не видя никаких примеров (что можно сравнить с чисто программным подходом к проблеме без использования каких-либо обучающих данных, то есть жесткого кодирования вашего собственного решения).

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

Хорошие учителя (например, хорошие наборы данных по машинному обучению) должны предоставлять множество разнообразных примеров и четких указаний относительно той проблемы / задачи, на которой вы должны сосредоточиться, чтобы учиться.

4. Использование неадекватной метрики эффективности.

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

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

Проблема с несбалансированным набором данных

Допустим, вы пытаетесь узнать на наборе данных из 100 собак, как предсказать, есть ли у собаки голубые глаза. Только 5 из 100 собак имеют голубые глаза в вашем наборе данных. Используемая нами метрика производительности кажется интуитивно понятной: процент правильных прогнозов. Если мы получим 50 сразу из 100, это будет 50%.

Вот в чем проблема: предположим, что наш алгоритм показывает производительность 95%, верно? Может быть нет. Оказывается, наш алгоритм просто говорит, что не у всех собак голубые глаза.

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

(100% прогнозов с поправкой на голубые глаза + 0% прогнозов с поправкой на голубые глаза) ÷ 2 = 50% общей производительности.

50% в данном случае более значимы, чем 95%.

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

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

5. Обучение на основе экземпляра и модели

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

Машинное обучение имеет те же типы алгоритмов, ниже показаны эти алгоритмы и то, как они будут работать при прогнозировании веса на основе роста (данные обучения для которого показаны ниже):

Обучение на основе модели: создание общей модели с использованием данных обучения. Прогнозы делаются с использованием общей модели. Ниже представлена ​​изученная линейная модель (линия наилучшего соответствия, в данном случае это y = 9x + 15) для данных роста и веса. Чтобы предсказать вес при росте 4,5, вы просто видите, пересекается ли линия через 4,5 на оси ВЫСОТА, и читаете поперек, чтобы получить вес.

Обучение на базе экземпляра: хранение данных, которые используются при обучении, при составлении прогнозов, вызов сохраненных точек данных для создания прогноза. Чтобы предсказать вес для роста 4,5, найдите точки данных, которые имеют такое же значение высоты, что и 4,5, и верните среднее значение их высоты. Так работает алгоритм K-ближайших соседей.

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

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

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

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

Очевидно, они по-прежнему сильно отличаются. При обучении ИИ легче точно измерить эффективность различных методов обучения / обучения. Люди лучше сообщают, где именно и почему они не понимают проблему (например, «Я не понимаю, почему мы должны нести единицу»).

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