时空结合贝叶斯先验

分类问题一直是机器学习与人工智能领域的基础的研究方向之一。具体到生物识别领域时,如果两个物种的外观差异比较大,仅基于某些特征数据或是图像识别就能得到比较好的结果。但是如果两种生物的外观比较相似,仅仅基于图像的信息来进行判断,可能很难得到较好的结果。本文将分别介绍朴素贝叶斯分类方法和一种使用图像的拍摄位置以及时间等信息作为贝叶斯先验的图像分类方法。

1. 朴素贝叶斯

分类问题一直是计算机领域的一个热门话题。其中贝叶斯分类是一个基于贝叶斯公式的统计学分类方法。但是当数据维度过大的时候,贝叶斯模型结构会变得非常复杂。所以在贝叶斯分类基础之上,提出了能够更快建立起贝叶斯模型的朴素贝叶斯分类算法。

1.1 贝叶斯定理

B_1 , B_2 , · · · , B n_是样本空间Ω的一个划分,且 _P(B i) >_0 , i_= 1 ,_2 , · · · , n_,则对任意一个事件 A, P(A) _>_0 ,有:

时空结合贝叶斯先验

这个公式是贝叶斯公式的离散化形式,其中 P(B i) ,i= 1 ,_2 , · · · , n_为 B i_的先验概率, _P(B i| A)为 B i_的后验概率, _P(A| B i)为似然函数。

1.2 贝叶斯分类

在贝叶斯定理的理论基础上,很容易就能构建出贝叶斯分类算法。我们可以计算出被测样本属于每个类的条件概率,比较概率大小,来得到它属于每个类的可能性,将其判定为概率最大的那一类。

假设存在一个训练样本集 D,其样本个数为 N,共有 m_类,分别用 _C= { C_1 , C_2 , · · · , C m }_表示各个类,各类样本数分别为 _N c j, j= 1 ,_2 , · · · , m_,每个样本都是 n_维的特征向量,有 _n_类属性 _A_1 , A_2 , · · · , A n,因此第 r_个样本可表示为 _X r= (X r_1 , X_ r_2 , · · · , X_ rn) T , r=1,2,… N,其中 X ri, i= 1 ,_2 , · · · , n_表示为第 r_个样本属性 _A i_的取值,现给定一个待判样本 _y= (y_1 , y_2 , · · · , y n) T,可计算出 y_属于第 _C _j_类的概率为:

时空结合贝叶斯先验

其中 P(C j)为第 C j_类的先验概率, _P(y| C j)为 C j_类下 _y= (y_1 , y_2 , · · · , y n) T_的条件概率, _P(y)为 y= (y_1 , y_2 , · · · , y n) _T_的边缘概率。

将由上式计算出的各后验概率进行排序,然后把后验概率最大对应的那类找到,即可得到分类预测结果,由于分母的概率大小不是 C _j_的函数,而我们只是想比较大小,所以我们一般只计算核,即分子部分。

虽然这个分类理论比较简单,但是可以看到,在数据维度较大时,计算会比较复杂。独立性的引入将会带来更简单的计算过程。假设类的属性之间是相互独立的,就有了应用更加广泛的朴素贝叶斯分类器。

1.3 朴素贝叶斯

假设数据集类别 C_一定,其属性 _A_1 , A_2 , · · · , A n_相互独立,样本 _y= (y_1 , y_2 , · · · , y n) T_属于第 _C _j_类的概率为:

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

对𝑃(𝑡=𝐶1 )进行求解得:

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

于是第𝐶𝑗类的先验概率𝑃(𝐶𝑗)为: P C j = N C j N ,j=1,2,, m

时空结合贝叶斯先验

同理,条件概率𝑃(𝑦𝑖|𝐶𝑗)也可通过极大似然估计被推导出:

当属性𝐴𝑖是离散型时:

时空结合贝叶斯先验

其中𝑁𝐶𝑗,𝑦𝑖是第𝐶𝑗类下属性𝐴𝑖的取值为𝑦𝑖的样本的个数。

