分类

来源:互联网 发布:java 限制内存 编辑:程序博客网 时间:2024/04/27 16:57

机器学习的主要算法:分类、聚类、预测


二值响应模型是一个众所周知的二值分类算法,称为逻辑回归

应用:自动疾病诊断文本分类



概率分类器


贝叶斯分类器 


1)似然函数——类条件分布

似然函数作为分布函数选择参数

2)类分布的先验知识

3)高斯类条件分布的分类

4)预测

5)朴素贝叶斯假设

素贝叶斯分类器(Naive Bayes classifier)的朴素(Naive)之处在于,其假设了各个特征之间是独立的。

以垃圾邮件分类器为例,如果训练样本中一半的垃圾邮件含有“促销伟哥”字样,另一半有“正品劳力士”,则朴素贝叶斯分类器认为,一个垃圾邮件同时含有“伟哥”和“劳力士”的概率是0.25。
(只考虑“伟哥”和“劳力士”这两个词)


作者:Kaiser
链接:https://www.zhihu.com/question/20138060/answer/62044336
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

假设某个体有n项特征(Feature),分别为F1、F2、...、Fn。现有m个类别(Category),分别为C1、C2、...、Cm。贝叶斯分类器就是计算出概率最大的那个分类,也就是求下面这个算式的最大值:

 P(C|F1F2...Fn) 
  = P(F1F2...Fn|C)P(C) / P(F1F2...Fn)

由于 P(F1F2...Fn) 对于所有的类别都是相同的,可以省略,问题就变成了求

 P(F1F2...Fn|C)P(C)

的最大值。

朴素贝叶斯分类器则是更进一步,假设所有特征都彼此独立,因此

 P(F1F2...Fn|C)P(C) 
  = P(F1|C)P(F2|C) ... P(Fn|C)P(C)

上式等号右边的每一项,都可以从统计资料中得到,由此就可以计算出每个类别对应的概率,从而找出最大概率的那个类。

虽然"所有特征彼此独立"这个假设,在现实中不太可能成立,但是它可以大大简化计算,而且有研究表明对分类结果的准确性影响不大



例子:对文本进行分类

将文本编码为数值矢量——词袋模型

Xnm是单词m在文件n中出现的次数



多项式朴素贝叶斯(multinomial Naive Bayes)

符号和术语

多项式贝叶斯是将某个文档看成许多单词组成的一个序列,并以文档中的单词来建立多项式模型。即把文档中出现的单词看作数学多项式中的。假设目标类别集合数目确定, 为 , 每个都可以用一系列的多项式系数来表示。换句话说,对于其中的某个类别c来说,都有多项式系数  (n为所有单词组成的字典大小), 因为代表了某个单词在类别c中出现的可能性,所以其加和必然为1,公式为

公式推导

文档属于的概率为所有单词特征在该类别出现的可能性之积,公式如下


这里表示单词在该文档中出现的次数, 我们应用上面朴素贝叶斯讲解中提到的贝叶斯公式以及MAP假设就可以进行一步步推导

贝叶斯公式:

MAP假设以及将值取log:

在上面的公式中,为单词i属于类别c的权重,如何选取以及就是学者们研究的重点,这关系到Naive Bayes分类器的性能。


的选取

论文出处:Heckerman, D. (1995). A tutorial on learning with Bayesian networks (Technical Report MSR-TR-95-06). Microsoft Research

依据该论文,给出了一个简单的公式

, 其中为单词i在类别为c的文档集合中出现的次数, 为所有单词在类别为c的文档集合中出现的总次数,为单词i的平滑系数,的值则是所有单词的平滑系数的和。这里常用的方法是加入Laplace平滑, 即另所有单词的=1,那么就等于字典的大小N。


将上面的公式代入之前的MAP假设可以得到


在这里是类别c的先验概率,可以像计算单词的先验概率的方法那样计算,不过值得注意的是,在上面的式子中类别的先验概率相对单词的可能性(式子右边项)来说不占主导地位,因此我们可以选取统一的, 即


这个就是最终的多项式贝叶斯(MNB)的计算公式



平滑性

‘棒球’不太可能会在宗教新闻组里提及——即训练数据里qm=0

q1*q2*....*qn=0,不属于任何类,这是对训练数据过拟合的一种情况

对q增加一个先验密度来克服这个问题

合适先验密度——狄利克雷密度




逻辑回归


逻辑似然概率——sigmoid函数


非线性决策函数

拉普拉斯和Metropolis-Hastings算法获得非线性决策边界


非参数模型——高斯过程

w^T*x,线性模型

多项式模型

非参数模型

常用的非参数模型,高斯过程(GP)——均值函数μ(x)和协方差函数(十分灵活,任何情况都可以代替参数模型)



非概率分类器


k近邻算法——KNN,支持向量机——SVM

KNN

SVM

软间隔——放宽公式的约束,允许点可能处于边界错误的一边

软间隔摘自

间隔分布的另一个度量方法,它将间隔的概念从最靠近超平面的点推广到了所有训练集数据,因此更能说明训练样例的全局特性 。

定义1:设\gamma为目标间隔,且\gamma > 0,任意一个输入样本(x_i,y_i)对应于超平面(w,b)和目标间隔\gamma松弛变量是:

                                               \xi((x_i,y_i),(w,b),\gamma)=\xi_i=max(\gamma-y_i(<w,x_i>+b),0)

这个定义很有意思,当样本没有被误分时,y_i(<w,x_i>+b)为正,因此,\xi \leq \gamma,当样本被误分y_i(<w,x_i>+b)为负,\xi > \gamma,于是||\xi||就描述了训练集中没有以间隔\gamma分开以及误分的情况,例如,经典二分类SVM中,设定\gamma=1,则\xi_i=max(1-y_i(<w,x_i>+b),0)当样本被误分或者没有以间隔\gamma分开时,其松弛变量不为零,而没有被误分时,其松弛变量为0,如图所示:

image

图中除了A、B两点以外的点,松弛变量都为0,点A是一个没有以间隔\gamma分开的样例,而点B是被误分的样例,它们的松弛变量都不为零。

       对原始最大间隔优化问题引入上面的松弛变量,可以将约束转变为:

                                                     s.t.  y_i(<w,x_i>+b) \geq 1- \xi_i   (i=1,2,...n)

                                                            \xi_i \geq 0   (i=1,2,...n)


线性核相当于我们使用的SVM。高斯核多项式核更具有灵活性,而且都有额外的用户定义的参数(γ)——通常经过交叉验证得到

(1)线性核函数

K(x,xi)=xxi

(2)多项式核

K(x,xi)=((xxi)+1)d

(3)高斯函数—常用径向基核(RBF)

K(x,xi)=exp(xxi2σ2)

Gauss径向基函数则是局部性强的核函数,其外推能力随着参数σ的增大而减弱。多项式形式的核函数具有良好的全局性质。局部性较差。

(4)傅里叶核

K(x,xi)=1q22(12qcos(xxi)+q2)

(5)样条核

K(x,xi)=B2n+1(xxi)

(6)Sigmoid核函数

K(x,xi)=tanh(κ(x,xi)δ)



评价分类器的性能

准确率——0/1损失

0预测正确,1预测错误——对于类别数据不平衡的数据,运用此方法得非常小心

敏感性和特异性



ROC曲线下的区域

混淆矩阵



判别式和产生式分类器

产生式分类器——为每个类别定义一个模型,然后将新元素指定为最适合它们的模型,贝叶斯分类器

判别式分类器——清楚定义类别之间的决策边界,SVM逻辑回归

0 0
原创粉丝点击