贝叶斯学习
贝叶斯公式
贝叶斯学习器事实上是从经典的贝叶斯概率公式的来的,对于经典的贝叶斯公式:
朴素贝叶斯分类
我们都知道贝叶斯是一个经典的求取概率的公式。那么贝叶斯又是怎么和分类相联系起来的呢?
实际上。在分类的过程中,我们要推断某样本x是否属于某类别A时。能够将这件事看成是个概率问题,即推断x属于A的可能性有多大。如果类别有n种,则仅仅需求取x分别属于每一个样本的概率有多大,概率值最大的。就可以觉得是x的所属类别。
朴素贝叶斯分类的正式定义例如以下:
1. 设x={ a1,a2,...,am}为一个带分类项,当中每一个a的为x的一个特征属性. 2. 有类别集合计算P(y1|x)。P(y2|x),…,P(yn|x)。
如果P(yk|x)=max{ (y1|x),P(y2|x),...,P(yn|x)}
则x∈yk
如今从定义能够看出每步并不难理解。关键时第三步中的每一个概率值怎么求取。对于单个变量,求取其概率值比較好求,可是这里的x时一个含有m个属性的变量。这样的情况下。该怎么求取其属于某类别yn的概率是多少呢?
以下给出求解推导:
已知我们要求取P(yi|x)的概率值,依据贝叶斯公式能够将其转换为例如以下形式:对于P(x|yi)。由于x含有m个属性变量。因此能够将其写成P({ a1,a2,...,am}|yi)。
对于大多数情况。x的各个属性之间都是相互独立,所以有:
朴素贝叶斯分类应用实例(目标跟踪)
对于目标跟踪,眼下用的比較多的方法都是在待跟踪目标区域周围获取候选窗体。然后推断这些候选窗体是否是目标。
在推断的过程中,往往採都是计算候选窗体属于时目标的概率值,值越大,则其时目标的可能性就越大。
这样的思想和朴素贝叶斯分类的思想很类似。
以下以压缩感知跟踪为例。
在感知压缩跟踪。作者将贝叶斯当成了一个在线学习的分类器,此分类器在分为分类和更新參数两个部分。
在分类阶段(第t帧)
首先在目标框(t-1帧确定的位置)周围一定范围内选取m个候选框。
对候选框提取特征。得到特征向量v⃗ =(v1,v2,...,vn)每一个向量都含有n个属性值。现要求v⃗ 是后选框的概率值。依据朴素贝叶斯可知:
因此将求取P(y=1|v⃗ )转化为求取P(y=1|v⃗ )P(y=0|v⃗ )。
则可得:
在參数更新阶段(第t帧)
在分类阶段时,已经确定了第t帧中目标所在的位置,接下来来便更新学习机的參数。
,会在目标框周围一定范围α内获取m个候选框(α代表到目标框中心位置的距离),将其定为正样本。然后在范围(α,β)内获取n个负样本框(m≈n)。
得到正负样本后,便開始跟新分类器的參数,更新方式例如以下:
实践代码
这是分类代码
void CompressiveTracker::radioClassifier(vector& _muPos, vector & _sigmaPos, vector & _muNeg, vector & _sigmaNeg, Mat& _sampleFeatureValue, float& _radioMax, int& _radioMaxIndex){ float sumRadio; _radioMax = -FLT_MAX; _radioMaxIndex = 0; float pPos; float pNeg; int sampleBoxNum = _sampleFeatureValue.cols; for (int j=0; j (i,j)-_muPos[i])*(_sampleFeatureValue.at (i,j)-_muPos[i]) / -(2.0f*_sigmaPos[i]*_sigmaPos[i]+1e-30) ) / (_sigmaPos[i]+1e-30); pNeg = exp( (_sampleFeatureValue.at (i,j)-_muNeg[i])*(_sampleFeatureValue.at (i,j)-_muNeg[i]) / -(2.0f*_sigmaNeg[i]*_sigmaNeg[i]+1e-30) ) / (_sigmaNeg[i]+1e-30); sumRadio += log(pPos+1e-30) - log(pNeg+1e-30); // equation 4 } if (_radioMax < sumRadio) { _radioMax = sumRadio; _radioMaxIndex = j; } }}
这是參数跟新代码
void CompressiveTracker::classifierUpdate(Mat& _sampleFeatureValue, vector& _mu, vector & _sigma, float _learnRate){ Scalar muTemp; Scalar sigmaTemp; for (int i=0; i