Основные задачи машинного обучения
- Восстановление регрессии (прогнозирования) – построение модели, способной предсказывать численную величину на основе набора признаков объекта.
- Классификация – определение категории объекта на основе его признаков.
- Кластеризация – распределение объектов.
Восстановление регрессии (прогнозирования) – построение модели, способной предсказывать численную величину на основе набора признаков объекта.
Классификация – определение категории объекта на основе его признаков.
Допустим, есть набор данных со статистикой по приложениям. В нем есть следующие сведения: размер, категория, количество скачиваний, количество отзывов, рейтинг, возрастной рейтинг, жанр и цена. С помощью этого набора данных и машинного обучения можно решить такие задачи:
- Прогнозирование рейтинга приложения на основе признаков: размер, категория, возрастной рейтинг, жанр и цена – задача регрессии.
- Определение категории приложения на основе набора признаков: размер, возрастной рейтинг, жанр и цена – задача классификации.
- Разбиение приложений на группы на основании множества признаков (например, количество отзывов, скачиваний, рейтинга) таким образом, чтобы приложения внутри группы были более похожи друг на друга, чем приложения разных групп.
Прогнозирование рейтинга приложения на основе признаков: размер, категория, возрастной рейтинг, жанр и цена – задача регрессии.
Определение категории приложения на основе набора признаков: размер, возрастной рейтинг, жанр и цена – задача классификации.
Разбиение приложений на группы на основании множества признаков (например, количество отзывов, скачиваний, рейтинга) таким образом, чтобы приложения внутри группы были более похожи друг на друга, чем приложения разных групп.
Нейронные сети (многослойный перцептрон)
Существует мнение, что лучшие идеи для изобретений человек заимствует у природы. Нейронные сети – это именно тот случай, ведь сама концепция нейросетей базируется на функциональных особенностях головного мозга.
Есть определенное количество нейронов, которые между собой связаны и взаимодействуют друг с другом путем передачи сигналов. Также есть рецепторы, которые получают информацию, поступающую извне, и исполнительный орган, на который приходит итоговый сигнал. По схожему принципу работают искусственные нейросети: есть несколько слоев с нейронами и связи между ними (каждая связь имеет свой весовой коэффициент). По связям передаются сигналы в виде численных значений, первый слой выполняет собой роль рецепторов, то есть получает набор признаков для обучения, и есть выходной слой, который выдает ответ.
Каждый слой нейросети оперирует разными представлениями о данных. На рисунке ниже можно увидеть пример использованиям глубокого обучения (нейросети) для распознавания образа на картинке. На входной слой нам поступают пиксели изображений, далее после вычислений между входным и первым скрытым слоем мы получаем границы, на втором скрытом слое – контуры, на третьем – части объектов, на выходном – вероятности принадлежности изображения к каждому типу объектов.
Настраивается путем задания количества узлов, скрытых слоев и выбора функции активации. В искусственных нейронных сетях функция активации нейрона отвечает за выходной сигнал, который определяется входным сигналом или набором входных сигналов.
Сравнение классических алгоритмов с нейросетью
В ходе экспериментов были подобраны следующие параметры для моделей машинного обучения:
- Линейная регрессия – модели линейной регрессии с регуляризацией не показали результат, превосходящий качество классической линейной регрессии.
- Метод опорных векторов – модель метода опорных векторов с RBF-ядром показала лучший результат по сравнению с другими ядрами.
- Многослойный перцептрон – оптимальный результат показала модель с 4 слоями, 300 нейронами и функций активацией ReLu. При попытках увеличить количество слоев и нейронов прирост качества не наблюдался.
Линейная регрессия – модели линейной регрессии с регуляризацией не показали результат, превосходящий качество классической линейной регрессии.
Метод опорных векторов – модель метода опорных векторов с RBF-ядром показала лучший результат по сравнению с другими ядрами.
Многослойный перцептрон – оптимальный результат показала модель с 4 слоями, 300 нейронами и функций активацией ReLu. При попытках увеличить количество слоев и нейронов прирост качества не наблюдался.
Решена задача прогнозирования потенциального рейтинга приложения в зависимости от его признаков.
Результаты ошибки среднего отклонения от истинного значения целевой переменной в процентах для каждой модели:
- Линейная регрессия – 6.13 %
- Метод опорных векторов – 6.01%
- Нейронная сеть – 6.41%
Таким образом, классические алгоритмы машинного обучения и нейросети показали приблизительно одинаковое качество. Это связано с тем, что нейросети хорошо обучаются на датасетах с большим размером и обычно применяются для решения задач, где зависимость в данных очень сложна. Поэтому для решения данной задачи можно обойтись применением классических алгоритмов и не прибегать к использованию нейросетей.
На гистограмме ниже представлены итоговые весовые коэффициенты a, полученные при обучении модели линейной регрессии. Чем больше столбик, тем выше влияние признака на целевую переменную. Если столбик направлен вверх, то он оказывает положительное влияние на рост целевой переменной, если вниз – то отрицательное. Другими словами, если приложение имеет жанр “Other” или “Tools”, то, скорее всего, его рейтинг будет высоким, а если у него категория “FAMILY” или “GAME” – то, вероятно, низким. Данная интерпретация весовых коэффициентов линейной регрессии бывает очень полезной при анализе данных.
- Распознаем номера автомобилей. Разработка multihead-модели в Catalyst
- Data Science: предсказание бизнес-событий для улучшения сервиса
- Как мы используем алгоритмы компьютерного зрения: обработка видео в мобильном браузере с помощью
- Тестируем комплементарную кросс-энтропию в задачах классификации текста
- Блог компании SimbirSoft
- Машинное обучение
Оставляя почту, я принимаю Политику конфиденциальности и даю согласие на получение рассылок
Часто задаваемые вопросы о машинном обучении и нейросетях
Вопрос: Что такое машинное обучение простыми словами?
Ответ: Это способность компьютера учиться выполнять задачи, не будучи явно запрограммированным, на основе анализа данных.
Вопрос: Чем нейросеть отличается от обычной программы?
Ответ: Обычная программа следует жестким правилам, а нейросеть учится на примерах и сама выявляет закономерности.
Вопрос: Что такое нейрон в искусственной нейросети?
Ответ: Это базовая вычислительная единица, которая получает входные данные, обрабатывает их с помощью весов и функции активации, и передает результат дальше.
Вопрос: Для каких задач лучше подходят нейросети, а для каких — классические алгоритмы ML?
Ответ: Нейросети эффективны для сложных данных (изображения, текст, речь), а классические алгоритмы часто лучше работают на структурированных табличных данных и требуют меньше ресурсов.
Вопрос: Что такое глубокое обучение?
Ответ: Это подраздел машинного обучения, основанный на использовании нейронных сетей с большим количеством слоев («глубоких»), которые могут извлекать сложные иерархические признаки.
Вопрос: Что значит «обучить нейросеть»?
Ответ: Это процесс настройки внутренних параметров (весов) сети на тренировочных данных так, чтобы она минимизировала ошибки при решении задачи.
Вопрос: Что такое переобучение в машинном обучении?
Ответ: Это ситуация, когда модель слишком точно подстраивается под обучающие данные, включая их шум, и теряет способность обобщать, показывая плохие результаты на новых данных.
Вопрос: Какие основные типы машинного обучения существуют?
Ответ: Обучение с учителем (с размеченными данными), обучение без учителя (поиск паттернов) и обучение с подкреплением (обучение на основе взаимодействия со средой).
Вопрос: Что такое TensorFlow и PyTorch?
Ответ: Это популярные фреймворки с открытым исходным кодом для создания и обучения моделей машинного обучения, особенно нейронных сетей.
Вопрос: Нужно ли быть математическим гением, чтобы работать с ML?
Ответ: Нет, для использования готовых инструментов достаточно понимания основных принципов. Глубокое знание математики требуется для исследований и создания новых алгоритмов.
Краткая памятка по основам машинного обучения
- Машинное обучение (ML) — это подраздел ИИ, фокусирующийся на алгоритмах, обучающихся на данных.
- Нейронная сеть — это архитектура ML, имитирующая работу мозга с помощью связанных нейронов.
- Основные задачи ML: классификация, регрессия, кластеризация и прогнозирование.
- Нейросеть состоит из входного, скрытых и выходного слоев.
- Обучение модели — это итеративный процесс настройки весов для минимизации ошибки.
- Данные для обучения делятся на тренировочные, валидационные и тестовые наборы.
- Ключевые этапы работы: сбор данных, их подготовка, выбор модели, обучение и оценка.
- Нейросети особенно сильны в обработке неструктурированных данных (изображения, текст).
- Классические алгоритмы (например, деревья решений) часто эффективнее на структурированных табличных данных.
- Глубокое обучение использует нейросети со многими слоями для сложных задач.
- Важно избегать переобучения, когда модель «запоминает» данные вместо выявления закономерностей.
- Для начала работы можно использовать библиотеки высокого уровня, такие как Scikit-learn и Keras.




























