Copyright © 2017, edureka and/or its affiliates. All rights reserved. Rock Or A Mine Prediction TensorFlow Tutorial You have been hired by US navy to create a model, that can detect the difference between a mine and a rock. A naval mine is a self-contained explosive device placed in water to damage or destroy surface ships or submarines.
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Rock Or Mine Prediction We are going to identify whether the obstacle is a Rock or a Mine on the basis of various parameters
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Rock Or A Mine Prediction TensorFlow Tutorial You have been hired by US navy to create a model, that can detect the difference between a mine and a rock. A naval mine is a self-contained explosive device placed in water to damage or destroy surface ships or submarines.
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Rock Or A Mine Prediction In order to train the model, we will use Sonar dataset. The dataset looks like this: TensorFlow Tutorial The label associated with each record contains the letter "R" if the object is a rock and "M" if it is a mine It contains 208 patterns obtained by bouncing sonar signals off a metal cylinder and a rock at various angles and under various conditions.
Copyright © 2017, edureka and/or its affiliates. All rights reserved. How To Create This Model? Let’s see how we will implement this model
Copyright © 2017, edureka and/or its affiliates. All rights reserved. How To Create This Model? TensorFlow Tutorial Start Read the Dataset Define features and labels Divide the dataset into two parts for training and testing TensorFlow data structure for holding features, labels etc.. Implement the model Train the model Reduce MSE (actual output – desired output) End Repeat the process to decrease the loss Pre-processing of dataset Make prediction on the test data TensorFlow Tutorial Encode The Dependent variable
Copyright © 2017, edureka and/or its affiliates. All rights reserved. To Create This Model We Will Use TensorFlow Let’s understand TensorFlow first, but before that let’s look at what are tensors?
Copyright © 2017, edureka and/or its affiliates. All rights reserved. What Are Tensors?  Tensors are the standard way of representing data in TensorFlow (deep learning).  Tensors are multidimensional arrays, an extension of two-dimensional tables (matrices) to data with higher dimension. Tensor of dimension[1] Tensor of dimensions[2] Tensor of dimensions[3] TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Tensors Rank TensorFlow Tutorial Rank Math Entity Python Example 0 Scalar (magnitude only) s = 483 1 Vector (magnitude and direction) v = [1.1, 2.2, 3.3] 2 Matrix (table of numbers) m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 3 3-Tensor (cube of numbers) t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18 ]]] n n-Tensor (you get the idea) ....
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Tensor Data Types In addition to dimensionality Tensors have different data types as well, you can assign any one of these data types to a Tensor TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. What Is TensorFlow? Now, is the time explore TensorFlow.
Copyright © 2017, edureka and/or its affiliates. All rights reserved. What Is TensorFlow?  TensorFlow is a Python library used to implement deep networks.  In TensorFlow, computation is approached as a dataflow graph. 3.2 -1.4 5.1 … -1.0 -2 2.4 … … … … … … … … … Tensor Flow Matmul W X Add Relu B Computational Graph Functions Tensors TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. TensorFlow Code-Basics Let’s understand the fundamentals of TensorFlow
Copyright © 2017, edureka and/or its affiliates. All rights reserved. TensorFlow Code-Basics TensorFlow core programs consists of two discrete sections: Building a computational graph Running a computational graph A computational graph is a series of TensorFlow operations arranged into a graph of nodes TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. TensorFlow Building And Running A Graph Building a computational graph Running a computational graph import tensorflow as tf node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) print(node1, node2) Constant nodes sess = tf.Session() print(sess.run([node1, node2])) To actually evaluate the nodes, we must run the computational graph within a session. As the session encapsulates the control and state of the TensorFlow runtime. TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Tensorflow Example a 5.0 Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Computational Graph TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Tensorflow Example a b 5.0 6.0 Const Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Computational Graph TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Tensorflow Example a b c 5.0 6.0 Const Mul Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Computational Graph TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Tensorflow Example a b c 5.0 6.0 Const Mul 30.0 Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Running The Computational Graph TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Graph Visualization
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Graph Visualization  For visualizing TensorFlow graphs, we use TensorBoard.  The first argument when creating the FileWriter is an output directory name, which will be created if it doesn't exist. File_writer = tf.summary.FileWriter('log_simple_graph', sess.graph) TensorBoard runs as a local web app, on port 6006. (this is default port, “6006” is “ ” upside-down.)oo TensorFlow Tutorial tensorboard --logdir = “path_to_the_graph” Execute this command in the cmd
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Constants, Placeholders and Variables Let’s understand what are constants, placeholders and variables
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Constant One type of a node is a constant. It takes no inputs, and it outputs a value it stores internally. import tensorflow as tf node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) print(node1, node2) Constant nodes Constant Placeholder Variable TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Constant One type of a node is a constant. It takes no inputs, and it outputs a value it stores internally. import tensorflow as tf node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) print(node1, node2) Constant nodes Constant Placeholder Variable What if I want the graph to accept external inputs? TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Placeholder Constant Placeholder Variable A graph can be parameterized to accept external inputs, known as placeholders. A placeholder is a promise to provide a value later. TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Placeholder Constant Placeholder Variable A graph can be parameterized to accept external inputs, known as placeholders. A placeholder is a promise to provide a value later. How to modify the graph, if I want new output for the same input ? TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Variable Constant Placeholder Variable To make the model trainable, we need to be able to modify the graph to get new outputs with the same input. Variables allow us to add trainable parameters to a graph TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Let Us Now Create A Model
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Simple Linear Model import tensorflow as tf W = tf.Variable([.3], tf.float32) b = tf.Variable([-.3], tf.float32) x = tf.placeholder(tf.float32) linear_model = W * x + b init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) print(sess.run(linear_model, {x:[1,2,3,4]})) We've created a model, but we don't know how good it is yet TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. How To Increase The Efficiency Of The Model? Calculate the loss Model Update the Variables Repeat the process until the loss becomes very small A loss function measures how far apart the current model is from the provided data. TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Calculating The Loss In order to understand how good the Model is, we should know the loss/error. To evaluate the model on training data, we need a y i.e. a placeholder to provide the desired values, and we need to write a loss function. We'll use a standard loss model for linear regression. (linear_model – y ) creates a vector where each element is the corresponding example's error delta. tf.square is used to square that error. tf.reduce_sum is used to sum all the squared error. y = tf.placeholder(tf.float32) squared_deltas = tf.square(linear_model - y) loss = tf.reduce_sum(squared_deltas) print(sess.run(loss, {x:[1,2,3,4], y:[0,-1,-2,-3]})) TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Reducing The Loss Optimizer modifies each variable according to the magnitude of the derivative of loss with respect to that variable. Here we will use Gradient Descent Optimizer How Gradient Descent Actually Works? Let’s understand this with an analogy TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Reducing The Loss • Suppose you are at the top of a mountain, and you have to reach a lake which is at the lowest point of the mountain (a.k.a valley). • A twist is that you are blindfolded and you have zero visibility to see where you are headed. So, what approach will you take to reach the lake? TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Reducing The Loss • The best way is to check the ground near you and observe where the land tends to descend. • This will give an idea in what direction you should take your first step. If you follow the descending path, it is very likely you would reach the lake. Consider the length of the step as learning rate Consider the position of the hiker as weight Consider the process of climbing down the mountain as cost function/loss function TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Reducing The Loss Global Cost/Loss Minimum Jmin(w) J(w) Let us understand the math behind Gradient Descent TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: The magnitude and direction of the weight update is computed by taking a step in the opposite direction of the cost gradient TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: The magnitude and direction of the weight update is computed by taking a step in the opposite direction of the cost gradient The weights are then updated after each epoch via the following update rule: TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: The magnitude and direction of the weight update is computed by taking a step in the opposite direction of the cost gradient The weights are then updated after each epoch via the following update rule: Here, Δw is a vector that contains the weight updates of each weight coefficient w, which are computed as follows: TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Reducing The Loss Suppose, we want to find the best parameters (W) for our learning algorithm. We can apply the same analogy and find the best possible values for that parameter. Consider the example below: optimizer = tf.train.GradientDescentOptimizer(0.01) train = optimizer.minimize(loss) sess.run(init) for i in range(1000): sess.run(train, {x:[1,2,3,4], y:[0,-1,-2,-3]}) print(sess.run([W, b])) TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Implementation Of The Use-Case
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Implementation Of The Use-Case Start Read the Dataset Define features and labels Encode The Dependent variable Divide the dataset into two parts for training and testing Pre-processing of dataset TensorFlow Tutorial
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Implementation Of The Use-Case Start Read the Dataset Define features and labels Divide the dataset into two parts for training and testing TensorFlow data structure for holding features, labels etc.. Implement the model Train the model Reduce MSE (actual output – desired output) End Repeat the process to decrease the loss Pre-processing of dataset Make prediction on the test data TensorFlow Tutorial Encode The Dependent variable
Copyright © 2017, edureka and/or its affiliates. All rights reserved. Session In A Minute Use-Case What Are Tensors? What Is TensorFlow? TensorFlow Code-Basics TensorFlow Datastructures Implementation Of The Use-Case
TensorFlow Tutorial | Deep Learning Using TensorFlow | TensorFlow Tutorial Python | Edureka

