Python theano中逻辑回归的负对数可能性是什么样的?

Python theano中逻辑回归的负对数可能性是什么样的?,python,machine-learning,theano,logistic-regression,deep-learning,Python,Machine Learning,Theano,Logistic Regression,Deep Learning,我一直在看报纸。我试着去理解这个数字是如何计算的 y = ivector('y') W = dmatrix('W') b = dvector('b') input = dmatrix('inp') p_y_given_x = T.nnet.softmax(T.dot(input, W) + b) logs = T.log(self.p_y_given_x)[T.arange(y.shape[0]), y] 在pretty printingtheano.printing.pprint(logs)

我一直在看报纸。我试着去理解这个数字是如何计算的

y = ivector('y')
W = dmatrix('W')
b = dvector('b')
input = dmatrix('inp')
p_y_given_x = T.nnet.softmax(T.dot(input, W) + b)
logs = T.log(self.p_y_given_x)[T.arange(y.shape[0]), y]
在pretty printing
theano.printing.pprint(logs)
上,它返回

'AdvancedSubtensor(log(Softmax(x)), ARange(TensorConstant{0}, Constant{0}[Shape(y)], TensorConstant{1}), y)'
有人能用一个小例子解释一下这个
AdvanceSubtensor
在做什么吗

在此之后,他们计算了
-T.mean(logs)


感谢您的帮助!:)

变量
logs
是一个无符号表达式。如何准确地
repr
s到屏幕并不重要。它们是占位符和
y、W、b
的函数。一旦您编译了一个以这些参数为参数的函数,您就可以恢复
日志
的值作为它们的函数。我只想澄清一下
日志
的形状。假设
y
n
大小向量,
W
n个特征*n个类
大小矩阵,
b
n个类
大小向量,
input
n个特征
大小输入数据矩阵。现在,根据我的理解,假定
b
将在
T.dot(input,W)
之后的每一行广播
p\y\u给定的\u x
大小为
n*n\u类。如果我在上面的任何部分都错了,请纠正我,我想知道
日志的形状与这些参数有关。
logs.shape
等于
y.shape
n
:您正在索引数组
p_y\u给定的x
(n,n\u类)
您每行选择一个条目,折叠
n\u类
轴,只留下
n
轴。谢谢!!我得到了我的答案。。。现在回想起来,我觉得这是一个愚蠢的问题:最后一个问题。因为我是numpy新手,所以这种类型的数组索引
一些双维数组[一些一维数组,另一个大小相同的一维数组]
在numpy中也可能吗?是的,是的。查看numpy文档的广播部分,了解所有其他有趣的星座。