Responses - macdonaldchirara/SureStart_VAILTraining GitHub Wiki

Welcome to the SureStart_VAILTraining wiki!

I'll share my reflections, experience, and answers to each activity during this wiki training.

* 08/02/2021: Day 1

This marketed the start of my SureStart journey as a trainee. I attended the introductory meeting where I had the opportunity to meet the amazing Surestart team, my fellow trainees, and the mentors. I hope to gain and learn the following from the program:

  1. Fundamentals of AL.
  2. Fundamentals of ML.
  3. Collaboration through working in a team.
  4. Networking with people from different parts of the work.
  5. Using the knowledge I can from the program to solve real-life challenges.

* 09/02/2021: Day 2

Q. 1. What is the difference between supervised and unsupervised learning?

A. 1. The difference between supervised and unsupervised learning is that in supervised learning, the program is trained on a pre-defined set of examples, which then facilitate its ability to reach an accurate conclusion when given new data, a supervised learning algorithm learns from labeled training data, helps you to predict outcomes for unforeseen data, whilst unsupervised machine learning is when the program is given a bunch of data and must find patterns and relationships therein, It mainly deals with the unlabelled data.

Q. 2. Describe why the following statement is FALSE: Scikit-Learn has the power to visualize data without Graphviz, Pandas, or other data analysis libraries.

A. 2. This is because Scikit-learn is built on top of data analysis libraries.

* 10/02/2021 Day 3

Q.What are Tensors? A. Tensors are a type of data structure used in linear algebra, and like vectors and matrices, you can calculate arithmetic operations with tensors. A tensor has a dynamical property that makes it unique or distinguished from mere matrices; if you apply a transformation to the structure's entities in a regular way, the tensor must obey a related transformation rule. A keynote here is any rank-2 tensor can be represented as a matrix, but not every matrix is a rank-2 tensor. A tensor notation is much like a matrix notation with a capital letter representing a tensor and lowercase letters with subscript integers representing scalar values within the tensor.

Q. What did you notice about the computations that you ran in the TensorFlow programs (i.e., interactive models) in the tutorial? A. The element-wise addition of two tensors with the same dimensions results in a new tensor with the exact measurements. Each scalar value is the element-wise addition of the parent tensors' scalars.

*16/02/2021 Day 9

Q. How do you think Machine Learning or AI concepts were utilized in the design of this game?

A. In the game design, the common concepts of ML were utilized as there is the teaching of computers on how to make decisions by learning from data provided by the user. The game also showed that a situation such as a machine bias would arise if insufficient data is provided.

Q. Can you give a real-world example of a biased machine learning model and share your ideas on how you make this model more fair, inclusive, and equitable? Please reflect on why you selected this specific biased model

A. Amazon is one of the world's largest tech giants and uses machine learning and artificial intelligence in their hiring process. In 2015, Amazon realized that its algorithm for hiring employees was biased against women. The reason for that was because the algorithm was based on the number of resumes submitted over the past ten years, and since most of the applicants were men, it was trained to favor men over women.

I would make this model fair by ensuring that all the datasets resemble real-world scenarios in terms of statistics.

*17/02/2021 Day 10

Q. Succinctly list the differences between a Convolutional Neural Network and a Fully Connected Neural Network. Discuss layers and their role and applications of each of the two types of architectures.

A fully connected neural network consists of a series of fully connected layers that connect every neuron in one layer to every neuron in the other layer. The major advantage of fully connected networks is that they are “structure agnostic,” i.e., no special assumptions need to be made about the input. While structure agnostic makes fully connected networks very broadly applicable, such networks tend to have weaker performance than special-purpose networks tuned to a problem space structure.

A Convolutional Neural Network (CNN) is a type of neural network specializing in image recognition and computer vision tasks. A convolutional neural network leverages the fact that an image is composed of smaller details or features and creates a mechanism for analyzing each feature in isolation, which informs a decision about the image as a whole.

CNN Architecture: Types of Layers

Convolutional Neural Networks have several types of layers:

1)Convolutional layer ━ a “filter” passes over the image, scanning a few pixels at a time and creating a feature map that predicts the class to which each feature belongs.

2)Pooling layer (downsampling)━reduces the amount of information in each feature obtained in the convolutional layer while maintaining the most important information (there are usually several rounds of convolution and pooling).

  1. Fully connected input layer (flatten) ━ takes the output of the previous layers, “flattens” them, and turns them into a single vector that can be an input for the next stage.

  2. The first fully connected layer━takes the feature analysis inputs and applies weights to predict the correct label.

  3. Fully connected output layer━gives the final probabilities for each label.

Fully connected layers in a CNN are not confused with fully connected neural networks – the classic neural network architecture, in which all neurons connect to all neurons in the next layer. Convolutional neural networks enable deep learning for computer vision.

*23/02/2021 Day 16

Q. Write a reflection piece on the advantages of the Rectified Linear activation function, along with one use case.

A. The Rectified Linear Unit or ReLU outputs the value of 0 if it receives any negative input. Still, for any positive value z, it returns that value like a linear function. So it can be written as f(z)=max(0,z).

The rectified linear activation function or ReLU is a piecewise linear function that will output the input directly if it is positive; otherwise, it will output zero. It has become the default activation function for many types of neural networks because a model that uses it is easier to train and often achieves better performance. Also, it Avoids and rectifies vanishing gradient problems.

ReLU has its own set of limitations and disadvantages despite being a better activation function than its other non-linear alternatives:

  1. The function suffers from the dying ReLU problem — For activations correspondent to values of z< 0, the gradient will be 0. The weights will not get adjusted during the gradient descent in backpropagation. That means such neurons will stop responding to variations in error/input, so the output network becomes passive due to added sparsity.
  2. It is best used in between the input and output layers, more specifically within hidden