深入深出Sigmoid与Softmax的血缘关系
逻辑回归模型是用于二类分类的机器学习模型(不要说逻辑回归可以做多类分类啊喂,那是二类分类器的组合策略问题,而与逻辑回归分类器本身的构造没有半毛钱关系啊)。
我们知道,在逻辑回归中,用于预测样本类别的假设函数为
(小夕要讲大事,忽略偏置项参数和向量转置这种细节啦),其中sigmoid函数的图像看起来是这样的:
因此,我们将
可是你有想过为什么吗?(是的,这并不是拍脑袋决定的)
如果觉得小夕的这种问法很奇怪,那小夕换一种问法,你知道
听小夕慢慢讲,手指慢慢划,跟上思路哦。
首先,模型参数
我们来好好看看这个所谓的模型参数w。这个w在本质上是
其实只要把
我们知道,对于向量a和向量b,假设它们的长度都为1,那么当向量a与向量b夹角最小时,它们的内积,也就是
会最大。当然了,推广到更一般的说法,不限制a与b的长度,则当a与b夹角最小时,我们称a与b的余弦相似度最大
而两向量的夹角越小意味着什么呢?意味着这两个向量越相似呀,意味着越亲密呀。所以
继续,我们将上述神奇的逻辑放到逻辑回归模型的假设函数
等等,有没有惊恐的发现什么?还记得小夕在上一篇文章《逻辑回归》中得到的这个结论吗?:
天呐,逻辑回归的假设函数竟然与P(Y=1|X)一模一样!都是
为了美观,我们直接用w1代替
如果我们令分子分母同除以
!!!有没有被震惊到!
小夕在前面讲了,w1与x的内积代表着w1与x的亲密度,这个不就代表着“类别1与x的亲密度占x与所有类别亲密度之和的比例”吗?
既然是比例,那肯定是0到1之间的数呀~而这个比例又可以解读为什么呢?不就是类别1在x心中的分量吗?当类别1在x心中的分量超过类别0在x心中的分量时,我们的逻辑回归模型当然要把类别1嫁给x呀~也就是将类别1作为预测的类别!
同时,这个分量越大,我们将类别1嫁给x后,会让x满意的概率就越大!所以这个比例又是类别1的后验概率P(y=1|x)呀!
看,一切都不是巧合吧。Sigmoid函数的意义,竟然如此深邃。
等等,虽然sigmoid(w1·x)代表"类别1与x的亲密度占x与所有类别亲密度之和的比例",但是显然这里只有两个类别,即1和0,也就是说Sigmoid是一个只能用于二类分类的函数。
那么如果我们要分类的类别超过2,我们能不能同样用一个函数来表示出“某类别与x的亲密度占x与所有类别亲密度之和的比例”呢?
这一次,我们倒着来!假如我们的分类任务有k个类别,与前面用w1、w0来表示类别1、类别2一样,我们用w1、w2、w3...wk来表示各个类别。
根据前面的经验,这个“类别j与特征向量x的亲密度”貌似可以表示为
将分母用
哎,原来看似深不可测的Softmax函数,只是Sigmoid的一种推广形式,其深邃意义与Sigmoid并无二致。哎,失望,Softmax也就这样啦╮(╯▽╰)╭怪小夕咯?