python - Tensorflow 上的多元回归

标签 python machine-learning tensorflow

我是 StackOverflow 的新手,所以如果我说了一些愚蠢的话,请原谅我。我在 tensorflow 库中编写这个多元线性回归,但由于某种原因它不起作用,损失只是增加然后变成无。

# coding: utf-8

import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import seaborn as sns
get_ipython().magic('matplotlib inline')

from sklearn.datasets import load_boston    

data=load_boston()

X_data = data.data
y_data = data.target
m = len(X_data)
n = len(X_data[0])

X = tf.placeholder(tf.float32,[m,n])
y = tf.placeholder(tf.float32,[m,1])

W = tf.Variable(tf.ones([n,1]))
b = tf.Variable(tf.ones([1]))

y_ = tf.matmul(X,W)+b

loss = tf.reduce_mean(tf.square( y - y_))

optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)

with tf.Session() as sess:
    init = tf.global_variables_initializer()
    sess.run(init)
    vals = []
    for i in range(100):
        val = sess.run([train,loss],feed_dict={X:X_data , y:y_data[:,None]})
        vals.append(val)

print(vals)

输出是:

[[None, 823712.88],
 [None, 3.2238912e+13],
 [None, 1.2631078e+21],
 [None, 4.9488092e+28],
 [None, 1.9389255e+36],
 [None, inf],
 [None, inf],
 [None, inf],
 [None, inf],
 [None, inf],
 [None, inf],
 [None, nan],
 [None, nan],
 [None, nan],
 [None, nan],
 [None, nan],
...
 [None, nan],
 [None, nan]]

我找不到哪里出错了...帮忙吗?有人吗?

最佳答案

看来你的学习率太高了。如果你将学习率降低到 1e-6 这样的值,它就会收敛。

关于python - Tensorflow 上的多元回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45262280/

相关文章:

machine-learning - TensorFlow 和 MNIST 数据集

tensorflow - 是否可以提取 tensorflow 中回归预测的置信值?

python - 自定义损失函数: NotImplementedError: Cannot convert a symbolic Tensor (truediv_2:0) to a numpy array

python - 如何使用高级完整文件搜索

python - numpy 顺序依赖吗?

python - 调用 tf.session.run 变慢

python - 如何在 Pytorch 中迭代层

c++ - 如何使用纯 C++ API 保存和恢复神经网络 (ClientSession)?

tensorflow - 如何在tensorflow中将输入更改为OP

python - 格式化字符串未使用的命名参数