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

Но как на самом деле работает искусственный интеллект? Давайте рассмотрим пример и используем его для дальнейшего понимания ИИ.

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

Шаг 1: Сбор данных

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

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

Наш набор данных может выглядеть так:

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

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

Шаг 2: Подготовка данных

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

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

Поэтому на этом этапе мы рандомизируем данные, что устраняет любую предвзятость, вызванную определенным порядком, в котором мы собирали наши данные. Мы также можем визуализировать с помощью графика, чтобы помочь обнаружить любые нежелательные отношения, которые может использовать модель ИИ (предвзятость), и исправить наш набор данных. Например, нежелательная корреляция для нашей модели может заключаться в том, что большую часть времени она предсказывает «пчелу», потому что в обучающих данных было больше изображений пчел, чем ос. Чтобы решить эту проблему, мы можем иметь равное количество наблюдений за пчелами и осами в нашем наборе данных.

Наконец, мы разделили набор данных на 2 части, одну для обучения модели (набор данных для обучения), а другую для оценки и тестирования модели (набор данных для тестирования). Обычно 80 % собранных данных используются в качестве данных для обучения, а 20 % — в качестве данных для тестирования. Как мы разделяем данные, зависит от того, сколько данных доступно. В некоторых случаях вы также можете масштабировать данные, которые сжимают наборы данных с большими масштабами в более мелкие, чтобы с ними было легче работать.

Шаг 3: выберите алгоритм

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

Как вы выбираете алгоритм?

Алгоритмы можно разделить на три группы: (1) классификация (2) регрессия (3) и кластеризация в зависимости от задачи машинного обучения.

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

Алгоритмы классификации предсказывают дискретные переменные (категориальные). Они являются частью контролируемого обучения и тренируются, классифицируя данные по разным классам, чтобы затем предсказать, к какому классу будет соответствовать новый фрагмент данных. Алгоритмы классификации, например, можно использовать, чтобы определить, стоит ли нам играть в теннис, должен ли я одобрить свой кредит, является ли электронное письмо спамом или нет. Вот некоторые популярные алгоритмы классификации (1) Дерево решений (2) Наивный байесовский метод (3) Случайный лес (4) Опорный вектор Машины(5) и, наконец… K-ближайшие соседи

Регрессионные алгоритмы также относятся к контролируемому обучению. Они предсказывают реальные цифры. Регрессия также лучше всего подходит для анализа и прогнозирования непрерывных данных (например, погоды). Кроме того, регрессия является наиболее распространенным типом алгоритмов в мире. Вот некоторые популярные алгоритмы регрессии (1) линейная регрессия (2) логистическая регрессия (3) регрессия Лассо (4) многомерная регрессия (5) И наконец… Множественная регрессия

Алгоритмы кластеризации НЕ относятся к контролируемому обучению. Они подходят для неконтролируемого обучения, что означает, что алгоритмы создают соединения с данными (без помеченных данных) в одиночку! Кластеризация — это процесс организации точек данных в группы на основе сходств и различий. Кластеризация не требует обучения, потому что у вас нет меток для обучения (неконтролируемые алгоритмы не имеют меток). Вот некоторые популярные алгоритмы кластеризации (1) K-средние, K-моды, k-прототипы (2) DBScan (3) Максимизация ожидания

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

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

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

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

Шаг 4: Обучение

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

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

ИИ и я учимся кататься на велосипеде на основе опыта. В обоих сценариях субъект постоянно улучшается благодаря положительным и отрицательным последствиям.

Но как модель ИИ запоминает каждый опыт и становится умнее, чтобы не ошибиться в следующий раз? Разве ему не понадобилось бы огромное количество «условий if», чтобы заставить его работать? ← 😉 для всех, кто знает основы программирования

Давайте посмотрим, как работает обучение с использованием ИИ при использовании нейронных сетей

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

Этот черный ящик состоит из нескольких слоев, каждый из которых состоит из множества единиц, которые мы называем нейронами. Нейроны — это самый простой из терминов — это узлы со значением от 0 до 1. Простая нейронная сеть состоит из 3 частей.

  1. Входной уровень. Это первый уровень в сети. Это то, что обеспечивает ввод или характеристики (размеры цветка)
  2. Выходной слой: это последний слой, где хранятся выходные данные или прогноз (прогноз цветка).
  3. Скрытые слои: это слои между входным и выходным слоями. Здесь выполняются все расчеты и настраиваются все параметры.

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

Каждый нейрон принимает значение нейрона, выполняющего какую-то функцию, и передает свой вывод следующему слою. Значения, перемещающиеся от начала сети к концу, называются прямым распространением. Как только значения достигают конца нейронной сети, делается прогноз, и модели присваивается 👍 или 👎.

Функция в каждом нейроне выглядит следующим образом:
1. Значение предыдущего нейрона умножается на его вес (значение соединения).

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

3. Значение смещения нейрона добавляется к сумме для создания взвешенной суммы.

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

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

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

Каждая итерация или цикл обновления весов и смещений называется одним шагом обучения. Просто… не правда ли?

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

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

Шаг 5: Оценка

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

Шаг 6: Настройка гиперпараметров

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

Шаг 7: Прогноз

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

Разговор с нашей моделью

Я:Эй, [наша модель], это изображение для пчел или не для пчел?

Модель:Пчела 💪😏

Конечная нота

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

Мы предоставляем возможность следующему поколению студентов-мыслителей, изобретателей и учащихся публиковать свои мысли, идеи и инновации в письменной форме.
Наши авторы охватывают все области тем — от Рост до технологий, вплоть до будущего и мира.
Так что, если вы чувствуете, что вот-вот прыгнете в кролика дыра в чтении этих невероятных статей, не волнуйтесь, мы чувствуем то же самое. ;)
Вот почему студенты x студенты — это место, где ваш голос будет услышан!
Звучит интересно? Почему бы не присоединиться к нам в этом эпическом путешествии?