首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在softmax回归中,权重是一维还是二维?

在softmax回归中,权重是一维还是二维?
EN

Stack Overflow用户
提问于 2018-02-20 00:33:05
回答 1查看 58关注 0票数 0

我从Andrew N.G的coursera课程中学习了ML和DL,每次他谈到线性分类器时,权重都只是一个1-D向量。即使在分配期间,当我们将图像滚动到一维向量(像素* 3)中时,权重仍然是一维向量。

现在,我已经开始阅读O‘’Reilly的“学习TensorFlow”一书,并遇到了第一个示例。tensorflow中的权重初始化略有不同。

这本书是这样写的(第14页):

“因为我们不打算在这一点上使用空间信息,所以我们将把图像像素展开为一个表示为x的长向量(图2-2)。然后,$xw^0 =∑x_i w^0_i$将成为包含数字0的图像的证据(以同样的方式,我们将为其他每个数字,d= 1,...,9提供$w^d$权重向量)。”

以及相应的TensorFlow代码:

代码语言:javascript
复制
data = input_data.read_data_sets(DATA_DIR, one_hot=True)

x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))

y_true = tf.placeholder(tf.float32, [None, 10])
y_pred = tf.matmul(x, W)

为什么权重是二维的。在softmax线性分类器中权重是二维的吗?在coursera课程中,当他教授Softmax线性分类器时,他仍然说权重是1-D。有人能解释这个吗?

EN

回答 1

Stack Overflow用户

发布于 2018-02-20 01:30:58

是的,你是对的,权重是一维的,但这只是一个神经元的权重。如果你考虑一个简单的分层神经网络,它将有一定数量的层(在你的代码中只有1层有10个神经元)。因此,在tensorflow中,权重变量包含整个层的权重,而不是单个神经元的权重,这使其成为一个二维数组。

代码语言:javascript
复制
W = tf.Variable(tf.zeros([784, 10]))

这条线意味着有10个神经元,每个神经元都有一个长度为784的权重数组。在tensorflow中理解这一点的一个经验法则是,权重维度被写为..

代码语言:javascript
复制
W = tf.Variable(tf.zeros([output_of_previous_layer, output_of_current_layer]))

代码语言:javascript
复制
W = tf.Variable(tf.zeros([input_of_current_layer, input_of_next_layer]))

你可以在Intro to Neural Networks上阅读更多关于这方面的内容

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48870370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档