机器学习中最常见的两个函数可以简单概括为:一个是logistic函数,另一个是softmax函数。 如果有不足的地方,请指出。 本文首先分别介绍了logistic函数和softmax函数的定义和应用,然后对两者的联系和区别进行了总结
1. logistic函数1.1 logistic函数定义
引用维客百科定义:
逻辑函数逻辑函数(sigmoid curve )。
其实逻辑斯谛函数是人们常说的sigmoid函数,其几何形状也就是sigmoid曲线。
logistic函数的表达式如下:
在此,x0表示函数曲线的中心sigmoid midpoint,k表示曲线的斜率。
逻辑几何图形如下。
1.2 logistic函数的应用
logistic函数本身在很多领域有很多应用,所以我只谈统计学和机器学习领域。
logistic函数无疑是统计学和机器学习领域应用最广泛、最为人熟知的逻辑斯谛回归模型。 逻辑回归(Logistic Regression,简称LR )作为对数线性模型(log-linear model )广泛应用于分类和回归场景。 另外,logistic函数也是神经网络中最常用的激活函数,即sigmoid函数。
2. softmax函数2.1 softmax函数的定义
同样,让我们贴一个关于softmax函数定义的wiki百科:
softmaxisageneralizationoflogisticfunctionthat ' squashes ' (maps ) AK-dimensionalvectorzofarbitraryrealvaluestoak-dimenstiok
该文显示了softmax函数与logistic函数的关系,同时是将具有softmax函数本质的k维的任意实数向量压缩(映射)为其他k维的实数向量,向量的各要素在值(0,1 )之间
softmax函数的格式如下。
其中j=1,2,k。
2.2 sotfmax函数的应用
softmax函数常用于神经网络的末层,多分类为输出层。 另外,softmax在强化学习领域,经常用于将某个值转换为激活概率。 在这些情况下,softmax的表达式如下:
其中t称为温度参数。当T很大时,即趋于正无穷时,所有的激活值对应的激活概率趋近于相同(激活概率差异性较小);而当T很低时,即趋于0时,不同的激活值对应的激活概率差异也就越大这个结论很重要,Hinton重点阐述了2015年paper中如何基于温度参数进行soften神经网络的输出,提出了distillation的思想和方法。
3. logistic和softmax的关系1 ) logistic具体以二分类问题为对象,但由于softmax解决了多分类问题,从这个角度也可以理解logistic函数是softmax函数的特例。
现结合UFLDL教程的推导,具体推导过程如下。
如果分类数为2,则softmax回归假设函数表示为:
利用softmax回归参数的冗馀性,从两个参数向量中减去向量1,可以得到:
最后,若用'表示21,则上述式表示softmax回归器预测某一个类别概率为
另一个类别的概率
这与logistic回归完全一致。
2 )概率性地看logistic和softmax函数的区别。
softmax建模中使用的分布是多项式分布,而logistic基于伯努利分布。 请参考Andrew Ng的讲义理解这一带的具体说明。
3 ) softmax回归与多元逻辑回归的关系。
知道的同学可能知道,多个logistic回归通过叠加也同样可以实现多分类的效果,但是多个logistic回归和softmax一样不同吗?
基于softmax回归的多分类在类和类之间是互斥的,一个输入只能分类为一个类
多个logistic回归被多分类,输出的类别不是互斥的。 也就是说,“苹果”一词既属于“水果”类别,也属于“3C”类别。
4 .参考内容[1]维客百科: logistic函数
[2]维客百科: softmax函数
[3]UFLDL教程的softmax回归