Неделя 3 обучения машинному обучению с использованием подхода, основанного на проектах

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

Средневзвешенное значение предсказаний K-кратности

На прошлой неделе внедрение функции Survival Rate вместе с K-Fold Cross Validation значительно повысило наш результат в таблице лидеров. Небольшая корректировка предсказания K-кратности, которую мы можем сделать по логике, заключается в следующем: вместо прямого усреднения K-прогнозов взвешенное среднее значение K-прогнозов. Веса K-прогнозов могут быть взяты пропорциональными оценке OOB для каждой проверки K-кратности.

Оценка OOB. Для классификаторов Random Forest ошибка Out of Bag измеряет в той или иной форме точность предсказания модели путем предоставления ей примеров, которые не встречались в процессе обучения. Существует некоторая тонкая разница между оценкой проверки и оценкой oob, которая рассматривается вместе с дополнительной информацией в этой статье на Medium:

Что такое Out of Bag (OOB) оценка в Random Forest? | Навнина Бхатия | На пути к науке о данных

После применения вышеуказанного изменения наблюдалось небольшое увеличение оценки.

Другие модели машинного обучения

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

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

Осталось попробовать

После того, как я решил перейти к следующему конкурсу, я понял, что еще не до конца попробовал собрать некоторые модели. Эта записная книжка по моделированию машинного обучения казалась достойной попытки, но этот метод, вероятно, может подождать до следующего конкурса. Итак, окончательный балл, который мы имеем для этого соревнования, составляет 0,80622 с рангом 1207 (Топ 4%).

Введение в ансамбль/стекинг в Python | Kaggle

Следующий конкурс | Распознавание цифр

Следующий большой проект, которым мы собираемся заняться, — это конкурс «Распознавание цифр». Как следует из названия, в этом соревновании мы должны разработать модель машинного обучения, которая распознает значение цифр по изображению цифры. Этот конкурс относится к категории «Компьютерное зрение».

Набор данных, используемый в этом соревновании, — это набор данных MNIST, который считается набором данных «Hello World» в Computer Vision. После изучения некоторых обсуждений и записных книжек этого конкурса, методы, которые обычно используются для этого конкурса, следующие:

  • Машинное обучение без глубокого обучения (KNN и SVM)
  • Машинное обучение с глубоким обучением (готовые нейронные сети и самостоятельно построенные)
  • Уменьшение размерности

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

Интерактивное введение в уменьшение размерности | Kaggle

Как атаковать модель машинного обучения? | Kaggle

Со следующей недели мы начнем работать над конкурсом Digit Recognizer, используя методы машинного обучения без глубокого обучения. Итак, давайте двигаться вперед с этим!