神经网络用于多分类的一个疑问
2016-03-24 14:19
387 查看
问题
在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个都可以
相关文章推荐
- 深入理解Java的接口和抽象类 (http://www.cnblogs.com/dolphin0520/p/3811437.html)
- CentOS7 网络管理与配置
- 网络驱动设备:ISCSI实战!!!
- NSURLSession网络请求
- AsyncHttpClient, RequestParams ,AsyncHttpResponseHandler三个类使用方法
- pycnn以多项式为例的动态网络结构
- 使用 python 创建最简单的 https 服务器
- 关于TCP流模式与UDP数据报模式的区别
- 三种经典iPhone上网络抓包方法详解
- TCP/IP面试题整理
- Volley+OkHttp的整合
- Windows2012中安装PHP-5.6.20+Apache httpd2.4.18+Composer+Laravel+MySQL5.7
- tcpcopy
- Applet建立HTTP连接报错java.security.AccessControlException
- 使用cmd命令里的 tasklist 和 netstat 获取当前各进程的网络连接
- iOS音频篇:使用AVPlayer播放网络音乐
- Python学习笔记-httplib使用例子
- okHttp的封装
- iOS开发网络篇—数据缓存
- 网络编程的最佳实践