在tensorflow中進行線性回歸處理重點是將樣本和樣本特徵矩陣化。
單特徵回歸模型為:y=
wx+b
構建模型
x = tf.placeholder(tf.float32, [none, 1])
w = tf.variable(tf.zeros([1, 1]))
b = tf.variable(tf.zeros([1]))
y = tf.matmul(x, w) + b
y = tf.placeholder(tf.float32, [none, 1])
構建成本函式
cost = tf.reduce_mean(tf.square(y-y))
梯度下降最小化成本函式,梯度下降步長為0.01
train_step = tf.train
.gradientdescentoptimizer(0.01).minimize(cost)
完整**,迭代次數為10000
import tensorflow as tf
x = tf.placeholder(tf.float32, [none, 1])
w = tf.variable(tf.zeros([1, 1]))
b = tf.variable(tf.zeros([1]))
y = tf.matmul(x, w) + b
y = tf.placeholder(tf.float32, [none, 1])
# 成本函式 sum(sqr(y_-y))/n
cost = tf.reduce_mean(tf.square(y-y))
# 用梯度下降訓練
train_step = tf.train.gradientdescentoptimizer(0.01).minimize(cost)
init = tf.initialize_all_variables()
sess = tf.session()
sess.run(init)
x_train = [[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]
y_train = [[10],[11.5],[12],[13],[14.5],[15.5],[16.8],[17.3],[18],[18.7]]
for i in range(10000):
sess.run(train_step, feed_dict=)
print("w:%f" % sess.run(w))
print("b:%f" % sess.run(b))
多特徵回歸模型為:y=
(w1x
1+w2
x2+.
..+w
nxn)
+b,寫為y=w
x+b。
y為m行1列矩陣,x為m行n列矩陣,w為n行1列矩陣。tensorflow中用如下來表示模型。
構建模型
x = tf.placeholder(tf.float32, [none, n])
w = tf.variable(tf.zeros([n, 1]))
b = tf.variable(tf.zeros([1]))
y = tf.matmul(x, w) + b
y = tf.placeholder(tf.float32, [none, 1])
構建成本函式
cost = tf.reduce_mean(tf.square(y-y))
梯度下降最小化成本函式,梯度下降步長為0.01
train_step = tf.train
.gradientdescentoptimizer(0.01).minimize(cost)
完整**,迭代次數為10000
import tensorflow as tf
x = tf.placeholder(tf.float32, [none, 2])
w = tf.variable(tf.zeros([2, 1]))
b = tf.variable(tf.zeros([1]))
y = tf.matmul(x, w) + b
y = tf.placeholder(tf.float32, [none, 1])
# 成本函式 sum(sqr(y_-y))/n
cost = tf.reduce_mean(tf.square(y-y))
# 用梯度下降訓練
train_step = tf.train.gradientdescentoptimizer(0.01).minimize(cost)
init = tf.initialize_all_variables()
sess = tf.session()
sess.run(init)
x_train = [[1, 2], [2, 1], [2, 3], [3, 5], [1, 3], [4, 2], [7, 3], [4, 5], [11, 3], [8, 7]]
y_train = [[7], [8], [10], [14], [8], [13], [20], [16], [28], [26]]
for i in range(10000):
sess.run(train_step, feed_dict=)
print("w0:%f" % sess.run(w[0]))
print("w1:%f" % sess.run(w[1]))
print("b:%f" % sess.run(b))
*****===廣告時間*****===
鄙人的新書《tomcat核心設計剖析》已經在京東銷售了,有需要的朋友可以到 進行預定。感謝各位朋友。
為什麼寫《tomcat核心設計剖析》
TensorFlow訓練Logistic回歸
如下圖,可以清晰看到線性回歸和邏輯回歸的關係,乙個線性方程被邏輯方程歸一化後就成了邏輯回歸。對於二分類,輸出假如線性回歸模型為,則要將z轉成y,即y g z 於是最直接的方式是用單位階躍函式來表示,即 如圖,但階躍函式不連續,於是用sigmoid函式替代之,為 如圖,則有,即logistics函式,...
Tensorflow訓練迴圈
def fit loop model,inputs,targets,sample weights none,class weight none,val inputs none,val targets none,val sample weights none,batch size none,epoch...
tensorflow 資料訓練
一 資料訓練遇到問題 excle資料,如何進行訓練?excle資料,如何resize 呢?目前思路 tfrecords 採用 numpy的方法進行處理 學習方法 從檔案中讀取資料 標準化格式tfrecords記錄 二 資料預處理 numpy 不能有中文,要採用decode等方法 不能夠有百分號?目前...