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

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

Сначала поговорим о типах машинного обучения.

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

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

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

Наиболее распространенные алгоритмы, используемые в машинном обучении

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

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

Это один из самых простых типов алгоритмов машинного обучения, которые вы можете выбрать. Если у вас есть признаки x1,…xn объектов на матрице A и метки на векторе b. Теперь ваша цель — найти наиболее оптимальные веса w1,…wn и смещения для этих признаков в соответствии с некоторыми функциями отказов.

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

Алгоритм логистической регрессии

Как видно из названия, вам не нужно путать этот тип алгоритма с методами регрессии, поскольку логистическая регрессия выполняет двоичную классификацию, в результате чего выходные данные меток являются двоичными. Итак, давайте укажем P(y=1|x) как условную вероятность того, что выход y равен 1 при условии, что задан вектор входных признаков x.

Здесь коэффициенты « — это веса, которые модель хочет узнать. Поскольку этот алгоритм вычисляет вероятность принадлежности к каждому классу, вам необходимо учитывать, насколько вероятность отличается от 0 или 1, и усреднять ее по всем объектам, как мы это делали с линейной регрессией.

Алгоритм деревьев решений

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

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

Мы делаем эту процедуру рекурсивно для каждого узла и завершаем, когда мы удовлетворяем критерию остановки. Они могут варьироваться от минимального количества листьев в узле до высоты дерева. Хотя одиночные деревья используются очень редко, но в сочетании с другими, более эффективные алгоритмы, такие как Random Forest и Gradient Tree Boosting, также доступны для машинного обучения.

Нейронные сети

Нейронная сеть — это форма искусственного интеллекта. Основная идея нейронной сети состоит в том, чтобы смоделировать множество тесно связанных между собой клеток мозга внутри компьютера, чтобы он мог учиться чему-то, распознавать закономерности и принимать решения так, как это делает человек. Удивительная особенность нейронной сети заключается в том, что ее не нужно программировать для явного обучения: она учится сама, как мозг!
С одной стороны нейронной сети находятся входные данные. Это может быть изображение, данные с дрона или состояние доски для го. С другой стороны, есть результаты того, что хочет сделать нейронная сеть. Между ними есть узлы и связи между ними. Прочность соединений определяет, какой результат требуется на основе входных данных.

Машины опорных векторов

SVM использует гиперплоскости (прямые вещи), чтобы разделить две точки с разными метками (X и O). Иногда точки не могут быть разделены прямыми элементами, поэтому необходимо отобразить их в пространство более высокого измерения (используя ядра!), где они могут быть разделены прямыми элементами (гиперплоскостями!). Это выглядит как изогнутая линия в исходном пространстве, хотя на самом деле это прямая линия в пространстве гораздо большего размера!

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

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

Спасибо!