• Home
  • About
  • Services
    • Cloud and DevOps
    • Mobile App Development
    • OpenSource Web Development
    • Website Design & Development
    • Managed Web Hosting Plans
    • Digital Marketing
  • Our Works
  • Contact
Address New York City, NY
Email info@birchbluellc.com
Phone +1 773 340 2244
    • Home
    • About
    • Services
      • Cloud and DevOps
      • Mobile App Development
      • OpenSource Web Development
      • Website Design & Development
      • Managed Web Hosting Plans
      • Digital Marketing
    • Our Works
    • Contact
Birchblue
Birchblue
Address
New York City, NY
Email
info@birchbluellc.com
Phone
+1 773 340 2244
Birchblue
Birchblue
Birchblue
  • Home
  • About
  • Services
    • Cloud and DevOps
    • Mobile App Development
    • OpenSource Web Development
    • Website Design & Development
    • Managed Web Hosting Plans
    • Digital Marketing
  • Our Works
  • Contact

Introduction to Machine Learning and writing the first ML program using Neural Networks | Tensorflow

Birchblue > Blog > IT Services > Introduction to Machine Learning and writing the first ML program using Neural Networks | Tensorflow
  • January 21, 2021
  • birchbluellc
  • IT Services
  • 0

What is Machine Learning?

Machine learning (ML) provides systems the ability to automatically learn and improve from experience without being explicitly programmed. It is seen as a subset of Artificial Intelligence (AI).

There are two stages of ML and they are training and inference (prediction):

  • Stage 1 is the training stage where we train our ML model with some example features and labels.
    • ML models are mathematical functions.
    • When we train a model, we make tiny adjustments to the model, so that the output of the model (mathematical function) is closer to the label for any given input.
    • ML relies on the labeled examples.
  • Stage 2 is the inference stage where we inference or predict from unseen data with a trained model.

Traditionally, there are three ML approaches and they are as follows:

  1. Supervised Learning
    1. This learning approach takes in the inputs/features and outputs/labels to train the model.
    2. Example: Linear Regression, Random Forest, Naive Bayes, etc.
  2. Unsupervised Learning and
    1. This learning approach has only input/features and labels are not given to these algorithms.
    2. Example: K-means clustering, K-Nearest Neighbors, etc.
  3. Reinforcement Learning

 Writing first Machine Learning program?

Now you should know what machine learning is and what are its approaches. Let’s start by writing our first ML model to infer celsius to fahrenheit using the Supervised learning approach.

Let’s say we have a dataset as follows which maps the celsius to fahrenheit

Celsius (X) Farenheit (y)
-40 -40
-10 14
0 32
8 46
15 59
22 72
38 100

Now we have the sample dataset, let’s start by writing Python code to infer fahrenheit from celsius using single layer Neural Networks.

Let’s start by importing dependencies:

import tensorflow as tf

import numpy as np

After importing the dependencies, initialize the input and output.

X    = np.array([-40, -10,  0,  8, 15, 22,  38],  dtype=float)

y   = np.array([-40,  14, 32, 46, 59, 72, 100],  dtype=float)

Now we have the input/feature and output/label pairs, we initialize the single layer neural network using the Dense layer from the tensorflow and wrapping it in the Sequential class that is responsible for grouping the layers:

model = tf.keras.Sequential([

    tf.keras.layers.Dense(input_shape=[1], units=1)

])
The visualization of the above neural network is as follows:

Neural network visualization

The equation of the above neural network can be compared to that of the equation of the celcius to farenheit as follows:

Once we have our neural network initialized, let’s configure our model for training. The compile method of the Model class is responsible for defining loss function, optimizer (ADAM in our case), and metrics:

model.compile(

    loss='mean_squared_error', 

    optimizer=tf.keras.optimizers.Adam(0.1)

)

We have data and neural network setup, now we’ll train the model using the fit method with 500 epochs. The Epochs defines the number of times our model is going to be trained on the training dataset.

model.fit(X, y, epochs=500, verbose=False)

After training the model we’ll infer from new data:

print(model.predict([98, 55]))

Output:

[[208.14742]

 [130.82669]]

Now, let’s check the weights of the neural network by using the get_weights() method as follows:

print(model.get_weights())

Output:

[array([[1.7981565]], dtype=float32), array([31.928087], dtype=float32)]

As you can see from the above result, the weight and bias of the trained model is closer to the value of the celsius to fahrenheit formula. The weight is 1.7981565, and bias is 31.928087 which is closer to 1.8 and 32 respectively.

This blog post should familiarize you with the very basics of writing ML programs and understanding what goes behind the scenes of learning the model.

Recent Posts

  • Open Source Job Report Show More Openings Fewer
  • Introduction to Machine Learning and writing the first ML program using Neural Networks | Tensorflow
  • Necessity May Give Us Your Best Virtual Court System
  • Servo Project Joins The Linux Foundation Fold Desco
  • Servo Project Joins The Linux Foundation Fold Desco

Recent Comments

  • admin on Servo Project Joins The Linux Foundation Fold Desco

Archives

  • January 2021
  • November 2020

Categories

  • Application Testing
  • Artifical Intelligence
  • Digital Technology
  • IT Services
  • Software Development
  • Web Development

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Recent Posts

Open Source Job Report Show More Openings Fewer January 21, 2021
Introduction to Machine Learning and writing the first ML program using Neural Networks | Tensorflow January 21, 2021
Necessity May Give Us Your Best Virtual Court System January 21, 2021
Servo Project Joins The Linux Foundation Fold Desco January 21, 2021
Birchblue
BirchBlue LLC is a young, highly innovative studio based in USA. We have a team of experienced designers and programmers who specialize in delivering stylish, highly functional websites.

IT Services

  • Cloud and DevOps
  • Mobile App Developement
  • Web Design & Development
  • OpenSource Web Development
  • Digital Marketing

Contact Info

  • New York City, NY
  • +1 773 340 2244
  • info@birchbluellc.com
  • Opening Hours: 08:00AM - 08:00PM

Newsletter

© 2020 All Rights Reserved. Design & Developed By Birchbluellc

  • Home
  • About
  • Contact