Введение

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

Поэтому добро пожаловать в мир искусственного интеллекта!

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

Типы алгоритмов машинного обучения: -

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

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

2. Неконтролируемое обучение

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

3. Обучение с подкреплением:

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

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

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

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

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

3. Дерево решений

4. СВМ

5. Наивный Байес

6. снн

7. К-средние

8. Случайный лес

9. Алгоритмы уменьшения размерности

10. Алгоритмы повышения градиента

Давайте изучим каждый из них

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

Он используется для оценки реальных значений (стоимость домов, количество звонков, общий объем продаж и т. д.) на основе непрерывных переменных. Здесь мы устанавливаем связь между независимыми и зависимыми переменными, подбирая наилучшую линию. Эта линия наилучшего соответствия известна как линия регрессии и представлена ​​линейным уравнением Y = a * X + b.

Лучший способ понять линейную регрессию — пережить этот опыт детства. Скажем, вы просите пятиклассника расположить людей в своем классе в порядке возрастания веса, не спрашивая их веса! Как вы думаете, что будет делать ребенок? Скорее всего, он/она будет смотреть (визуально анализировать) на рост и комплекцию людей и расставлять их по совокупности этих видимых параметров. Это линейная регрессия в реальной жизни! Ребенок на самом деле понял, что рост и телосложение будут коррелировать с весом соотношением, которое выглядит как приведенное выше уравнение.

В этом уравнении:

  • Y — зависимая переменная
  • а — наклон
  • X — Независимая переменная
  • б — перехват

Эти коэффициенты a и b получены на основе минимизации суммы квадратов разности расстояний между точками данных и линией регрессии.

Посмотрите на приведенный ниже пример. Здесь мы определили наиболее подходящую линию, имеющую линейное уравнение y=0,2811x+13,9. Теперь с помощью этого уравнения мы можем найти вес, зная рост человека.

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

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

Не запутайтесь в его названии! Это классификация, а не алгоритм регрессии. Он используется для оценки дискретных значений (двоичных значений, таких как 0/1, да/нет, истина/ложь) на основе заданного набора независимых переменных. Следовательно, он также известен как логит-регрессия. Поскольку он предсказывает вероятность, его выходные значения лежат между 0 и 1 (как и ожидалось).

Опять же, давайте попробуем понять это на простом примере.

Допустим, ваш друг дает вам решить головоломку. Есть только 2 варианта исхода — либо ты его решишь, либо нет. Теперь представьте, что вам задают множество головоломок/викторин, пытаясь понять, в каких предметах вы хороши. Результат этого исследования будет примерно таким: если вам дадут задачу десятого класса, основанную на тригнометрии, вы с вероятностью 70% решите ее. С другой стороны, если это вопрос по истории пятого класса, вероятность получить ответ составляет всего 30%. Это то, что дает вам логистическая регрессия.

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

3. Дерево решений

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

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

4. SVM (Машина опорных векторов)

Это метод классификации. В этом алгоритме мы отображаем каждый элемент данных как точку в n-мерном пространстве (где n — количество имеющихся у вас объектов), при этом значение каждого объекта является значением конкретной координаты.

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

5. Наивный Байес

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

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

Теорема Байеса обеспечивает способ вычисления апостериорной вероятности P(c|x) из P(c), P(x) и P(x|c). Посмотрите на уравнение ниже:

Здесь,

  • P(c|x) — апостериорная вероятность класса (цель) с учетом предиктора (атрибут).
  • P(c) — априорная вероятность класса.
  • P(x|c) — это вероятность, которая является вероятностью предиктора данного класса.
  • P(x) — априорная вероятность предиктора.

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

Шаг 1: Преобразуйте набор данных в таблицу частот

Шаг 2: Создайте таблицу вероятностей, найдя такие вероятности, как вероятность пасмурной погоды = 0,29 и вероятность игры 0,64.

Шаг 3: Теперь используйте наивное байесовское уравнение для расчета апостериорной вероятности для каждого класса. Класс с наибольшей апостериорной вероятностью является результатом предсказания.

Проблема: Игроки будут платить, если будет солнечная погода. Верно ли это утверждение?

Мы можем решить это, используя описанный выше метод, поэтому P (Да | Солнечно) = P ( Солнечно | Да) * P (Да) / P (Солнечно)

Здесь мы имеем P (Солнечно | Да) = 3/9 = 0,33, P (Солнечно) = 5/14 = 0,36, P (Да) = 9/14 = 0,64.

Теперь P (Да | Солнечно) = 0,33 * 0,64 / 0,36 = 0,60, что имеет более высокую вероятность. он использует аналогичный метод для прогнозирования вероятности другого класса на основе различных атрибутов. Этот алгоритм в основном используется для классификации текстов и задач, имеющих несколько классов.

6. kNN (k- Ближайшие соседи)

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

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

Что следует учитывать перед выбором kNN:

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

7. К-средние

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

Помните, как вычисляли формы из чернильных пятен? k означает что-то похожее на это действие. Вы смотрите на форму и расплываетесь, чтобы расшифровать, сколько разных кластеров/популяций присутствует!

Как K-means формирует кластер:

1. K-средних выбирает k точек для каждого кластера, известного как центроиды.

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

3. Находит центр тяжести каждого кластера на основе существующих элементов кластера. Здесь у нас есть новые центроиды.

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

Как определить значение К:

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

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

8. Случайный лес

Случайный лес — это торговая марка ансамбля деревьев решений. В Random Forest у нас есть набор деревьев решений (так называемый «Лес»). Чтобы классифицировать новый объект на основе атрибутов, каждое дерево дает классификацию, и мы говорим, что дерево «голосует» за этот класс. Лес выбирает классификацию, набравшую наибольшее количество голосов (из всех деревьев в лесу).

Каждое дерево сажают и выращивают следующим образом:

1. Если количество случаев в обучающей выборке равно N, то выборка из N случаев берется случайным образом, но с замещением. Этот образец будет обучающим набором для выращивания дерева.

2. Если имеется M входных переменных, задается число m‹‹M таким образом, что в каждом узле из M случайным образом выбираются m переменных, и наилучшее разбиение на этих m используется для разбиения узла. Величина m поддерживается постоянной во время выращивания леса.

3. Каждое дерево выращено в максимально возможной степени. Обрезки нет.

Остальное я рассмотрю в своем следующем блоге.

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

Спасибо

Наслаждайся чтением