У меня есть набор данных CSV learningRate = 0,001 эпохами = 2000 BATCHSIZE = 20 DF = PD . read_csv ( "C: \ Пользователи \ Брайан \ Рабочий стол \ data.csv" ) X = df [ df . столбцы [ 0 ]]. значения Y = df [ df . столбцы [ 1 ]]. значения def getBatch ( batchSize , входы , выходы ): idx = np . arange ( 0 , len ( входы )) np . случайный . shuffle ( idx ) idx = idx [: batchSize ] xBatch = [ входы [ i ] для i в idx ] yBatch = [ выходы [ i ] для i в idx ] xBatch = np . перекроить ( xBatch , ( BATCHSIZE , 1 )) возвращение нп . asarray ( xBatch ), np . asarray ( yBatch ) w = tf . Переменная ( 0.0 , tf . Float32 ) b = tf . Переменная ( 0.0 , tf . Float32 ) x = tf . placeholder ( tf . float32 ) y = tf . placeholder ( tf . float32 ) prediction = tf . add ( tf . multiply ( x , w ), b ) cost = tf . reduce_sum ( tf . square ( прогноз - y )) optimizer = tf . поезд . GradientDescentOptimizer ( learningRate ). минимизировать ( стоимость ) init = tf . global_variables_initializer () с tf . Сессия () как sess : sess . run ( init ) для эпохи в диапазоне ( эпох ): xBatch , yBatch = getBatch ( batchSize , X , Y ) #for (trainX, trainingY) в zip (xBatch, yBatch): sess . run ( optimizer , feed_dict = { x : xBatch , y : yBatch }) if ( epoch + 1 ) % 50 == 0 : c = sess . run ( cost , feed_dict = { x : X , y : Y }) print ( "Epoch:" , ( epoch + 1 ), "cost =" , "{: .4f}" . format ( c ), "w = " , sess . run ( w ), " b = " , sess . run ( b )) print ( " Optimization Finished " ) trainingCost = sess . run ( cost , feed_dict = { x : X , y : Y }) print ( "Стоимость обучения =" , trainingCost , "w =" , sess . run ( w ), "b =" , sess . run ( b )) с двумя столбцами, столбцом ввода и вывода и sess.run (optimizer, feed_dict = {x: xBatch, y: yBatch}), и я использую Excel для поиска линии тренда, я получаю:
y = -0,4571x + 0,9011
w - = learningRate *, когда я запускаю код follodwing w и сходится к разным значениям в зависимости от скорости обучения и размера партии, которую я выбираю. Я без особых усилий играл с разными ценностями. Может, мне что-то не хватает?
Стоимость также не меняется.
learningRate
python,tensorflow,linear-regression,