खोज…


परिचय

पारंपरिक आंकड़ों में व्यापक रूप से उपयोग किया जाने वाला मॉडल रैखिक प्रतिगमन मॉडल है। इस अनुच्छेद में, उद्देश्य इस प्रकार के मॉडल के चरण-दर-चरण कार्यान्वयन का पालन करना है। हम एक सरल रैखिक प्रतिगमन संरचना का प्रतिनिधित्व करने जा रहे हैं।

हमारे अध्ययन के लिए, हम x अक्ष पर बच्चों की आयु और y अक्ष पर बच्चों की ऊंचाई का विश्लेषण करेंगे। हम बच्चों की ऊंचाई का अनुमान लगाने की कोशिश करेंगे, उनकी उम्र का उपयोग करते हुए, सरल रैखिक प्रतिगमन लागू करेंगे। [TF में सबसे अच्छा डब्ल्यू और बी खोज रहे हैं]

पैरामीटर

पैरामीटर विवरण
train_X जानकारी के एक्स आयाम के साथ एनपी सरणी
train_Y जानकारी के y आयाम के साथ np सरणी

टिप्पणियों

मैंने मॉडल, लागत, ट्रेन और सक्रियण तत्वों के कुछ हिस्सों के व्यवहार को ट्रैक करने के लिए TensorBoard sintaxis का उपयोग किया।

with tf.name_scope("") as scope:

उपयोग किए गए आयात:

import numpy as np
import tensorflow as tf

उपयोग किए गए एप्लिकेशन और भाषा का प्रकार:

मैंने उदाहरण का प्रतिनिधित्व करने के लिए पायथन में विकसित एक पारंपरिक कंसोल कार्यान्वयन एप्लिकेशन प्रकार का उपयोग किया है।


उपयोग किए गए TensorFlow के संस्करण:

1.0.1


वैचारिक अकादमिक उदाहरण / संदर्भ यहाँ से निकाला गया:

सरल प्रतिगमन फ़ंक्शन कोड संरचना

कार्य की परिभाषा:

def run_training(train_X, train_Y):

इनपुट चर:

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

वजन और पूर्वाग्रह प्रतिनिधित्व

W = tf.Variable(tf.zeros([n, 1], dtype=np.float32), name="weight")
b = tf.Variable(tf.zeros([1], dtype=np.float32), name="bias")

रैखिक मॉडल:

with tf.name_scope("linear_Wx_b") as scope:
    activation = tf.add(tf.matmul(X, W), b)

लागत:

with tf.name_scope("cost") as scope:
    cost = tf.reduce_sum(tf.square(activation - Y)) / (2 * m)
    tf.summary.scalar("cost", cost)

प्रशिक्षण:

with tf.name_scope("train") as scope:
    optimizer = tf.train.GradientDescentOptimizer(0.07).minimize(cost)

TensorFlow सत्र:

with tf.Session() as sess:
    merged = tf.summary.merge_all()
    writer = tf.summary.FileWriter(log_file, sess.graph)

नोट: विलय और लेखक मॉडल व्यवहार को ट्रैक करने के लिए टेन्सरबॉर्ड रणनीति का हिस्सा हैं।


    init = tf.global_variables_initializer()
    sess.run(init)

प्रशिक्षण लूप को 1.5k बार दोहराते हुए:

    for step in range(1500):
       result, _ = sess.run([merged, optimizer], feed_dict={X: np.asarray(train_X), Y: np.asarray(train_Y)})
       writer.add_summary(result, step)

प्रिंट प्रशिक्षण लागत:

    training_cost = sess.run(cost, feed_dict={X: np.asarray(train_X), Y: np.asarray(train_Y)})
    print "Training Cost: ", training_cost, "W=", sess.run(W), "b=", sess.run(b), '\n'

प्रशिक्षित मॉडल के आधार पर ठोस भविष्यवाणी:

    print "Prediction for 3.5 years"
    predict_X = np.array([3.5], dtype=np.float32).reshape([1, 1])

    predict_X = (predict_X - mean) / std
    predict_Y = tf.add(tf.matmul(predict_X, W), b)
    print "Child height(Y) =", sess.run(predict_Y)

मुख्य दिनचर्या

def main():
    train_X, train_Y = read_data()
    train_X = feature_normalize(train_X)
    run_training(train_X, train_Y)

नोट: समीक्षा कार्यों निर्भरता याद रखें। read_data , feature_normalize and run_training

सामान्यीकरण दिनचर्या

def feature_normalize(train_X):
    global mean, std
    mean = np.mean(train_X, axis=0)
    std = np.std(train_X, axis=0)

    return np.nan_to_num((train_X - mean) / std)

डेटा रूटीन पढ़ें

def read_data():
    global m, n

    m = 50
    n = 1

    train_X = np.array(

सरणी के लिए आंतरिक डेटा

    ).astype('float32')

    train_Y = np.array(

सरणी के लिए आंतरिक डेटा

    ).astype('float32')

    return train_X, train_Y


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow