【发布时间】:2017-06-06 04:08:25
【问题描述】:
我有表达式 Sum 从 1 到 K of log(sigmoid(-u_k^Tv_c)) .抱歉,我在 StackOverflow 上没有足够的声誉来发布图片。
这里 u 和 v 都是矩阵。我正在尝试使用 numpy 实现这一点并完全陷入困境。
我有什么:
np.sum(log(sigmoid(-np.dot(u.T,v))))
我知道这甚至不接近我想要的,因为我还无法将总和限制在 1 到 k 的范围内。 Sigmoid 是在别处实现的函数。 u 和 v 的尺寸应该没问题。
【问题讨论】:
-
用imgur什么的链接?
-
什么是
c(v的下标)? -
是的,c是下标
-
所以
v_c是一个实际上并没有改变总和的列向量?你可以写成 v[:, c:c+1] 或 v[:, c] [:, None]。诚然,两者都不是特别容易让人眼前一亮。无论如何,假设你的 sigmoid 可以处理数组参数,我猜你的代码应该在你用任一表达式替换 v 后立即工作。