«Машинное обучение является частью компьютерных наук, а также подмножеством искусственного интеллекта».

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

Мы даем данные машине, и машина ищет те параметры в данных, которые заданы в математическом уравнении алгоритма ML.

Почему машинное обучение?

Допустим, без использования машинного обучения мы хотим написать программу-фильтр традиционным способом программирования, например фильтровать «Спам-письма».

Теперь здесь мы должны помнить о некоторых вещах, таких как:

  • Вначале мы увидим, как выглядят спам-письма.
  • Мы можем выбрать слова или предложения, которые используют спамеры, такие как «дебетовая карта», «бесплатно», «предложение», « >эксклюзив», и многое другое.
  • Теперь мы напишем алгоритм для обнаружения наблюдаемых закономерностей.
  • И тогда наша компьютерная программа будет отображать некоторые письма как спам, если в этих письмах будет обнаружено определенное количество шаблонов спама, которые мы указали в нашем алгоритме.

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

У него очень длинный список правил, которые трудно поддерживать. Создание такой программы из традиционного программирования занимает много времени, а ее точность неизвестна.

Например: «Мы дали слово «для вас» в нашем алгоритме и сказали алгоритму, что в любом электронном письме, которое вы увидите или найдете такое слово, оно будет объявлено как спам. Теперь, если спамеры заменят слово «for you» на «4U». Тогда наша программа начнет выдавать ошибки обнаружения спама».

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

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

Где использовать машинное обучение?

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

Очень сложные задачи трудно решить с помощью традиционного программирования.

Там, где есть нестационарная среда, машинное обучение может адаптироваться к новым данным.

История машинного обучения

Первый случай нейронных сетей произошел в 1943 году, когда нейрофизиолог Уоррен МакКаллох и математик Уолтер Питтс написали статью о нейронах, то есть о том, «как работают нейроны».

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

В 1950 году Алан Тьюринг создал всемирно известный тест Тьюринга. Тест довольно прост: «Чтобы компьютер прошел, он должен быть в состоянии убедить человека, что он человек, а не компьютер».

В 1952 году появилась первая компьютерная программа, которая могла обучаться во время ходьбы. Это была игра, в которой играли в шашки (разновидность игры), созданные Артуром Сэмюэлем. И это было рождением машинного обучения, Артур Сэмюэл впервые придумал словосочетание «машинное обучение» в 1952 году.

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

Во многих местах также говорилось, что термин «машинное обучение» был придуман Артуром Сэмюэлем в 1959 году.

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

Необходимые условия машинного обучения

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

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

Математика для машинного обучения

Теперь, как только появляется слово «Математика», некоторые люди очень пугаются и убегают от названия «Математика».

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

Вы должны знать обо всех этих разделах математики:

  • Линейная алгебра
  • Матрица
  • Векторное исчисление
  • Статистика и вероятность
  • Аналитическая геометрия

Что такое обучение и тестирование в области машинного обучения?

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

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

"Зачем разделять данные в обучении и тестировании? Разве мы не можем использовать все данные при создании модели машинного обучения?

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

Каков процент ошибок?

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

Понятие переобучения и недообучения

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

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

Вы можете понять переоснащение и недооснащение таким образом.

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

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

Параметры регуляризации выполняются для предотвращения переобучения и недообучения.

Каким должно быть соотношение между данными обучения и тестирования?

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

Но многие эксперты по машинному обучению и специалисты по данным говорят, что вы должны сохранить соотношение 80/20, то есть использовать 80% данных для обучения и 20% данных для тестирования.

А некоторые специалисты также рекомендуют соотношение 70/30. Таким образом, это зависит от вашего набора данных и вашей постановки задачи, какое соотношение данных вы сохраняете при обучении и тестировании.

Понимание функций и ярлыков

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

Ярлык: метка определяется как конечный результат. Выходные классы можно рассматривать как метки, а метки рассматриваются как зависимые переменные.

Давайте разберемся с этим на примере.

Предположим, у вас есть данные учащегося, в которых учащийся имеет CGPA, учащийсяIQ и учащийся место или нет, эти данные доступны.

Здесь CGPA учащегося и IQ учащегося являются независимыми переменными, т.е. это может быть что угодно.

И, с другой стороны, то, занят ли Студент или нет, зависит от независимых переменных, таких как IQ и CGPA.

Таким образом, здесь мы можем рассматривать IQ и CGPA учащегося как Характеристики, а запись о размещении как Ярлык.

IQ учащегося, CGPA учащегося = = Входные данные, также известные как характеристики

Запись о размещении учащихся == Выходные данные, также известные как метка

Типы машинного обучения

Мы можем классифицировать системы машинного обучения в зависимости от типа и количества человеческого контроля во время обучения. Существует несколько типов систем машинного обучения.

  • контролируемое обучение
  • Неконтролируемое обучение
  • Полуконтролируемое обучение

Контролируемое обучение

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

Как следует из названия «обучение с учителем», существует потребность в надзоре или руководстве.

В Supervised ML используются два типа алгоритмов:

  • Регрессия
  • Классификация

Регрессия

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

Классификация

Классификация используется, когда метка является категоричной, например, Да-Нет, Мужчина-Женщина, Верно-Ложно и т. д.

Алгоритмы контролируемого обучения

  • Линейная регрессия
  • Деревья регрессии
  • Нелинейная регрессия
  • Байесовская линейная регрессия
  • Полиномиальная регрессия
  • Случайный лес
  • Деревья решений
  • Логистическая регрессия
  • Машины опорных векторов
  • XGBoost

Обучение без учителя

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

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

В неконтролируемом ML также используются два типа алгоритмов:

  • Кластеризация
  • Ассоциация

Кластеризация

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

Кластерный анализ находит сходства между объектами данных и классифицирует их в соответствии с наличием и отсутствием этих сходств.

Ассоциация

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

Алгоритмы неконтролируемого обучения

  • Кластеризация K-средних
  • KNN (k-ближайшие соседи)
  • Иерархическая кластеризация
  • Обнаружение аномалий
  • Нейронные сети
  • Анализ главных компонентов
  • Анализ независимых компонентов
  • Априорный алгоритм
  • Разложение по сингулярным значениям
  • ДБСКАН

Полуконтролируемое обучение

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

Обучение с полуучителем находится между обучением без учителя (неразмеченные данные обучения) и обучением с учителем (размеченные данные обучения).

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

Заключительные слова

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