《人工智能基础课》学习笔记 Day4

37 阅读7分钟

09 机器学习 | 大道至简:朴素贝叶斯方法 “朴素贝叶斯方法”用于解决分类问题,即将连续取值的输入映射为离散取值的输出。

朴素贝叶斯分类器假定样本的不同属性满足条件独立性假设,并在此基础上应用贝叶斯定理执行分类任务。其基本思想在于分析待分类样本出现在每个输出类别中的后验概率,并以取得最大后验概率的类别作为分类的输出。假设训练数据的属性由 n 维随机向量 x 表示,其分类结果用随机变量 y 表示,那么 x 和 y 的统计规律就可以用联合概率分布 P(X,Y) 描述,每一个具体的样本 (xi​,yi​) 都可以通过 P(X,Y) 独立同分布地产生。

image.png

条件独立性假设保证了所有属性相互独立,互不影响,每个属性独立地对分类结果发生作用。这样类条件概率就变成了属性条件概率的乘积。

image.png

从模型最优化的角度观察,朴素贝叶斯分类器是平均意义上预测能力最优的模型,也就是使期望风险最小化。期望风险是风险函数的数学期望,度量的是平均意义下模型预测的误差特性,可以视为单次预测误差在联合概率分布 P(X, Y) 上的数学期望。 朴素贝叶斯分类器通过将实例分配到后验概率最大的类中,也就同时让 1 - P(Y|X) 取得最小值。在以分类错误的实例数作为误差时,期望风险就等于 1 - P(Y|X)。这样一来,后验概率最大化就等效于期望风险最小化。受训练数据集规模的限制,某些属性的取值在训练集中可能从未与某个类同时出现,这就可能导致属性条件概率为 0,此时直接使用朴素贝叶斯分类就会导致错误的结论。

因为训练集样本的不充分导致分类错误,显然不是理想的结果。为了避免属性携带的信息被训练集中未曾出现过的属性值所干扰,在计算属性条件概率时需要添加一个称为“拉普拉斯平滑”的步骤。

普拉斯平滑就是在计算类先验概率和属性条件概率时,在分子上添加一个较小的修正量,在分母上则添加这个修正量与分类数目的乘积。这就可以保证在满足概率基本性质的条件下,避免了零概率对分类结果的影响。当训练集的数据量较大时,修正量对先验概率的影响也就可以忽略不计了。

朴素贝叶斯是一种非常高效的方法。当以分类的正确与否作为误差指标时,只要朴素贝叶斯分类器能够把最大的后验概率找到,就意味着它能实现正确的分类。

半朴素贝叶斯分类器考虑了部分属性之间的依赖关系,既保留了属性之间较强的相关性,又不需要完全计算复杂的联合概率分布。常用的方法是建立独依赖关系:假设每个属性除了类别之外,最多只依赖一个其他属性。由此,根据属性间依赖关系确定方式的不同,便衍生出了多种独依赖分类器。

以朴素贝叶斯分类器为代表的贝叶斯分类方法的策略是:根据训练数据计算后验概率,基于后验概率选择最佳决策。

在使用高维数据集时,每个样本都会包含大量的属性,这时属性条件概率连乘的结果会非常接近于零,导致下溢的发生。如何防止因概率过小造成的下溢呢?

10 机器学习 | 衍化至繁:逻辑回归

。朴素贝叶斯分类器是一类生成模型,通过构造联合概率分布 P(X,Y) 实现分类。如果换一种思路,转而用判别模型解决分类问题的话,得到的算法就是“逻辑回归”。虽然顶着“回归”的名号,但逻辑回归解决的却是实打实的分类问题。之所以取了这个名字,原因在于它来源于对线性回归算法的改进。通过引入单调可微函数 g(⋅),线性回归模型就可以推广为 y=g−1(wTx),进而将线性回归模型的连续预测值与分类任务的离散标记联系起来。当 g(⋅) 取成对数函数的形式时,线性回归就演变为了逻辑回归。

在最简单的二分类问题中,分类的标记可以抽象为 0 和 1,线性回归中的实值输出需要映射为二进制的结果。逻辑回归中,实现这一映射是对数几率函数,也叫 Sigmoid 函数

image.png

所以选择对数几率函数,是因为它具备良好的特性。

  • 对数几率函数能够将线性回归从负无穷到正无穷的输出范围压缩到 (0, 1) 之间
  • 当线性回归的结果 z=0 时,逻辑回归的结果 y=0.5,这可以视为一个分界点:当 z>0 时,y>0.5,此时逻辑回归的结果就可以判为正例;当 z<0 时,y<0.5,逻辑回归的结果就可以判为反例。

如果将对数几率函数的结果 y 视为样本 x 作为正例的可能性,则 1−y 就是其作为反例的可能性,两者的比值 0<1−yy​<+∞ 称为几率,体现的是样本作为正例的相对可能性。如果对几率函数取对数,并将前文中的公式代入,可以得到

image.png

逻辑回归模型由条件概率分布表示

image.png

逻辑回归模型在给定的训练数据集上应用最大似然估计法确定模型的参数。对给定的数据集 (xi​,yi​),逻辑回归使每个样本属于其真实标记的概率最大化,以此为依据确定 w 的最优值。由于每个样本的输出 yi​ 都满足两点分布,且不同的样本之间相互独立,因而似然函数可以表示为

image.png

利用对数操作将乘积转化为求和,就可以得到对数似然函数

image.png

经过化简可以得到

image.png

上函数的最大值就是以对数似然函数为目标函数的最优化问题,通常通过“梯度下降法”或拟“牛顿法”求解。

朴素贝叶斯分类器是生成模型的代表,其思想是先由训练数据集估计出输入和输出的联合概率分布,再根据联合概率分布来生成符合条件的输出,P(Y∣X) 以后验概率的形式出现。

逻辑回归模型则是判别模型的代表,其思想是先由训练数据集估计出输入和输出的条件概率分布,再根据条件概率分布来判定对于给定的输入应该选择哪种输出,P(Y∣X) 以似然概率的形式出现。

逻辑回归与朴素贝叶斯分类器在特定的条件下依然可以等效

两者的区别在于当朴素贝叶斯分类的模型假设不成立时,逻辑回归和朴素贝叶斯方法通常会学习到不同的结果。当训练样本数接近无穷大时,逻辑回归的渐近分类准确率要优于朴素贝叶斯方法。

两者的区别还在于收敛速度的不同。逻辑回归中参数估计的收敛速度要慢于朴素贝叶斯方法。当训练数据集的容量较大时,逻辑回归的性能优于朴素贝叶斯方法;但在训练数据稀缺时,两者的表现就会发生反转。

二分类任务只是特例,更通用的情形是多分类的问题,例如手写数字的识别。要让逻辑回归处理多分类问题,就要做出一些改进。

  • 一种改进方式是通过多次二分类实现多个类别的标记。

  • 另一种多分类的方式通过直接修改逻辑回归输出的似然概率,使之适应多分类问题,得到的模型就是 Softmax 回归。

image.png

虽然都能实现多分类的任务,但两种方式的适用范围略有区别。当分类问题的所有类别之间明显互斥,即输出结果只能属于一个类别时,Softmax 分类器是更加高效的选择;当所有类别之间不存在互斥关系,可能有交叉的情况出现时,多个二分类逻辑回归模型就能够得到多个类别的标记。