我正在设计回归网络,以预测一个人体重从10到100公斤。我的数据集有50个训练数据
['World', '282,911,404', '67,284,637']
['Equatorial Guinea', '146,027,530', '40,493,766']
['Trinidad and Tobago', '136,883,464', '26,790,695']
['Japan', '410', '176']
因此,我的数据集大小为Vector 1: 1024x1 corresponding to 40kg
Vector 2: 1024x1 corresponding to 20kg
Vector 3: 1024x1 corresponding to 40kg
...
Vector 50: 1024x1 corresponding to 30kg
,标签大小为1024x50
。如果我设计一个简单的线性回归,例如1x50
,那么y=xW+b
和W
的大小将是
b
我是对的吗?
这是我的张量流代码,但它提供了错误的预测
W is 1024x1
b is 1x50
答案 0 :(得分:1)
W是1024x1 b是1x50
我是对的吗?
不,W的形状是正确的,但b应该是标量(1x1矩阵)。在您的方法中,每个数据点都有一个可训练的偏差,这是没有意义的。但是,在您的代码中,它已正确设置为大小为1。
处理矩阵乘法有什么问题,你的模型应该是:
pred = tf.matmul(X, W) + b # you will have to transpose your train_X
tf.multiply是逐点乘法,而不是矩阵乘法。