神经网络用于多分类的一个疑问

问题

coursera上的机器学习课程中,Andrew NG 讲的神经网络,用于二分类时只用一个输出节点,而用于多分类,比如K分类,就用K个输出节点。这让强迫症患者不能忍啊!比如说4分类,按照课程中的说法,需要用4个节点,4类分别标注为:1000,0100,0010,0001。为何不用两个节点呢?可以标注为00,01,10,11


解答

神经网络的惩罚函数是这样的:

神经网络惩罚函数

  • 会对K个输出节点分别计算输出(h)与理想(y)的差距而后求和,每个节点分别计算差距,之间相互独立。如果是按照我说的用01,00,10,11来表示的话,这两个输出节点之间不是独立的,比如01和00两类,第一个节点却是相同的,这样在计算惩罚函数时第一个节点就相当于废柴,只有第二个节点才会出现惩罚进而在反向传导时对参数进行调整。所以用两个节点来做四分类应该也是可行的,只是由于对于某些类别因为编码上有交叉而出现废柴节点,所以效果应该是不如四个节点
  • 而对于二分类,用两个节点(10,10)和用一个节点(1或者0),不存在上述问题,所以用1个和2个都可以
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值