本课首先介绍了两种朴素贝叶斯算法的事件模型,之后介绍了神经网络算法(neural networks),并在最后介绍了两个重要的概念:函数间隔和几何间隔,基于这两个概念提出了一个线性分类算法:最大间隔分类器算法。该算法用于引出一个非常重要的非线性分类算法:支持向量机。关于支持向量机的具体内容会在下节课进行讲解。
朴素贝叶斯算法的两种事件模型:
(1)针对特征值而不再限定特征值只能取0和1两种情况。
,在此处不再服从伯努利分布而是服从多项式分布。在
这里可能会出现一种情况,就是特征x可能会有连续取值的情况,这个时候就需要对其进行离散化处理(离散到不同区段),例如:
取值 | <500 | 500-1000 | 1000-1500 | >1500 |
1 | 2 | 3 | 4 |
事实上,通常用10个区段来划分连续取值的特征。
(2)考虑到词语出现在邮件中的次数,专门用来处理文本文档。称为多项式事件模型。
对于一个样本来说,在这个模型中,,其中ni为这个样本邮件中的单词总数。而假设我们的词典有50000个词,那么,是到词典的一个索引,相当于为词典中的每一个单词都编上一个号码。注意,此处和n的含义与之前的定义完全不同了。
非线性分类器(神经网络)
之前学习的都是线性分类器,例如logistic回归,朴素贝叶斯算法。朴素贝叶斯算法属于指数分布族,其最后得到的还是logistic函数线性分类器。下面要讲解的是神经网络算法,其本质上属于非线性分类器。下面的两张图分别是线性分类器与神经网络的图解:
神经网络不同于logistic回归,它总是会对非凸优化问题作出响应。并且相对线性分类方法而言,神经网络算法过于复杂。
深入理解logistic回归
假如上图是的概率分布曲线,则:
判定是1,当且仅当
判定是0,当且仅当
若则可断定y=1
若则可断定y=0
如果能够满足以下条件,这个算法的表现才算是完美的,性能良好的分类器:
下面引入一些符号修改,这是为了后面讲解SVM更加方便:
函数间隔:
若,若要使函数间隔较大,则要取
若,若要使函数间隔较大,则要取
这就满足了上面所说的性能良好的条件。如果则意味着分类正确。
相对于整个集合的函数间隔:
几何间隔:
,其中称为2-范数。具体定义可以百度查询。
若,则。
相对于整个集合的几何间隔:
最大间隔分类器(SVM前身)
最大间隔分类器要达到以下效果:,同时满足:
上式是指在几何间隔与函数间隔相等的情况下,函数间隔大于设定的值即可分类成功。