sigmoid和softmax的关系

softmax

P(y=k)=exp(wTkx)kexp(wTkx) P ( y = k ) = e x p ( w k T ⋅ x ) ∑ k e x p ( w k T ⋅ x )

sigmoid
for classes only have 0-1

P(y=1)=exp(wT1x)exp(wT1x)+exp(wT0x) P ( y = 1 ) = e x p ( w 1 T ⋅ x ) e x p ( w 1 T ⋅ x ) + e x p ( w 0 T ⋅ x )

then
P(y=1)=11exp(wTix) P ( y = 1 ) = 1 1 − e x p ( w i T ⋅ x )

wi=w1w0 w i = w 1 − w 0

sigmoid,或者说exponential family所具有的最佳性质,即maximum entropy的性质。

进一步理解见
https://www.zhihu.com/question/35322351/answer/67193153
来源:知乎

看了一下,几乎所有的回答都只解释了“为什么可以用sigmoid”,而没有解释“为什么要用sigmoid”。虽然也有回答提到了exponential family中bernoulli的形式,但高票回答基本只说明了sigmoid的各种良好性质。若是光从这个角度解释的话,probit也具有相同的性质,为什么除了做GLM的,基本上就没人用呢?说到底源于sigmoid,或者说exponential family所具有的最佳性质,即maximum entropy的性质。虽然不清楚历史上孰先孰后,但这并不妨碍maximum entropy给了logistic regression一个很好的数学解释。为什么maximum entropy好呢?entropy翻译过来就是熵,所以maximum entropy也就是最大熵。熵原本是information theory中的概念,用在概率分布上可以表示这个分布中所包含的不确定度,熵越大不确定度越大。所以大家可以想象到,均匀分布熵最大,因为基本新数据是任何值的概率都均等。而我们现在关心的是,给定某些假设之后,熵最大的分布。也就是说这个分布应该在满足我假设的前提下越均匀越好。比如大家熟知的正态分布,正是假设已知mean和variance后熵最大的分布。回过来看logistic regression,这里假设了什么呢?首先,我们在建模预测 Y|X,并认为 Y|X 服从bernoulli distribution,所以我们只需要知道 P(Y|X);其次我们需要一个线性模型,所以 P(Y|X) = f(wx)。接下来我们就只需要知道 f 是什么就行了。而我们可以通过最大熵原则推出的这个 f,就是sigmoid。其实前面也有人剧透了bernoulli的exponential family形式,也即是 1/ (1 + e^-z)

### Sigmoid 函数 Softmax 函数的区别 #### 定义差异 Sigmoid 函数定义如下: \[ \sigma(z) = \frac{1}{1 + e^{-z}} \] 该函数能够将实数值压缩至 (0, 1),因此非常适合用于二元分类问题,其中输出可解释为属于某一类别的概率[^2]。 相比之下,Softmax 函数则适用于多类别分类情况。对于给定的输入向量 \( z \),Softmax 计算方式如下所示: \[ \text{softmax}(z_i) = \frac{\exp(z_i)}{\sum_{j=1}^{n}\exp(z_j)} \] 这里 n 表示类别总数目。通过这种方式,Softmax 可以确保所有预测的概率总等于 1,并且每个单独的概率都在区间 [0, 1] 内[^3]。 ```python import numpy as np def sigmoid(x): return 1 / (1 + np.exp(-x)) def softmax(x): exp_x = np.exp(x - np.max(x)) # 防止溢出 return exp_x / exp_x.sum(axis=-1, keepdims=True) # 测试数据点 test_input = np.array([1.0, 2.0, 3.0]) print("Sigmoid output:", sigmoid(test_input)) print("Softmax output:", softmax(test_input.reshape((1,-1)))) ``` #### 应用场景对比 当面对的是简单的二分类任务时,通常会选择使用 Sigmoid 函数作为模型的最后一层激活函数。这是因为 Sigmoid 的输出可以直接被视作样本属于正类的可能性大小[^1]。 然而,在涉及多个离散标签的情况下,则更倾向于采用 Softmax 来完成最终决策过程。比如图像识别领域内的手写数字辨识(MNIST 数据集),或是自然语言处理里的词性标注等问题都适合运用 Softmax 进行解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值