python - 在theano中按行规范化矩阵

标签 python matrix normalization theano

假设我有一个大小为 n_i x n_o 的矩阵 N,我想按行对其进行归一化,即, 每行的总和应该是一个。我怎么能在theano中做到这一点?

动机:使用 softmax 会为我返回错误,所以我尝试通过实现我自己的 softmax 版本来回避它。

最佳答案

看看下面的内容是否对你有用:

import theano
import theano.tensor as T

m = T.matrix(dtype=theano.config.floatX)
m_normalized = m / m.sum(axis=1).reshape((m.shape[0], 1))

f = theano.function([m], m_normalized)

import numpy as np
a = np.exp(np.random.randn(5, 10)).astype(theano.config.floatX)

b = f(a)
c = a / a.sum(axis=1)[:, np.newaxis]

from numpy.testing import assert_array_equal
assert_array_equal(b, c)

关于python - 在theano中按行规范化矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28427416/

相关文章:

python - 为什么我的简单 python 列表在 for 循环中重置为 None ?

matrix - 伊莎贝尔:莱布尼茨公式的问题

machine-learning - Caffe的输入数据标准化

mysql - 街道地址的最佳标准化是什么?

python - `for` 循环到PyTorch中的多维数组

Python:如何将输出捕获到文本文件? (现在只捕获了 530 行中的 25 行)

python - 处理导入的模块异常

arrays - 查找按升序排序的矩阵的列索引和行索引

组织矩阵以使邻居最接近的算法

mysql - 自动表规范化