为什么要用sigmoid函数和softmax函数解决分类问题

所谓神经网络解决文类问题可以等价为同时满足两个条件:

1:神经网络的概率模型与理想概率模型的各阶矩相等(两个概率模型是否相等)

2:P(y|x)的熵最大(自己理解:就是不考虑任何无信息量的因素最公平的分配概率时如何分配)


关于第1点:

首先可以证明任何一个概率分布可以用正态分布里的期望和期望里x的几次幂(也就是所谓的一阶矩二阶矩等等来表示),这样就可以通过比较矩来比较两个概率模型是否相等。

可以在x,y上先设计随机变量(x,y)满足某一事实时X=1否则为0(满足的某一事实需要考虑样本空间中所有可能发生的事实),这样就可以把对比n维的x,y所需要考虑的各阶矩转化为一个伯努利分布,从而对比两个概率分布就只需对比一阶矩。


关于第2点:  

神经网络解决分类问题想要得到的目标其实就是P(y|x)(输入一个x求是y的概率),也就是需要满足P(y|x)的熵最大,用H(Y|X)定义为所有的P(y|x)求期望并连加也就是条件熵,这样P(y|x)的熵最大等价于求H(Y|X)的最大值。
在H(Y|X)里包含一部分已知的(P(x)与P(x,y)的先验概率),和一部分未知的P(y|x),并且同时需要满足第一点(经验概率的一阶矩=目标概率的一阶矩)并且所有的P(y|x)相加等于1(这里可以用拉格朗日乘数法求,由于引入了拉格朗日系数λ,所以这个式子从一个变量P(y|x)变成了两个变量P(y|x),λ),由于要求极值,先把λ看作常数把这个拉格朗日式子对P(y|x)进行求导,令导数等于0算出P(y|x),经过一系列化简后可以发现所得的P(y|x)与softmax中的形式相同,而sigmoid又可以转换成特殊的softmax(也就是二分类时用sigmoid)
这里也说明了,输出层选择使用sigmoid或者softmax也就是默认使用了最大熵的方法进行机器学习,这里通过计算P(y|x)可以得到P(y|x)概率分布的形式所算出的这个形式属于指数族分布,λ这个参数便是机器学习中用梯度下降等类似方法得到的参数
也可以证明极大似然法与交叉熵法是等价的,极大似然法与最大熵法是等价的,这是三种等价的方法去调整参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值