【机器学习】线性分类——朴素贝叶斯分类器NBC(理论+图解+公式推导)

简介: 【机器学习】线性分类——朴素贝叶斯分类器NBC(理论+图解+公式推导)

2021人工智能领域新星创作者,带你从入门到精通,该博客每天更新,逐渐完善机器学习各个知识体系的文章,帮助大家更高效学习。


概述

本篇文章重点要讲解的是朴素贝叶斯分类器

该算法同高斯判别分析一样,是一种概率生成模型,都是基于 P ( Y ∣ X ) P(Y|X)P(YX) 做分析,但是与高斯判别分析不同的是,朴素贝叶斯多做了一个假设,就是数据的不同维度之间独立,每个维度之间没有任何关系。

这样做假设的目的没有别的就是方便计算,但是我们现实中的数据的特征往往不是独立,都是存在一定关联性的,所以朴素贝叶斯算法存在一定的局限性。

算法流程

本算法的目的和高斯线性判别一样,都是要概率 P ( Y ∣ X ) P(Y|X)P(YX) 最大,利用条件概率可以将其写为:

P ( y ∣ x ) = p ( y ) p ( x ∣ y ) p ( x ) P(y|x)=\frac{p(y)p(x|y)}{p(x)}P(yx)=p(x)p(y)p(xy)

在高斯线性判别中我们分别对y和x建模,假设服从一定的分布:

其中y服从的是伯努利分布:

y ∼ B e r n o u l l i ( ϕ ) y \sim Bernoulli(\phi)yBernoulli(ϕ)

数据X服从高斯分布:

x ∼ N ( μ , Σ ) x\sim N(\mu,\Sigma)xN(μ,Σ)

这里我们的X为高维数据,所以服从的方差应该用协方差矩阵来进行表示。

1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 e x p ( − 1 2 ( x − μ ) T Σ − 1 ( x − y ) ) \frac{1}{(2\pi)^{\frac{p}{2}}|\Sigma|^{\frac{1}{2}}}exp(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-y))(2π)2pΣ211exp(21(xμ)TΣ1(xy))

如果就x的一个维度来说,该特征的概率密度公式为:

p ( x i ) = 1 2 π σ e x p ( − ( x i − x ‾ i ) 2 2 σ 2 ) p(x_i)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x_i-\overline x_i)^2}{2\sigma^2})p(xi)=2πσ1exp(2σ2(xixi)2)

这样就是我们熟悉的一维随机变量的概率密度公式,因为各个维度相互独立,所以目标函数可以进一步表示为:

P ( y ∣ x ) = p ( y ) p ( x ∣ y ) p ( x ) = p ( y ) ∏ i = 1 n p ( x i ∣ y ) p ( x ) P(y|x)=\frac{p(y)p(x|y)}{p(x)}\\=\frac{p(y)\prod_{i=1}^np(x_i|y)}{p(x)}P(yx)=p(x)p(y)p(xy)=p(x)p(y)i=1np(xiy)

然后我们再把各个维度服从的高斯密度函数带入计算即可,由于这个和高斯判别分析差不多,接下来的计算就不写了。

求解的参数就为各个维度服从正态分布的均值 μ \muμ 和方差 σ \sigmaσ


目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集
机器学习入门——使用Scikit-Learn构建分类器
机器学习入门——使用Scikit-Learn构建分类器
|
3月前
|
机器学习/深度学习 程序员
【机器学习】朴素贝叶斯原理------迅速了解常见概率的计算
【机器学习】朴素贝叶斯原理------迅速了解常见概率的计算
|
4月前
|
机器学习/深度学习 数据采集 人工智能
使用Python实现简单的机器学习分类器
【8月更文挑战第37天】本文将引导读者了解如何利用Python编程语言构建一个简单的机器学习分类器。我们将从基础概念出发,通过代码示例逐步深入,探索数据预处理、模型选择、训练和评估过程。文章旨在为初学者提供一条清晰的学习路径,帮助他们理解并实现基本的机器学习任务。
|
5月前
|
机器学习/深度学习 人工智能 开发者
使用Python实现简单的机器学习分类器
【8月更文挑战第31天】在这篇文章中,我们将探索如何使用Python来创建一个简单的机器学习分类器。通过使用scikit-learn库,我们可以快速构建和训练模型,而无需深入了解复杂的数学原理。我们将从数据准备开始,逐步介绍如何选择合适的模型、训练模型以及评估模型的性能。最后,我们将展示如何将训练好的模型应用于新数据的预测。无论你是机器学习的初学者还是有一定经验的开发者,这篇文章都将为你提供一个实用的指南,帮助你入门并理解基本的机器学习概念。
|
5月前
|
机器学习/深度学习 人工智能 算法
如何使用Scikit-learn在Python中构建一个机器学习分类器
如何使用Scikit-learn在Python中构建一个机器学习分类器
57 3
|
5月前
|
机器学习/深度学习 算法
【机器学习】简单解释贝叶斯公式和朴素贝叶斯分类?(面试回答)
简要解释了贝叶斯公式及其在朴素贝叶斯分类算法中的应用,包括算法的基本原理和步骤。
88 1
|
7月前
|
机器学习/深度学习 算法 大数据
【机器学习】朴素贝叶斯算法及其应用探索
在机器学习的广阔领域中,朴素贝叶斯分类器以其实现简单、计算高效和解释性强等特点,成为了一颗璀璨的明星。尽管名字中带有“朴素”二字,它在文本分类、垃圾邮件过滤、情感分析等多个领域展现出了不凡的效果。本文将深入浅出地介绍朴素贝叶斯的基本原理、数学推导、优缺点以及实际应用案例,旨在为读者构建一个全面而深刻的理解框架。
231 1
|
8月前
|
机器学习/深度学习 算法
【机器学习】比较朴素贝叶斯算法与逻辑回归算法
【5月更文挑战第10天】【机器学习】比较朴素贝叶斯算法与逻辑回归算法
|
8月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习】朴素贝叶斯分类器的优点是什么?
【5月更文挑战第10天】【机器学习】朴素贝叶斯分类器的优点是什么?
|
7月前
|
机器学习/深度学习 人工智能 算法
【机器学习】概率模型在机器学习中的应用:以朴素贝叶斯分类去为例
【机器学习】概率模型在机器学习中的应用:以朴素贝叶斯分类去为例
123 0
下一篇
开通oss服务