根据上述先验概率和条件概率的公式则可计算得到待判样本𝑦属于各类的概率,将其记为𝑃𝑗=𝑃(𝐶𝑗|𝑦),𝑗=1,2,…,𝑚,若𝑃𝑘=max{𝑃1 ,𝑃2 ,…,𝑃𝑚},那么将样本𝑦判别为第𝐶𝑘类。

1.4 朴素贝叶斯应用

时空结合贝叶斯先验
时空结合贝叶斯先验

虽然朴素贝叶斯方法在部分小规模数据集分类中有较好的效果,但是在有些实际应用中分类效果却不尽如人意,因为朴素贝叶斯分类的前提是,必须假设属性独立,即属性之间没有关系,当该假设不成立时,就会影响贝叶斯分类效果。现在很多的图像分类研究都是基于深度学习的,深度学习能在大规模数据中提取到更好的特征。所以如果能把贝叶斯先验应用到深度学习分类中,是否能有更好的分类效果呢?

2. 结合贝叶斯时空信息先验的图像分类方法

目前很多分类方法在特征差异大的数据集上有比较好的分类效果。但是在实际应用中,有很多图像是非常相似的,但是它们却分属不同类别。比如生物识别的过程中,有些昆虫长相非常相似,但是它们不同种。在这种差异比较小的分类问题上,仅仅利用视觉信息可能很难实现精度较高的分类,这时就可以利用贝叶斯结合一些额外信息来进行判断。

很多时候,图像摄制的时候携带的不仅是图片显示的视觉信息,同时它也会携带图片被摄制时的时间地点等信息。可以利用这样的信息,对图片分类进行先验的预测,然后对判别结果进行修正。

这个方法在生物识别领域会有更好的效果,因为各种生物的分布一般会比较具有地域性。两种生物虽然在外观上比较相似,但是其分布地域可能会比较不同,这样利用地理位置来确定的先验应当会取得更好的效果。并且利用先验建模,与单纯的深度学习方法相比,它可以不要求每一张图片都携带位置时间等信息,并且可以单独更新分布模型,更加方便快捷。

基本思路为:利用图片拍摄的地理位置和时间等,预先训练出每个位置和时间会出现的各个生物的种类的概率大小,得到先验的位置时间与物种种类的信息对应;图像进行识别分类时,依旧使用固有的图像识别分类器,例如深度神经网络等;将先验信息与图像识别结合,修正各个类判别结果的概率大小,再判断其究竟属于哪一种。

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

时空结合贝叶斯先验

但是我自己在实际实现过程中发现效果并没有预期的好,可能存在以下几个问题:位置坐标需要进行编码,因为生物出现是以一个区域作为范围的,单纯应用坐标而不进行编码可能反而会引起误判;二是拍摄时间的问题,间隔较近的拍摄时间应当在表示时,拥有更相近的值;三是怎样界定生物出现概率,如果训练图片中没有在某一位置出现某种生物,那么这种生物就真的不存在于这个区域吗?这些问题我暂时没有想出很好的解决办法,故查阅了文献。

3. 参考与优化

参考了计算机视觉方向顶会之一ICCV中的一篇文章:Presence-Only Geographical Priors for Fine-Grained Image Classification 。文章提到,目前对于生物分布模型的研究有两类,一类是预先确定在某一位置,目标生物类别是否存在或是不存在,这是一种很强的假设,需要在收集时很全面地调查,来证明某种生物确实不存在;二是这篇文章采用的,只要观测到目标种类,就记录下来,只证明存在,不证明不存在。这种方式难以建模,一般采用生成伪负,随机抽样假设某位置不存在目标生物,或是强行训练出最大熵模型,迫使模型来解释观测到的数据或是不确定数据;而这篇文章再次引入额外信息,引入了一个摄影师信息,来对未观测到的物种进行判定是否存在于某位置。

时空结合贝叶斯先验

时空结合贝叶斯先验

论文方法实现的正确率有了很好的提升,在iNaturalist 2018数据集上,使用贝叶斯方法后,正确率都有所提升。

时空结合贝叶斯先验

Original: https://blog.csdn.net/Cotria/article/details/123576090
Author: Cotria
Title: 时空结合贝叶斯先验

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/666268/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球