Машинное обучение (machine learning) — одна из ветвей искусственного интеллекта, основанная на тренировке алгоритмов на массивах данных. Анализируя решения множества сходных задач, информационные системы начинают самостоятельно выявлять закономерности и предлагать варианты решения.
Как работает машинное обучение
Машинное обучение требует нескольких этапов: подготовки массива данных, тренировки алгоритмов на этом массиве (собственно обучение), оценки их работы и коррекции алгоритмов.
Подготовка массива данных включает в себя сбор данных из источников, относящихся к задаче, последующую очистку данных и создание выборки. Выборка может быть нужна потому, что массив слишком велик, и для решения задачи достаточно небольшой части данных. В этом случае выделяют собственно выборку, которая будет использоваться алгоритмом для обучения, и контрольную выборку, которую будут применять для оценки результата.
- Обучение — этап, на котором подбирают математическую функцию, позволяющую решить задачу. В зависимости от того, какая модель машинного обучения будет выбрана — с учителем, без учителя или так называемое глубокое обучение — этот процесс будет различным.
- Оценка — после окончания обучения корректность и эффективность работы алгоритмов оценивают на другой выборке данных, выделенной на этапе подготовки.
- Коррекция — на этом этапе алгоритмы дорабатывают, чтобы они были более точными, более эффективными и более компактными. Затем процесс повторяют.
Типы машинного обучения
Всего выделяют три глобальных типа алгоритмов машинного обучения:
- С учителем (Supervised machine learning). В этом варианте алгоритм заранее «знает» правильный ответ и ищет не решение задачи, а некие связи между данными, указывающие на решение, чтобы в будущем, при использовании новой выборки данных, на основе этих связей уже находить решение. Пример — анализ банковских транзакций, заранее определенных как безопасные или как подозрительные. На основе такого анализа алгоритм учится определять, какие общие черты есть у безопасных транзакций и что выделяет на их фоне подозрительные. С использованием этих данных он будет определять подозрительные транзакции в будущем.
- Без учителя (Unsupervised machine learning). В этом случае алгоритм работает без известных заранее ответов. Задача — найти связи между отдельными данными и на их основании построить шаблоны и закономерности. Такое обучение широко используется в системах пользовательских рекомендаций (например, люди, которым нравится фильм X, высоко оценили и фильм Y).
- Глубокое обучение (Deep learning). Возможно как с учителем, так и без него, но обязательно использует анализ так называемых больших данных (big data). В глубоком обучении используются нейронные сети, эти методы требуют много вычислительных мощностей. Например, глубокое обучение используется для распознавания изображений.
Как машинное обучение используется в информационной безопасности
В компьютерной безопасности различные методы машинного обучения применяются повсеместно: для фильтрации спама, анализа трафика, выявления фрода или вредоносного программного обеспечения. Машинное обучение также помогает уменьшить количество ложноположительных срабатываний систем безопасности, улучшить интерпретируемость результатов и повысить устойчивость ПО к действиям потенциального злоумышленника.