Author: Pan
Date: 2020/7/17
我们在做分类的问题时,会不禁这么想,毕竟分类问题只是回归问题的一个特例,为什么我们不能用回归的方式去设计分类问题的策略,为什么它要被拿出来讨论?
例如经常我们能见到的:一个三类问题的Label编码成(0,0,1)(0,1,0), (1,0,0)。又或者(0.1,0.2,0.7)取输出概率最大的那个,类别为第三类。为什么我们不能直接就这个问题也约化成一个回归问题,比如:设置几个阈值,将输出的连续值按阈值划分为几类,不用ONE-HOT编码,表示还简单?
那么问题来了,这个阈值你怎么设置,训练样本数据极度不平衡时,这个阈值设置多少比较适合潜在的你要学习的真实模型?这个阈值会不会是样本偏倚程度的函数?如果这样的话,这个阈值真的“玄学”了,也许我们可以深究一下它们之间的关系,以图使其合理,但是这是一个很麻烦的事。。。不仅麻烦,还有一些我们将要提到的一些较为隐蔽的问题。
我们知道多项式分布是二项分布的推广,它的渐进分布是高斯分布(高斯分布具体见上一篇),假设你真的按照阈值法去做了,本质上你在假设一个事情,那就是你的分布服从于高斯分布。你会说这有什么问题吗?
那么我们一起来看看:
首先我们快速过一下多项式分布的定义,假如我们有K类需要分:
其中,均为在区间(0,1)取值的数,且;
服从多项式分布,相关参数由和组成。
所以多项式分布的概率质量函数(PMF)为:
其中,k-1为自由度。
多项式分布期望:
多项式分布方差:
多项式分布协方差:
因此协方差矩阵为:
我们发现:,这说明0是它的一个特征值,这个协方差矩阵是奇异矩阵。
另,我们给出该协方差矩阵是半正定矩阵的证明:
由于凸性不等式:
我们令
所以:;
因此得以证明,该协方差是半正定矩阵。
我们先放一放上面关于协方差矩阵是奇异矩阵的发现,我们来看看它的边界分布。
(无关乎主题,为了内容的完整性我们说一下下面内容)
边界分布
我们对切分,并从中取出它的一个子集
条件分布
令
发现这个条件分布为二项分布。
更一般的:
(补充内容说完了,我们进入正题)
我们设
所以对于每一个,均值都等于,方差都等于;
令;那么
的期望为:
协方差矩阵为:
继续:
那么关于分类问题,现在我们的label编码可以用one-hot编码,例如令x=(0,0,0,0,...,1),;那么此时的n就为1,由于此时的阶乘无论怎样都是1,它的PMF实际上就是所以可以用对数似然估计、使用这样一个PMF来构造损失函数;也就是在(一) 机器学习基本概要中提到的,二分类伯努利取对数后的那个交叉熵的推广。
根据中心极限定理,对于每个(每个均值都是,方差都是),我们需要考虑变量,又根据的分布,在n很大时,也就是我们的类别足够多时,可依分布渐近于高斯分布
在(一)机器学习基本概要 中有提到,损失函数可以通过转化为最大后验概率;其实这个转化的形式,就是一个高斯分布。
也就是说,当采用最小二乘回归的方式来处理分类问题,其实是给了问题一个本不存在的数据正态假设,而且,即使n够大,采用了高斯,那么接踵而至的问题还有协方差矩阵的奇异问题,在处理奇异矩阵,我们不得不采用伪逆来算,行列式上也要对0行进行丢弃处理。当然还要加上一开始说的阈值的问题。所以假如分类和回归问题不分开,这些缺陷都很麻烦。