返回信息流目前用神经网络做一个分类,输出层(1,0,0)表示第一类,(0,1,0)第二类,(0,0,1)第三类这样设计的label,但是训练完之后发现我的网络无论在训练集还是测试集上的输出结果都是近似于(0.33,0.33,0.33),代价函数就是简单的平方差加上regularization项,不管用深的还是浅的网络试过好像差别不大,大家觉得出现这种结果可能是什么问题呢?
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #19293同步于 2016/4/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
[神经网络]关于神经网络用来分类的一个问题
RiceGrad
2016/4/12镜像同步24 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
但是我试过一个两hidden层的网络,用的auto encoder做的初始化,单hidden层的网络我就随机小值初始化的,但是问题好像不在这里诶,不过谢谢哈,我也是新手
【 在 lvyang3743 的大作中提到: 】
: 初始化?
: 我只是进楼学习的。。。
请问是指映射到(-1,1)或者(0,1)这样的区间吗?这个我直接用的matlab里的mapminmax()函数,不知道有没有问题呢?
【 在 fuxuemingzhu 的大作中提到: 】
: 数据预处理了么?
没问题。。那就不知道了。可能数据本身区分度就不大,分类效果不好。
【 在 RiceGrad (米小尔斯基) 的大作中提到: 】
: 请问是指映射到(-1,1)或者(0,1)这样的区间吗?这个我直接用的matlab里的mapminmax()函数,不知道有没有问题呢?
不过你为什么不用0'1'2三个输出值代表不同的分类呢,这样只要一个输出就好了,会比三个输出方便些吧
【 在 RiceGrad (米小尔斯基) 的大作中提到: 】
: 好的我再看看哈,谢谢你!
呃...因为激活函数我用的sigmoid,1 / (1 + exp(-x))这个,好像到不了1以上的值。。而且好像我参考别人的网络好像输出还是这样向量表示比较好?(我也学艺不精。。)
【 在 fuxuemingzhu 的大作中提到: 】
: 不过你为什么不用0'1'2三个输出值代表不同的分类呢,这样只要一个输出就好了,会比三个输出方便些吧
激活函数是不会到达1以上的,但是你前面已经归一化了不是,可以再反归一化放大到同样的比例。向量的我还真没做过。。
【 在 RiceGrad 的大作中提到: 】
: 呃...因为激活函数我用的sigmoid,1 / (1 + exp(-x))这个,好像到不了1以上的值。。而且好像我参考别人的网络好像输出还是这样向量表示比较好?(我也学艺不精。。)
: