我觉得如果只是单单介绍softmax的话,倒不如把这一块的只是整合一下,直接自己总结一下广义线性回归算了。
指数分布族:
若概率分布满足下式,我们就称之属于指数分布族:
广义线性回归:
考虑一个分类或回归问题,我们就是想预测某个随机变量y,y 是某些特征(feature)x的函数。为了推导广义线性模式,我们必须做出如下三个假设
(1)p(y|x;θ) 服从指数族分布
(2)给了x, 我们的目的是为了预测T(y)的在条件x下的期望。一般情况T(y)=y, 这就意味着我们希望预测h(x)=E[y|x]
(3)参数η和输入x 是线性相关的:η=θTx
我们平常接触到的线性回归中的最小二乘法,逻辑回归,softmax回归其实都是属于广义线性回归的一种。
softmax回归:
softmax回归是用来处理多分类问题,一个样本可以理解为一次实验,一次实验有多种结果,这不就正好是多项分布嘛!没错,将多项分布写成指数分布族形式,就可以推导出softmax回归了。
公式编辑把我逼疯了,先传个照片吧。。。
过程写的比较简单,给出的结果也只是各类别的概率。然后写出似然函数,也就是softmax回归的损失函数,用最大似然法求解最大后验概率就能解出参数了。我觉得只要掌握了过程中的思想,你就能更深刻的理解这个算法,对它的应用场景和适用条件都能够思考出一些自己的想法,至于公式最后的结果是什么了,我觉得也就没有那么重要了。
逻辑回归:
看完softmax回归的推导,逻辑回归又是由什么分布推导而来的呢?我相信结果已经一目了然了。0-1分布,也就是伯努利分布,单次伯努利实验。仿照上述过程的推导,可以得到著名的simgoid函数,其实就是softmax函数的只有两类结果,或者其他类结果的概率都为0的特殊形式,公式太难编辑了,纸上写的也比较丑,具体过程我就不传上来了。
线性回归:
线性回归中的最小二乘法,就是由高斯分布的指数分布族函数推导而来。有兴趣的也可以自己试一试具体的推导过程。
多分类问题:
处理多分类问题可以应用二分类器和softmax回归两种方法。写本文章之前我只会用二分类去解决多分类,这也是这次面试让我意识到的并着手去解决的一个重要问题吧。
二分类解决多分类:
OvO(One vs One):将N个类别两两配对,从而产生N(N-1)/2个二分类任务,我们去训练N(N-1)/2个二分类器,最终结果最终结果可由各个分类结果投票产生。
OvM(One vs More):每次将一个类作为正例,剩下的其他类作为反例,从而产生N个二分类任务,我们去训练N个二分类器。在测试时,若只有一个分类器预测为正类,则对应的类别标记作为最终分类结果。若有多个分类器预测为正类,则通常考虑各个分类器的置信度,选择置信度最大的类别作为分类结果。(关于置信度,每个分类算法的置信度计算规则都不同)
MvM(More vs More):每次将若干个类作为正类,若干个类作为反类。正反类必须要有独特的设计,目前还不太了解这一块,以后有机会用到再详细学习一下。
softmax解决多分类:
softmax可以直接输出各个类别的概率,从而直接产生分类结果。
区别:
softmax回归在处理多分类时,各个类别的概率相加为1构成全集,因此在各类别互斥的时候,可以采用softmax回归;若各类别有一定相关性时,可用二分类去解决多分类的问题。下面贴出一段网上对此问题的解释。
如果你在开发一个音乐分类的应用,需要对k种类型的音乐进行识别,那么是选择使用 softmax 分类器呢,还是使用 logistic 回归算法建立 k 个独立的二元分类器呢?
这一选择取决于你的类别之间是否互斥,例如,如果你有四个类别的音乐,分别为:古典音乐、乡村音乐、摇滚乐和爵士乐,那么你可以假设每个训练样本只会被打上一个标签(即:一首歌只能属于这四种音乐类型的其中一种),此时你应该使用类别数k= 4的softmax回归。(如果在你的数据集中,有的歌曲不属于以上四类的其中任何一类,那么你可以添加一个“其他类”,并将类别数k设为5。)
如果你的四个类别如下:人声音乐、舞曲、影视原声、流行歌曲,那么这些类别之间并不是互斥的。例如:一首歌曲可以来源于影视原声,同时也包含人声 。这种情况下,使用4个二分类的 logistic 回归分类器更为合适。这样,对于每个新的音乐作品 ,我们的算法可以分别判断它是否属于各个类别。
网友评论