CNN入门讲解:不一样的Softmax

今天我们的主题是CNN最后最后那个Softmax Function

可是网上已经把关于Softmax讲烂了

于是今天,我只想谈谈我对Softmax某些方面的理解

建议大家看之前,先去别的地方学习一些Softmax

敲黑板了,前排玩手机的同学麻烦叫一下后排的睡觉的同学

 

首先这是卷积神经网络最后一层全连接层的构造,W是神经元的权值,K是要分类的类别数,X是上一层的输出平铺(Flatten)后的结果

 

下面是softmax 的公式

那么我们怎么理解上面的公式呢

首先我们先来看Softmax Function公式本身,非常好理解

1. 当输入为X, 预测类别为j 的概率为P

2. 所有预测类别概率和为1

然后我们把CNN 和 Softmax 相结合

假设首先我们现在的任务是区别一图片是不是猫

 

假设这个神经网络模型已经训练完了

全连接层已经知道

 

当我们得到以上特征,我就可以判断这个东东是猫了

假设现在我们要给猫和狐狸分类,输入x是一堆特征,最后得到猫的特征表示值1.9,狐狸特征表示值0.6,这样意思是输入包含了更多猫的特征,包含更少狐狸的特征

 

这个时候,根据常理,为了做出判断,你肯定会选特征表示值最大(max)的那个,对,也就是猫(1.9)

到这里你肯定会问,既然max可以帮我搞定分类问题,为什么还需要Softmax

因为在实际运用中,特征表示值的用途不大, 我们更希望得到具有统计意义的概率

那我们来看看Softmax 是怎么实现的

根据上面的图示,我们可以得到如下Softmax公式,当输入为X时,输出为猫的概率

Softmax 输出概率图

 

Softmax 物理意义图

然后我们把上面的Softmax物理意义图拆分一下, 变成如下图

 

现在把分子拆分成如上图,我想你应该明白了

没错 ,预测结果与输入特征之间存在明显相关性

并且,Softmax 具有更好的解释性,包含属于猫的这一类的特征越多,输出为猫的概率就越大

(插播一句,这里所谓的概率,是相对概率,而不是绝对概率,假设上图P输出的概率为0.75,物理含义是,当输入为X时,预测为猫的概率是预测不是猫的概率的3倍))

上面的情况是假设不同特征是相互独立的

然而,这可能在许多情况下不成立,因为特征之间可能存在协同作用或冗余

这种协同或者作用会直接影响输出概率,比如猫前脚和猫后脚

 

为了解决这种情况,我们可以:(来自我们Lab办公室的李博士建议)

1)去除有协同作用或冗余的特征,如x3 =X1⋅x2x3=x1⋅x2(但是如果我们不知道哪些特征值是相关的,我们可能会引入更多无用的特征!

2)当两个特征经常一起被激活时,训练过程将学习较小的权重W1和W2,使得它们的联合效果更接近真实效果

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值