TensorFlow Tutorial | Deep Learning Using TensorFlow | TensorFlow Tutorial Python | Edureka

  • 1.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Rock Or A Mine Prediction TensorFlow Tutorial You have been hired by US navy to create a model, that can detect the difference between a mine and a rock. A naval mine is a self-contained explosive device placed in water to damage or destroy surface ships or submarines.
  • 2.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Rock Or Mine Prediction We are going to identify whether the obstacle is a Rock or a Mine on the basis of various parameters
  • 3.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Rock Or A Mine Prediction TensorFlow Tutorial You have been hired by US navy to create a model, that can detect the difference between a mine and a rock. A naval mine is a self-contained explosive device placed in water to damage or destroy surface ships or submarines.
  • 4.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Rock Or A Mine Prediction In order to train the model, we will use Sonar dataset. The dataset looks like this: TensorFlow Tutorial The label associated with each record contains the letter "R" if the object is a rock and "M" if it is a mine It contains 208 patterns obtained by bouncing sonar signals off a metal cylinder and a rock at various angles and under various conditions.
  • 5.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. How To Create This Model? Let’s see how we will implement this model
  • 6.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. How To Create This Model? TensorFlow Tutorial Start Read the Dataset Define features and labels Divide the dataset into two parts for training and testing TensorFlow data structure for holding features, labels etc.. Implement the model Train the model Reduce MSE (actual output – desired output) End Repeat the process to decrease the loss Pre-processing of dataset Make prediction on the test data TensorFlow Tutorial Encode The Dependent variable
  • 7.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. To Create This Model We Will Use TensorFlow Let’s understand TensorFlow first, but before that let’s look at what are tensors?
  • 8.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. What Are Tensors?  Tensors are the standard way of representing data in TensorFlow (deep learning).  Tensors are multidimensional arrays, an extension of two-dimensional tables (matrices) to data with higher dimension. Tensor of dimension[1] Tensor of dimensions[2] Tensor of dimensions[3] TensorFlow Tutorial
  • 9.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Tensors Rank TensorFlow Tutorial Rank Math Entity Python Example 0 Scalar (magnitude only) s = 483 1 Vector (magnitude and direction) v = [1.1, 2.2, 3.3] 2 Matrix (table of numbers) m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 3 3-Tensor (cube of numbers) t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18 ]]] n n-Tensor (you get the idea) ....
  • 10.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Tensor Data Types In addition to dimensionality Tensors have different data types as well, you can assign any one of these data types to a Tensor TensorFlow Tutorial
  • 11.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. What Is TensorFlow? Now, is the time explore TensorFlow.
  • 12.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. What Is TensorFlow?  TensorFlow is a Python library used to implement deep networks.  In TensorFlow, computation is approached as a dataflow graph. 3.2 -1.4 5.1 … -1.0 -2 2.4 … … … … … … … … … Tensor Flow Matmul W X Add Relu B Computational Graph Functions Tensors TensorFlow Tutorial
  • 13.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. TensorFlow Code-Basics Let’s understand the fundamentals of TensorFlow
  • 14.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. TensorFlow Code-Basics TensorFlow core programs consists of two discrete sections: Building a computational graph Running a computational graph A computational graph is a series of TensorFlow operations arranged into a graph of nodes TensorFlow Tutorial
  • 15.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. TensorFlow Building And Running A Graph Building a computational graph Running a computational graph import tensorflow as tf node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) print(node1, node2) Constant nodes sess = tf.Session() print(sess.run([node1, node2])) To actually evaluate the nodes, we must run the computational graph within a session. As the session encapsulates the control and state of the TensorFlow runtime. TensorFlow Tutorial
  • 16.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Tensorflow Example a 5.0 Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Computational Graph TensorFlow Tutorial
  • 17.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Tensorflow Example a b 5.0 6.0 Const Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Computational Graph TensorFlow Tutorial
  • 18.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Tensorflow Example a b c 5.0 6.0 Const Mul Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Computational Graph TensorFlow Tutorial
  • 19.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Tensorflow Example a b c 5.0 6.0 Const Mul 30.0 Constimport tensorflow as tf # Build a graph a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session sess = tf.Session() # Evaluate the tensor 'C' print(sess.run(c)) Running The Computational Graph TensorFlow Tutorial
  • 20.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Graph Visualization
  • 21.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Graph Visualization  For visualizing TensorFlow graphs, we use TensorBoard.  The first argument when creating the FileWriter is an output directory name, which will be created if it doesn't exist. File_writer = tf.summary.FileWriter('log_simple_graph', sess.graph) TensorBoard runs as a local web app, on port 6006. (this is default port, “6006” is “ ” upside-down.)oo TensorFlow Tutorial tensorboard --logdir = “path_to_the_graph” Execute this command in the cmd
  • 22.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Constants, Placeholders and Variables Let’s understand what are constants, placeholders and variables
  • 23.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Constant One type of a node is a constant. It takes no inputs, and it outputs a value it stores internally. import tensorflow as tf node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) print(node1, node2) Constant nodes Constant Placeholder Variable TensorFlow Tutorial
  • 24.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Constant One type of a node is a constant. It takes no inputs, and it outputs a value it stores internally. import tensorflow as tf node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) print(node1, node2) Constant nodes Constant Placeholder Variable What if I want the graph to accept external inputs? TensorFlow Tutorial
  • 25.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Placeholder Constant Placeholder Variable A graph can be parameterized to accept external inputs, known as placeholders. A placeholder is a promise to provide a value later. TensorFlow Tutorial
  • 26.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Placeholder Constant Placeholder Variable A graph can be parameterized to accept external inputs, known as placeholders. A placeholder is a promise to provide a value later. How to modify the graph, if I want new output for the same input ? TensorFlow Tutorial
  • 27.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Variable Constant Placeholder Variable To make the model trainable, we need to be able to modify the graph to get new outputs with the same input. Variables allow us to add trainable parameters to a graph TensorFlow Tutorial
  • 28.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Let Us Now Create A Model
  • 29.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Simple Linear Model import tensorflow as tf W = tf.Variable([.3], tf.float32) b = tf.Variable([-.3], tf.float32) x = tf.placeholder(tf.float32) linear_model = W * x + b init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) print(sess.run(linear_model, {x:[1,2,3,4]})) We've created a model, but we don't know how good it is yet TensorFlow Tutorial
  • 30.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. How To Increase The Efficiency Of The Model? Calculate the loss Model Update the Variables Repeat the process until the loss becomes very small A loss function measures how far apart the current model is from the provided data. TensorFlow Tutorial
  • 31.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Calculating The Loss In order to understand how good the Model is, we should know the loss/error. To evaluate the model on training data, we need a y i.e. a placeholder to provide the desired values, and we need to write a loss function. We'll use a standard loss model for linear regression. (linear_model – y ) creates a vector where each element is the corresponding example's error delta. tf.square is used to square that error. tf.reduce_sum is used to sum all the squared error. y = tf.placeholder(tf.float32) squared_deltas = tf.square(linear_model - y) loss = tf.reduce_sum(squared_deltas) print(sess.run(loss, {x:[1,2,3,4], y:[0,-1,-2,-3]})) TensorFlow Tutorial
  • 32.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Reducing The Loss Optimizer modifies each variable according to the magnitude of the derivative of loss with respect to that variable. Here we will use Gradient Descent Optimizer How Gradient Descent Actually Works? Let’s understand this with an analogy TensorFlow Tutorial
  • 33.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Reducing The Loss • Suppose you are at the top of a mountain, and you have to reach a lake which is at the lowest point of the mountain (a.k.a valley). • A twist is that you are blindfolded and you have zero visibility to see where you are headed. So, what approach will you take to reach the lake? TensorFlow Tutorial
  • 34.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Reducing The Loss • The best way is to check the ground near you and observe where the land tends to descend. • This will give an idea in what direction you should take your first step. If you follow the descending path, it is very likely you would reach the lake. Consider the length of the step as learning rate Consider the position of the hiker as weight Consider the process of climbing down the mountain as cost function/loss function TensorFlow Tutorial
  • 35.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Reducing The Loss Global Cost/Loss Minimum Jmin(w) J(w) Let us understand the math behind Gradient Descent TensorFlow Tutorial
  • 36.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: TensorFlow Tutorial
  • 37.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: The magnitude and direction of the weight update is computed by taking a step in the opposite direction of the cost gradient TensorFlow Tutorial
  • 38.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: The magnitude and direction of the weight update is computed by taking a step in the opposite direction of the cost gradient The weights are then updated after each epoch via the following update rule: TensorFlow Tutorial
  • 39.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Batch Gradient Descent The weights are updated incrementally after each epoch. The cost function J(⋅), the sum of squared errors (SSE), can be written as: The magnitude and direction of the weight update is computed by taking a step in the opposite direction of the cost gradient The weights are then updated after each epoch via the following update rule: Here, Δw is a vector that contains the weight updates of each weight coefficient w, which are computed as follows: TensorFlow Tutorial
  • 40.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Reducing The Loss Suppose, we want to find the best parameters (W) for our learning algorithm. We can apply the same analogy and find the best possible values for that parameter. Consider the example below: optimizer = tf.train.GradientDescentOptimizer(0.01) train = optimizer.minimize(loss) sess.run(init) for i in range(1000): sess.run(train, {x:[1,2,3,4], y:[0,-1,-2,-3]}) print(sess.run([W, b])) TensorFlow Tutorial
  • 41.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Implementation Of The Use-Case
  • 42.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Implementation Of The Use-Case Start Read the Dataset Define features and labels Encode The Dependent variable Divide the dataset into two parts for training and testing Pre-processing of dataset TensorFlow Tutorial
  • 43.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Implementation Of The Use-Case Start Read the Dataset Define features and labels Divide the dataset into two parts for training and testing TensorFlow data structure for holding features, labels etc.. Implement the model Train the model Reduce MSE (actual output – desired output) End Repeat the process to decrease the loss Pre-processing of dataset Make prediction on the test data TensorFlow Tutorial Encode The Dependent variable
  • 44.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Session In A Minute Use-Case What Are Tensors? What Is TensorFlow? TensorFlow Code-Basics TensorFlow Datastructures Implementation Of The Use-Case