Deep learning 基于Logistic回归的SoftMax序数目标损失函数

Deep learning 基于Logistic回归的SoftMax序数目标损失函数,deep-learning,theano,caffe,logistic-regression,softmax,Deep Learning,Theano,Caffe,Logistic Regression,Softmax,我正在使用Pylearn2或Caffe建立一个深度网络。我的目标是名义上的。我试图找到一个合适的损失函数,但在Pylearn2或Caffe中找不到 我读了一篇论文“偏好水平的损失函数:离散有序标签回归”。我得到了一般的想法-但我不确定我是否理解阈值是什么,如果我的最后一层是SoftMax over Logistic回归(输出概率) 有人能帮我指出这种损失函数的任何实现吗 谢谢 关于pylearn2和caffe,您的标签需要是0-4而不是1-5…这就是它们的工作方式。输出层将是5个单元,每个单元基

我正在使用Pylearn2或Caffe建立一个深度网络。我的目标是名义上的。我试图找到一个合适的损失函数,但在Pylearn2或Caffe中找不到

我读了一篇论文“偏好水平的损失函数:离散有序标签回归”。我得到了一般的想法-但我不确定我是否理解阈值是什么,如果我的最后一层是SoftMax over Logistic回归(输出概率)

有人能帮我指出这种损失函数的任何实现吗

谢谢
关于pylearn2和caffe,您的标签需要是0-4而不是1-5…这就是它们的工作方式。输出层将是5个单元,每个单元基本上是一个逻辑单元…softmax可以被认为是一个适配器,用于规范最终输出。但“softmax”通常用作输出类型。训练时,任何单个单位的值很少精确到0.0或1.0…它始终是整个单位的分布-可以计算日志损失。此损失用于与“完美”情况进行比较,错误将被反向支撑以更新网络权重。请注意,PL2或Caffe的原始输出不是一个特定的数字0、1、2、3或5…而是5个数字,每个数字都与5类中每一类的可能性相关。分类时,只需将价值最高的类作为“赢家”

我试着举个例子。。。 假设我有一个3级的问题,我用3个单位的softmax训练一个网络。 第一个单位代表第一类,第二个代表第二类,第三个代表第三类

假设我输入一个测试用例并得到


0.25,0.5,0.25…0.5是最高的,因此分类器会说“2”。这是softmax输出…它确保输出单位的总和为1。

如果您仍然需要帮助,您可能需要进一步描述您的问题。我的标签是序号,例如1,2,3,4,5。所以我有5节课。我的模型是使用SoftMax over LogisticReturnal的多类模型,即输出1,2,3,4,5。现在,如果培训实例的实际标签是3,而我的预测输出是1,那么这比预测输出2更糟糕。如果我的模型是使用均方误差作为损失函数的回归,则可以对这种损失进行建模。但在SoftMax中,损失是相同的。这意味着,与1对3(使用负对数似然)相比,2对3可能同样糟糕。那个么我怎样才能修改负对数似然来适应有序目标呢?嗨,谢谢你们的解释。我明白。我想指出的一点是,当反向传播错误时,这样的损失函数将强调,当实际标签为3时,1上的0.x和2上的o.x同样糟糕。但我的标签是序号a 0.x in 2比序号a 0.x in 1好得多,因为它更接近3。希望你明白我的意思也许你能把它变成一个回归问题?预测一个数字1-5,将平方误差最小化将成为你的训练目标。是的,这就是我最终要做的。但回到我最初的问题——如果你读了那篇文章——他们使用了不同的方法。我想了解这一点。