Мы неоднократно говорили, что модели машинного обучения рождаются из статистических знаний, и алгоритм классификации Наивного Байеса должен быть алгоритмом с самым сильным статистическим привкусом.
Основная идея формулы Байеса
Наивный Байес относится к применению «байесовской формулы» при «наивных» предположениях.
Основная идея предсказания по байесовской формуле состоит в том, что 5 подпунктов «больше похожи».
С байесовской точки зрения мир не статичен и абсолютен, а динамичен и относительен, надеясь использовать известный опыт для вынесения суждений. Используя "опыт" для "суждения", как приходит опыт? Как судить с опытом? Предложение на самом деле содержит два раунда процессов:
- Первый раунд оценки: это известная категория и статистический признак, то есть вероятность признака в этой категории, и это процесс разложения категорий на вероятности признаков.
- Второй этап реставрации: Это процесс вывода категории на основе известных признаков.Здесь используются результаты первого раунда, который представляет собой процесс восстановления признаков, которые знают статистическую ситуацию, до определенной категории.
Пример использования байесовского предсказания
Как априорные и апостериорные значения используются для предсказания Здесь я хочу показать «методику» угадывания одноклассниц, глядя на их прически, которым я научился в средней школе. Предположим, что в моем классе 10 учениц, и одна из них Анджели. В средней школе все девочки примерно одного роста и носят одинаковую школьную форму. Вероятность угадать, кто Анджели, просто взглянув на спину, равна 10%.Априорная вероятность, сначала записывается как
Секрет в формуле Байеса. Возможно, вы заметили, что вероятность того, что она Анджели среди студенток с хвостиками, также является условной вероятностью, записываемой как
Подставив вышеприведенные данные, можно рассчитать:
Ранее мы говорили, что суждение о выборе с априорной и апостериорной оценкой делится на две стадии, и теперь это легко объяснить с помощью вероятности. Априорная вероятность уже известна, и что нам нужно узнать из опыта или эксперимента, так это эту вероятность Зная вероятность плюс априорную, мы можем узнать апостериорную вероятность.
Принцип алгоритма наивной байесовской классификации
Для задач классификации записи данных каждой выборки, вероятно, имеют следующую форму:
На самом деле мы пытаемся решить категорию
Эта формула означает, что при условии одновременного появления признаков X1, признаков X2, признаков X3 и т. д. вероятность возникновения категории C1 высока. Мы уже знаем, что апостериорную вероятность можно получить по правдоподобию. Вероятность признака выражается как:
Математический анализ
Сначала просмотрите формулу Байеса:
Формула включает две формы,
Наивный Байес делает «наивное» предположение, то есть признаки независимы и не влияют друг на друга. Таким образом, вероятность признака может быть уменьшена до:
Видно, что при «наивном» предположении получить вероятность признака гораздо проще. Конечно, нахождение апостериорной вероятности также становится простым:
Обратите внимание на использование здесь обозначения «пропорционально». Алгоритм наивного Байеса использует апостериорную вероятность для прогнозирования.Основной метод состоит в том, чтобы предсказать апостериорную вероятность через вероятность, а процесс обучения - это процесс постоянного улучшения вероятности.Поскольку апостериорная вероятность уже пропорциональна правдоподобию, то при увеличении правдоподобия естественно достигается цель увеличения апостериорной вероятности.. Это также упрощенный пример для большего удобства и практичности.
Наивный байесовский метод оптимизации
Математическая подоплека наивного байесовского алгоритма настолько обширна, что вы можете задаться вопросом: почему вы не видите функцию гипотезы «старого знакомого» и функцию потерь?Это связано с процессом обучения наивного байесовского алгоритма. Наивный Байес — это не столько изучение чего-то, сколько нахождение статистики,Сравнивая отношения правдоподобия между различными функциями и классами, класс с наибольшей вероятностью, наконец, используется в качестве результата прогнозирования.,который:
Мы знаем, что y здесь представляет класс и вероятность каждого класса и признака, то есть
Можно видеть, что алгоритм наивного Байеса на самом деле представляет собой процесс поиска в таблице, а не итеративную аппроксимацию в прошлом, поэтому функция предположения и функция потерь, которые управляют процессом итеративной аппроксимации, больше не нужны.
Конкретные шаги алгоритма наивной байесовской классификации
Алгоритм классификации наивного Байеса представляет собой контролируемый алгоритм классификации, Входными данными также являются вектор выборочных собственных значений и соответствующая метка класса, а выходными данными является модель с функцией классификации, которая может предсказать результат классификации в соответствии с входными собственными значениями.
Согласно алгоритму наивной байесовской классификации требуется три шага:
- Данные статистической выборки. Требуется статистическая априорная вероятность
и вероятность - В соответствии с признаками, содержащимися в выборках, подлежащих прогнозированию, расчет апостериорной вероятности выполняется для разных классов соответственно. Например, общие функции равны A, B и C, но тестируемый образец содержит только A и C, тогда
Апостериорная вероятность рассчитывается как . - сравнивать
Апостериорная вероятность , в зависимости от того, что имеет наибольшее значение вероятности, выводится как прогнозируемое значение.
В библиотеке Scikit-Learn все связанные библиотеки классов модели алгоритма на основе байесовской категории находятся в пакете sklearn.naive_bayes. В соответствии с различными методами расчета вероятности Наивный Байес также делится на несколько конкретных ветвей алгоритма.
Алгоритм наивной байесовской классификации, представленный в этой главе, можно использовать, вызвав класс MultinomialNB следующим образом:
from sklearn.datasets import load_iris
# 从 Scikit-Learn-库导入朴素贝叶斯模型中的多项式朴素贝叶斯分类算法
from sklearn.naive_bayes import MultinomialNBultinomialNB
# 载入鸢尾花数据集
X, y = load_iris(return_X_y=True)
# 训练模型
clf= MultinomialNB().fit(X, y)
# 使用模型进行分类预测
clf.predict(X)
Результат выглядит следующим образом: