Tencent God знакомит вас с алгоритмами машинного обучения

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

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

введение

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

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

1. Алгоритм обнаружения аномалий

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

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

Рисунок 1-1 Выбросы кажутся далекими от нормальных точек с высокой плотностью

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

Ниже приводится краткое введение в несколько алгоритмов обнаружения аномалий.

1.1 Алгоритм обнаружения аномалий на основе расстояния

Рис. 1-2 Обнаружение аномалий на основе расстояния

Мысль: Если вокруг точки мало друзей, то ее можно считать аномальной точкой.

Шаги: Учитывая радиус r, вычислите отношение количества точек в круге с текущей точкой в ​​качестве центра и радиусом r к общему количеству. Если отношение меньше порогового значения, то его можно считать выбросом.

1.2 Алгоритм обнаружения аномалий по глубине

Рисунок 1-3 Алгоритм обнаружения аномалий на основе глубины

Идея: выбросы далеки от плотных групп и часто находятся на самом краю группы.

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

1.3 Алгоритм обнаружения аномалий на основе распределения

Рисунок 1-4 Распределение Гаусса

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

Шаги: Рассчитайте среднее значение и стандартное отклонение существующих данных. Когда новая точка данных отклоняется от среднего значения на 3 стандартных отклонения, она считается выбросом.

1.4 Алгоритм обнаружения аномалий на основе разделения

Рисунок 1-5 Изолированный лес

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

Шаги: Постройте несколько изолированных деревьев следующими способами: случайным образом выберите атрибут данных в текущем узле и случайным образом выберите значение атрибута и разделите все данные в текущем узле на два левых и правых листовых узла; если глубина листового узла мала или в листовых узлах все еще много точек данных, поэтому продолжайте описанное выше разделение. Выбросы появляются как среднее значение очень малых глубин деревьев по всем изолированным деревьям, как показано красным цветом на рис. 1-5 для очень малых глубин выбросов.

2. Общие алгоритмы машинного обучения

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

2,1 тыс. ближайших соседей

Рисунок 2-1 Две из трех ближайших точек — красные треугольники, поэтому определяемые точки должны быть красными треугольниками.

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

2.2 Кластеризация k-средних

Рисунок 2-2 Продолжайте итерацию, чтобы завершить «кластеризацию объектов».

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

2.3 Дерево решений

Рисунок 2-3 Оценка того, подходит ли игра сегодня, с помощью дерева решений

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

2.4 Наивный байесовский классификатор

Наивный байесовский метод — это метод классификации, основанный на теореме Байеса и предположении об условной независимости признаков. Совместное распределение вероятностей изучается из обучающих данных, а затем получается апостериорное распределение вероятностей. (Извините, у меня нет картинки, и я не выкладываю формулу, так что давайте просто сделаем -_-)

2.5 Линейная регрессия

Рисунок 2-4 Подбор прямой линии с наименьшей суммой отличий от фактических значений всех точек данных

Он заключается в том, чтобы найти наиболее подходящие параметры a и b для функции f(x)=ax+b путем замены существующих данных (x, y), чтобы функция могла наилучшим образом выразить отношение отображения между входом и выходом функции. существующие данные, таким образом предсказывая вывод, соответствующий будущему вводу.

2.6 Логистическая регрессия

Рисунок 2-5 Логическая функция

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

2.7 Скрытая марковская модель

Рисунок 2-6 Вероятность перехода между скрытыми состояниями x и карта вероятности наблюдения состояния x как y

Скрытая модель Маркова — это вероятностная модель временных рядов, которая описывает процесс случайной генерации последовательности ненаблюдаемых состояний из скрытой цепи Маркова, а затем случайной генерации наблюдения из каждого состояния для генерации последовательности наблюдений. Скрытая марковская модель имеет три элемента и три основные проблемы, и те, кто интересуется, могут узнать о ней отдельно. Недавно я прочитал интересную статью, в которой Скрытая модель Маркова использовалась для прогнозирования того, на каком этапе американские аспиранты будут менять специальность, чтобы принять контрмеры для удержания студентов определенной специальности. Будут ли кадровые службы компании также использовать эту модель, чтобы предсказать, на каком этапе сотрудники будут переходить на другую работу, чтобы заранее принять необходимые меры для удержания сотрудников? (^_^)

2.8 Опорные векторы

Рисунок 2-7 Поддержка опорного вектора для максимального интервала

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

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

Рисунок 2-8 Преобразование линейно неразделимого 2D в линейно разделимое 3D

3. Введение в глубокое обучение

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

3.1 Персептрон

Рисунок 3-1 Входной вектор вводится в функцию активации после взвешенного суммирования для получения результата

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

3.2 Многослойный персептрон

Рисунок 3-2 Многослойный персептрон, представленный несколькими скрытыми слоями между входом и выходом.

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

3.3 Сверточные нейронные сети

Рисунок 3-3 Общая форма сверточной нейронной сети

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

3.4 Рекуррентные нейронные сети

Рис. 3-4. Рекуррентную нейронную сеть можно рассматривать как нейронную сеть, проходящую во времени.

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

4 личных резюме

Машинное обучение на самом деле изучает отображение от ввода к выводу:

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

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

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

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

【использованная литература】

[1] Ли Ханг, Статистические методы обучения [J], Издательство Университета Цинхуа, Пекин, 2012.

【2】 Кригель Х. П., Крегер П., Зимек А. Методы обнаружения выбросов [J], Учебник в KDD, 2010.

【3】 Лю Ф. Т., Тинг К. М., Чжоу Ч. Х. Изолирующий лес[C] // Интеллектуальный анализ данных, 2008. ICDM'08. Восьмая международная конференция IEEE, посвященная IEEE, 2008: 413-422.

【4】 Олк Л., Арас Р., Ли Л. и др. Преодоление прилива: прогнозирование отсева STEM с использованием данных успеваемости учащихся[J], препринт arXiv arXiv:1708.09344, 2017.

【5】 Ли Хунъи.Учебное пособие по углубленному изучению http://speech.ee.ntu.edu.tw/~tlkagk/slide/Deep%20Learning%20Tutorial%20Complete%20(v3)

[6] Научные исследования, июнь. Различия во внутренней структуре сверточных нейронных сетей, рекуррентных нейронных сетей и глубоких нейронных сетей.