CS3491 AIML Lab Final
CS3491 AIML Lab Final
DEPARTMENT OF
ELECTRONICS & COMMUNICATION ENGINEERING
SIXTH SEMESTER
RECORD
NAME :
SEMESTER / YEAR :
BRANCH :
REGISTER NUMBER :
DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING
INSTITUTE VISION:
To emerge as a Premier Institute for developing industry ready engineers with competency, initiative and
character to meet the challenges in global environment.
INSTITUTE MISSION:
To impart state-of-the-art engineering and professional education through strong theoretical basics and hands on
training to students in their choice of field.
To serve our students by teaching them leadership, entrepreneurship, teamwork, values, quality, ethics and
respect for others.
DEPARTMENT VISION
Electronics and Communication Engineering department aims to empower the budding engineers with
technological excellence to meet current and imminent challenges in creative research and employment.
DEPARTMENT MISSION
To cater all necessary inputs to excel in electronics knowledge both in theory and practical.
To develop leadership and entrepreneurship qualities with social and ethical values.
To provide the opportunities for innovation & collaborative research with industry.
1. Graduates will have the potential to become globally competent team players and leaders in the allied fields of
electronics and communication engineering
2. Graduates will have the core technical skills and knowledge that will empower them to pursue lifelong learning
and research
3. Graduates will deliver innovative solutions and services to address industrial and societal challenges, upholding
ethical principles and social responsibility.
Program Outcomes (POs)
1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an
engineering specialization to the solution of complex engineering problems.
2. Problem analysis: Identify, formulate, review research literature, and analyze complex engineering problems reaching
substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences.
3. Design/development of solutions: Design solutions for complex engineering problems and design system components
or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural,
societal, and environmental considerations.
4. Conduct investigations of complex problems: Use research-based knowledge and research methods including design
of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools
including prediction and modelling to complex engineering activities with an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety,
legal and cultural issues and the consequent responsibilities relevant to the professional engineering practice.
7. Environment and sustainability: Understand the impact of the professional engineering solutions in societal and
environmental contexts, and demonstrate the knowledge of, and need for sustainable development.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering
practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in
multidisciplinary settings.
10. Communication: Communicate effectively on complex engineering activities with the engineering community and
with society at large, such as, being able to comprehend and write effective reports and design documentation, make
effective presentations, and give and receive clear instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the engineering and management
principles and apply these to one’s own work, as a member and leader in a team, to manage projects and in
multidisciplinary environments.
12. Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-
long learning in the broadest context of technological change.
1. Analyze, Design, Simulate and Integrate Electronic Circuits and Systems for given specifications.
2. Apply the technical knowledge to solve complex problems in the areas like signal processing, Communication,
VLSI design and Embedded Systems.
DEPARTMENT OF ECE
1. Students have to go to respective lab classes according to the lab time table.
3. They have to know about the procedure of the experiment before start doing the
5. They have to write the programme themselves and get the output
6. They have to submit their completed previous experiment record at the time of entering into
the laboratory.
7. After completing the experiment, they have to properly switch off their system.
SYLLABUS
3024
COURSE OBJECTIVES:
The main objectives of this course are to:
• Study about uninformed and Heuristic search techniques.
• Learn techniques for reasoning under uncertainty
• Introduce Machine Learning and supervised learning algorithms
• Study about ensembling and unsupervised learning algorithms
• Learn the basics of deep learning using neural networks
COURSE OUTCOMES: At the end of this course, the students will be able to:
CO1: Apply the techniques like uninformed search strategies, Heuristic search strategies , Local search and optimization
techniques like adversarial search ,constraint satisfaction problems (CSP) for problem solving.
CO2: Apply Bayesian inference and Naive Bayes models for classification, use probabilistic reasoning to model
uncertainties, construct and analyze Bayesian networks, and perform both exact and approximate inference in complex
systems.
CO3:Build diverse machine learning models, including linear regression, logistic regression, naive Bayes, support vector
machines, decision trees, and random forests for various data analysis and classification tasks.
CO4:Make use of ensemble learning techniques like bagging, boosting, and stacking, combine multiple learners through
voting, and apply various unsupervised learning methods, including K-means clustering, KNN, Gaussian mixture models,
and Expectation Maximization, for effective data analysis and pattern recognition.
CO5: Build deep learning neural network models to design and train neural networks, including perceptrons and
multilayer perceptrons, understand activation functions, implement gradient descent optimization techniques, address
issues like vanishing gradients through ReLU and regularization, and perform hyperparameter tuning.
DATE:
AIM:
ALGORITHM:
Step 3:Add the starting node to the queue and the visited set.
Step 4.3 :For each unvisited neighbor of the node, add it to the queue and the visited set.
Step 3:Call a helper function with the starting node and the visited set.
c. For each unvisited neighbor of the node, call the helper function recursively with the neighbor and the visited set.
import collections
# BFS algorithm
def bfs(graph, root):
visited, queue = set(), collections.deque([root])
visited.add(root)
while queue:
# Dequeue a vertex from queue
vertex = queue.popleft()
print(str(vertex) + " ", end="")
if __name__ == '__main__':
graph = {0: [1, 2], 1: [2], 2: [3], 3: [1, 2]}
print("Following is Breadth First Traversal:")
bfs(graph, 0)
class Graph:
def __init__(self):
self.graph = {}
g = Graph()
g.add_edge(0, 1)
g.add_edge(0, 2)
g.add_edge(1, 2)
g.add_edge(2, 0)
g.add_edge(2, 3)
g.add_edge(3, 3)
OUTPUT:
Following is Breadth First Traversal:
0123
Depth First Traversal (starting from vertex 2):
2013
RESULT:
Thus the program to implement BFS,DFS and perform inferences is executed and the output is obtained
successfully.
AIM:
ALGORITHM:
PROGRAM:
A* Algorithm
import heapq
class Node:
def __init__(self, state, parent=None, cost=0, heuristic=0):
self.state = state
self.parent = parent
self.cost = cost
self.heuristic = heuristic
def total_cost(self):
return self.cost + self.heuristic
while open_set:
current_node = min(open_set, key=lambda x: x.total_cost())
if current_node.state == goal:
# Goal reached, reconstruct the path
path = []
while current_node:
path.insert(0, current_node.state)
current_node = current_node.parent
return path
open_set.remove(current_node)
closed_set.add(current_node.state)
if neighbor in closed_set:
continue
# No path found
return None
def get_neighbors(state):
x, y = state
neighbors = [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]
# Consider only valid neighbors within the grid
return [(i, j) for i, j in neighbors if 0 <= i < 5 and 0 <= j < 5]
# Example usage
start = (0, 0)
goal = (4, 4)
if path:
print("Path found:", path)
else:
print("No path found.")
OUTPUT:
[ (0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4) ]
Bounded A* Algorithm
class Node:
def __init__(self, state, parent=None, cost=0, heuristic=0):
self.state = state
self.parent = parent
self.cost = cost
self.heuristic = heuristic
def total_cost(self):
return self.cost + self.heuristic
while open_set:
current_node = min(open_set, key=lambda x: x.total_cost())
if current_node.state == goal:
# Goal reached within the bound
path = []
while current_node:
path.insert(0, current_node.state)
current_node = current_node.parent
return path
open_set.remove(current_node)
closed_set.add(current_node.state)
def get_neighbors(state):
x, y = state
neighbors = [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]
# Consider only valid neighbors within the grid
return [(i, j) for i, j in neighbors if 0 <= i < 5 and 0 <= j < 5]
# Example usage
start = (0, 0)
goal = (4, 4)
bound = 10
if path:
print("Path found:", path)
else:
print("No path found within the given bound.")
OUTPUT:
[ (0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4) ]
RESULT:
Thus the program to implement A* and memory bounded A* Search algorithm is executed and the output
is obtained successfully.
DATE:
AIM:
ALGORITHM:
PROGRAM:
from sklearn.feature_extraction.text import
CountVectorizer
from sklearn.naive_bayes import
MultinomialNB
from sklearn.metrics import accuracy_score,
classification_report
from sklearn.model_selection import
train_test_split
classifier = MultinomialNB()
classifier.fit(X_train, label_train)
OUTPUT:
accuracy 1.00 1
macro avg 1.00 1.00 1.00 1
weighted avg 1.00 1.00 1.00 1
RESULT:
Thus the program to implement Naive Bayes models is executed and the output is obtained successfully.
DATE:
AIM:
To write a program to implement Bayesian networks and perform inferences using Python.
ALGORITHM:
PROGRAM:
!pip install pgmpy
# Perform inference
inference = VariableElimination(model)
query_result = inference.map_query(variables=['TrafficJam'], evidence={'Rain': 1, 'Accident': 0})
print("\nProbability of TrafficJam given Rain=1 and Accident=0:")
print(query_result)
OUTPUT
RESULT:
Thus the program to implement Bayesian networks and perform inferences is executed and the output
isobtained successfully.
CS3491 Artificial Intelligence and Machine Learning Page 15
DEPARTMENT OF ECE
DATE:
AIM:
To write a program to implement Build Regression models and perform inferences using Python.
ALGORITHM:
Step 2:Import the necessary libraries, including pandas, numpy, and scikit-learn.
Step 4:Preprocess the data by removing any missing values and converting categorical variables to
numerical representations using one-hot encoding or label encoding.
Step 5:Split the data into training and testing sets using the train_test_split function from scikit-learn.
Step 6:Choose a regression algorithm and instantiate the model object. Popular choices include linear regression,
polynomial regression, and random forest regression.
Step 7:Fit the model to the training data using the fit method.
Step 8:Evaluate the model on the testing data using metrics such as mean squared error (MSE) or R-squared.
Step 9:Use the model to make predictions on new data using the predict method.
Step 10:Perform inferences by analyzing the model coefficients or feature importances to gain insight into the
relationships between the input variables and the output variable.
PROGRAM:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
OUTPUT:
RESULT:
Thus the program to implement build regression models and perform inferences is executed and the
output is obtained successfully.
DATE:
AIM:
ALGORITHM:
DECISION TREES:
Step-1: Begin the tree with the root node, says S, which contains the complete dataset.
Step-2: Find the best attribute in the dataset using Attribute Selection Measure (ASM).
Step-3: Divide the S into subsets that contains possible values for the best attributes.
Step-4: Generate the decision tree node, which contains the best attribute.
Step-5: Recursively make new decision trees using the subsets of the dataset created in step -3. Continue this
process until a stage is reached where you cannot further classify the nodes and called the final node as a leaf
node.
RANDOM FOREST:
Step 2: This algorithm will construct a decision tree for every training data.
Step 4: Finally, select the most voted prediction result as the final prediction result.
PROGRAM:
DECISION TREES:
print('\nClassification Report:')
print(classification_report(y_test, y_pred))
PROGRAM:
RANDOM FOREST:
print('\nClassification Report:')
print(classification_report(y_test, y_pred))
OUTPUT:
RESULT:
Thus the program decision trees and random has been build and output is verified successfully.
CS3491 Artificial Intelligence and Machine Learning Page 23
DEPARTMENT OF ECE
DATE:
AIM:
ALGORITHM:
Step 3: Split the dataset into train and test using sklearn before building the SVM algorithm model.
Step 4: Import the support vector classifier function or SVC function from Sklearn SVM module. Build the Support
Vector Machine model with the help of the SVC function.
PROGRAM:
OUTPUT
RESULT:
Thus the program has been build SVM models and output is verified successfully.
CS3491 Artificial Intelligence and Machine Learning Page 25
DEPARTMENT OF ECE
DATE:
AIM:
ALGORITHM:
Step 5:stop.
PROGRAM:
iris = load_iris()
X = iris.data
y = iris.target
rf_model.fit(X_train, y_train)
y_pred_rf = rf_model.predict(X_test)
print(classification_report(y_test, y_pred_rf))
plt.figure(figsize=(6, 4))
plt.xlabel('Predicted')
plt.ylabel('Actual')
plt.show()
# Boosting: AdaBoost
adaboost_model.fit(X_train, y_train)
y_pred_adaboost = adaboost_model.predict(X_test)
print(classification_report(y_test, y_pred_adaboost))
plt.figure(figsize=(6, 4))
plt.xlabel('Predicted')
plt.ylabel('Actual')
plt.show()
OUTPUT:
RESULT:
Thus the program ensembling techniques has been implemented and output is verified successfully.
DATE:
AIM:
ALGORITHM:
Step 5:Stop.
PROGRAM:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
OUTPUT:
RESULT:
Thus the program clusters algorithm has been implemented and output is verified successfully.
CS3491 Artificial Intelligence and Machine Learning Page 32
DEPARTMENT OF ECE
DATE:
AIM:
ALGORITHM:
Step 1. Define the discrete probability distributions for the guest, prize, and Monty's choices.
Step 2. Create three states for each distribution using the pomegranate library.
Step 3. Add the three states to a Bayesian Network object and add edges connecting the guest and prize to the Monty
state.
Step 5. Predict the probabilities of the prize distribution given that the guest chose a specific door (in this case, door
A).
PROGRAM:
import numpy as np
from pgmpy.models import BayesianModel
from pgmpy.estimators import ParameterEstimator
from pgmpy.inference import VariableElimination
from pgmpy.sampling import BayesianModelSampling
# Maximization step
data['B'].fillna(inferred_data['B'], inplace=True)
return data
OUTPUT:
RESULT:
Thus the program EM for Bayesian networks has been implemented and output is verified successfully.
DATE:
AIM:
ALGORITHM:
Step 2: Load the CIFAR-10 dataset using the `datasets.cifar10.load_data()` function from
TensorFlow. This function returns two tuples, one for the training set and another for the test set.
Step 3: Normalize the pixel values of the images in both the training and test sets to be between 0 and 1.
Step 5:Plot 25 images from the training set with their corresponding labels using Matplotlib.
PROGRAM:
import tensorflow as tf
plt.figure(figsize=(10,10))
for i in range(25):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(train_images[i])
# The CIFAR labels happen to be arrays,
# which is why you need the extra index
plt.xlabel(class_names[train_labels[i][0]])
plt.show()
OUTPUT:
RESULT:
Thus the program simple NN models has been implemented and output is verified successfully.
DATE:
AIM:
ALGORITHM:
PROGRAM:
import numpy as np
model = Sequential()
model.add(Dense(2, input_shape=(2,)))
model.add(Activation('sigmoid'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.summary()
OUTPUT:
RESULT:
Thus the program simple Deep Learning NN models has been implemented and output is verified
successfully.
DATE:
AIM:
To write a program for Dimensionality Reduction with Principal Component Analysis (PCA) using python.
ALGORITHM:
Step 4:Prints the explained variance ratio for each principal component.
PROGRAM:
import numpy as np
iris = load_iris()
X = iris.data
y = iris.target
X_standardized = StandardScaler().fit_transform(X)
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_standardized)
plt.figure(figsize=(8, 6))
for i in range(len(colors)):
plt.legend()
plt.show()
OUTPUT:
RESULT:
Thus the program for Dimensionality Reduction with Principal Component Analysis (PCA) using python.
DATE:
AIM:
To write a program for Anomaly Detection using Isolation Forests using python
ALGORITHM:
Step 3: Predicts outliers (anomalies) in the datasets using the trained model.
Step 4:Plots the data points and highlights anomalies using different colors.
PROGRAM:
import numpy as np
np.random.seed(42)
clf.fit(data)
predictions = clf.predict(data)
plt.figure(figsize=(8, 6))
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()
OUTPUT:
RESULT:
Thus the program for Anomaly Detection using Isolation Forests using python has been implemented and output is
verified successfully.
ANNEXURE I
Artificial intelligence is computer science technology that emphasizes creating intelligent machine that can mimic human behavior.
Here Intelligent machines can be defined as the machine that can behave like a human, think like a human, and also capable of
decision making. It is made up of two words, "Artificial" and "Intelligence," which means the "man-made thinking ability."
With artificial intelligence, we do not need to pre-program the machine to perform a task; instead, we can create a machine with the
programmed algorithms, and it can work on its own.
The goal of Artificial intelligence is to create intelligent machines that can mimic human behavior. We need AI for today's world to
solve complex problems, make our lives more smoothly by automating the routine work, saving the manpower, and to perform
many more other tasks.
There are various real-world applications of AI, and some of them are given below:
o Google Search Engine: When we start writing something on the google search engine, we immediately get the relevant
recommendations from google, and this is because of different AI technologies.
o Ridesharing Applications: Different ride-sharing applications such as Uber uses AI and machine learning to determine the
type of ride, minimize the time once the car is hailed by the user, price of the ride, etc.
o Spam Filters in Email: The AI is also used for email spam filtering so that you can get the important and relevant emails
only in your inbox. As per the studies, Gmail successfully filters 99.9% of spam mails.
o Social Networking: Different social networking sites such as Facebook, Instagram, Pinterest, etc., use the AI technology
for different purposes such as face recognition and friend suggestions, when you upload a photograph on Facebook,
understanding the contextual meaning of an emoji in Instagram, and so on.
o Product recommendations: When we search for a product on Amazon, we get the recommendation for similar products,
and this is because of different ML algorithms. Similarly, on Netflix, we get personalized recommendations for movies and
web series.
4) How Artificial intelligence, Machine Learning, and Deep Learning differ from each other?
The difference between AI, ML, and Deep Learning is given in the below table:
The term Artificial intelligence was The term ML was first coined The term DL was first coined in the year 2000
first coined in the year 1956 by in the year 1959 by Arthur Igor Aizenberg.
John McCarthy. Samuel.
It is a technology that is used to It is a subset of AI that It is the subset of machine learning and AI that is
create intelligent machines that can learns from past data and inspired by the human brain cells, called neurons,
mimic human behavior. experiences. and imitates the working of the human brain.
AI completely deals with structured, ML deals with structured and Deep learning deals with structured and
semi-structured data. semi-structured data. unstructured data.
It requires a huge amount of data to It can work with less amount It requires a huge amount of the data compared to
work. of data compared to deep the ML.
learning and AI.
The goal of AI is to enable the The goal of ML is to enable The goal of deep learning is to solve the complex
machine to think without any human the machine to learn from problems as the human brain does, using various
intervention. past experiences. algorithms.
Artificial intelligence can be divided into different types on the basis of capabilities and functionalities.
Based on Capabilities:
o Weak AI or Narrow AI: Weak AI is capable of performing some dedicated tasks with intelligence. Siri is an example of
Weak AI.
o General AI: The intelligent machines that can perform any intellectual task with efficiency as a human.
o Strong AI: It is the hypothetical concept that involves the machine that will be better than humans and will surpass human
intelligence.
Based on Functionalities:
o Reactive Machines: Purely reactive machines are the basic types of AI. These focus on the present actions and cannot
store the previous actions. Example: Deep Blue.
o Limited Memory: As its name suggests, it can store the past data or experience for the limited duration. The self-driving
car is an example of such AI types.
o Theory of Mind: It is the advanced AI that is capable of understanding human emotions, people, etc., in the real world.
o Self-Awareness: Self Awareness AI is the future of Artificial Intelligence that will have their own consciousness, emotions,
similar to humans. Read More.
AI covers lots of domains or subsets, and some main domains are given below:
o Machine Learning
o Deep Learning
o Neural Network
o Expert System
o Fuzzy Logic
o Robotics
a. Supervised Learning: Supervised learning is a type of Machine learning in which the machine needs external supervision
to learn from data. The supervised learning models are trained using the labeled
dataset. Regression and Classification are the two main problems that can be solved with Supervised Machine Learning.
b. Unsupervised Learning: It is a type of machine learning in which the machine does not need any external supervision to
learn from the data, hence called unsupervised learning. The unsupervised models can be trained using the unlabelled
dataset. These are used to solve the Association and Clustering problems.
c. Reinforcement Learning: In Reinforcement learning, an agent interacts with its environment by producing actions, and
learn with the help of feedback. The feedback is given to the agent in the form of rewards, such as for each good action, he
gets a positive reward, and for each bad action, he gets a negative reward. There is no supervision provided to the agent.
Q-Learning algorithm is used in reinforcement learning.
Q-learning is a popular algorithm used in reinforcement learning. It is based on the Bellman equation. In this algorithm, the agent
tries to learn the policies that can provide the best actions to perform for maximining the rewards under particular circumstances.
The agent learns these optimal policies from past experiences.
In Q-learning, the Q is used to represent the quality of the actions at each state, and the goal of the agent is to maximize the value
of Q.
Deep learning is a subset of Machine learning that mimics the working of the human brain. It is inspired by the human brain cells,
called neurons, and works on the concept of neural networks to solve complex real-world problems. It is also known as the
deep neural network or deep neural learning.
o Computer vision
o Text generation
Below are the top five programming languages that are widely used for the development of Artificial Intelligence:
o Python
o Java
o Lisp
o R
o Prolog
Among the above five languages, Python is the most used language for AI development due to its simplicity and availability of lots of
libraries, such as Numpy, Pandas, etc.
11) What is the intelligent agent in AI, and where are they used?
The intelligent agent can be any autonomous entity that perceives its environment through the sensors and act on it using the
actuators for achieving its goal.
o Repetitive Activities
o Domain Experts
o Chatbots, etc.
Machine learning is a subset or subfield of Artificial intelligence. It is a way of achieving AI. As both are the two different concepts
and the relation between both can be understood as "AI uses different Machine learning algorithms and concepts to solve the
complex problems."
The solution for a reinforcement learning problem can be achieved using the Markov decision process or MDP. Hence, MDP is used to
formalize the RL problem. It can be said as the mathematical approach to solve a reinforcement learning problem. The main aim of
this process is to gain maximum positive rewards by choosing the optimum policy.
o Rewards
o Policy Pa
In this process, the agent performs an action A to take a transition from state S1 to S2 or from the start state to the end state, and
while doing these actions, the agent gets some rewards. The series of actions taken by the agent can be defined as the policy.
Reward maximization term is used in reinforcement learning, and which is a goal of the reinforcement learning agent. In RL, a
reward is a positive feedback by taking action for a transition from one state to another. If the agent performs a good action by
applying optimal policies, he gets a reward, and if he performs a bad action, one reward is subtracted. The goal of the agent is to
maximize these rewards by applying optimal policies, which is termed as reward maximization.
In machine learning, there are mainly two types of models, Parametric and Non-parametric. Here parameters are the predictor
variables that are used to build the machine learning model. The explanation of these models is given below:
Parametric Model: The parametric models use a fixed number of the parameters to create the ML model. It considers strong
assumptions about the data. The examples of the parametric models are Linear regression, Logistic Regression, Naïve Bayes,
Perceptron, etc.
Non-Parametric Model: The non-parametric model uses flexible numbers of parameters. It considers a few assumptions about the
data. These models are good for higher data and no prior knowledge. The examples of the non-parametric models are Decision Tree,
K-Nearest Neighbour, SVM with Gaussian kernels, etc.
In machine learning, hyperparameter is the parameters that determine and control the complete training process. The examples of
these parameters are Learning rate, Hidden Layers, Hidden units, Activation functions, etc. These parameters are external from the
model. The selection of good hyperparameters makes a better algorithm.
Hidden Markov model is a statistical model used for representing the probability distributions over a chain of observations. In the
hidden markov model, hidden defines a property that it assumes that the state of a process generated at a particular time is hidden
from the observer, and Markov defines that it assumes that the process satisfies the Markov property. The HMM models are mostly
used for temporal data.
The HMM is used in various applications such as reinforcement learning, temporal pattern recognition, etc.
18) What is Strong AI, and how is it different from the Weak AI?
Strong AI: Strong AI is about creating real intelligence artificially, which means a human-made intelligence that has sentiments,
self-awareness, and emotions similar to humans. It is still an assumption that has a concept of building AI agents with thinking,
reasoning, and decision-making capabilities similar to humans.
Weak AI: Weak AI is the current development stage of artificial intelligence that deals with the creation of intelligent agents and
machines that can help humans and solve real-world complex problems. Siri and Alexa are examples of Weak AI programs.
Turing test is one of the popular intelligence tests in Artificial intelligence. The Turing test was introduced by Alan Turing in the year
1950. It is a test to determine that if a machine can think like a human or not. According to this test, a computer can only be said to
be intelligent if it can mimic human responses under some particular conditions.
In this test, three players are involved, the first player is a computer, the second player is a human responder, and the third player
is the human interrogator, and the interrogator needs to find which response is from the machine on the basis of questions and
answers.
Turing Test.
When the machine learning algorithm tries to capture all the data points, and hence, as a result, captures noise also, then overfitting
occurs in the model. Due to this overfitting issue, the algorithm shows the low bias, but the high variance in the output. Overfitting
is one of the main issues in machine learning.
o Cross-Validation
o Regularization
o Ensembling
Dropout Technique: The dropout technique is one of the popular techniques to avoid overfitting in the neural network models. It is
the regularization technique, in which the randomly selected neurons are dropped during training.
NLP stands for Natural Language Processing, which is a branch of artificial intelligence. It enables machines to understand, interpret,
and manipulate the human language.
Components of NLP:
There are mainly two components of Natural Language processing, which are given below:
o Text Planning
o Sentence Planning
o Text Realization
a. User Interface: It enables a user to interact or communicate with the expert system to find the solution for a problem.
b. Inference Engine: It is called the main processing unit or brain of the expert system. It applies different inference rules to
the knowledge base to draw a conclusion from it. The system extracts the information from the KB with the help of an
inference engine.
c. Knowledge Base: The knowledge base is a type of storage area that stores the domain-specific and high-quality
knowledge.
Computer vision is a field of Artificial Intelligence that is used to train the computers so that they can interpret and obtain
information from the visual world such as images. Hence, computer vision uses AI technology to solve complex problems
such as image processing, object detections, etc.
26) Explain the minimax algorithm along with the different terms.
Minimax algorithm is a backtracking algorithm used for decision making in game theory. This algorithm provides the optimal moves
for a player by assuming that another player is also playing optimally.
This algorithm is based on two players, one is called MAX, and the other is called the MIN.
o Utility Function: The function that assigns a numeric value for the outcome of the game.
Game theory is the logical and scientific study that forms a model of the possible interactions between two or more rational players.
Here rational means that each player thinks that others are just as rational and have the same level of knowledge and
understanding. In the game theory, players deal with the given set of options in a multi-agent situation, it means the choice of one
player affects the choice of the other or opponent players.
Game theory and AI are much related and useful to each other. In AI, the game theory is widely used to enable some of the key
capabilities required in the multi-agent environment, in which multiple agents try to interact with each other to achieve a goal.
Different popular games such as Poker, Chess, etc., are the logical games with the specified rules. To play these games online or
digitally, such as on Mobile, laptop, etc., one has to create algorithms for such games. And these algorithms are applied with the
help of artificial intelligence.
There are lots of misconceptions about artificial intelligence since starting its evolution. Some of these misconceptions are given
below:
o AI does not require humans: The first misconception about AI is that it does not require human. But in reality, each AI-
based system is somewhere dependent on humans and will remain. Such as it requires human gathered data to learn about
the data.
o AI is dangerous for humans: AI is not inherently dangerous for humans, and still, it has not reached the super AI or
strong AI, which is more intelligent than humans. Any powerful technology cannot be harmful if it is not misused.
o AI has reached its peak stage: Still, we are so far away from the peak stage of the AI. It will take a very long journey to
reach its peak.
o AI will take your job: It is one of the biggest confusions that AI will take most of the jobs, but in reality, it is giving us
more opportunities for new jobs.
o AI is new technology: Although some people think that it is a new technology, this technology actually first thought in
the year 1840 through an English newspaper.
Eigenvectors and eigenvalues are the two main concepts of Linear algebra.
Eigenvalues are the coefficients that are applied to the eigenvectors, or these are the magnitude by which the eigenvector is scaled.
30) What is an Artificial neural network? Name some commonly used Artificial Neural networks.
Artificial neural networks are the statistical model inspired by the functioning of human brain cells called neurons. These neural
networks include various AI technologies such as deep learning and machine learning.
An Artificial neural network or ANN consists of multiple layers, including the Input layer, Output Layer, and hidden layers.
ANN, with the help of various deep learning techniques, is the AI tools to solve various complex problems like pattern recognition,
facial recognition, and so on.
o Autoencoders
31) Give a brief introduction of partial, alternate, artificial, and compound keys?
Partial Keys: A set of attributes that uniquely identifies weak entities, which are related to the same owner entity.
Alternate Keys: All candidate keys except the primary key are known as alternate keys.
Compound Key: It has multiple fields that enable the user to uniquely recognize a specific record.
Artificial Key: It is the extra attribute added to the table when there are no stands alone or compounds key is available. It is
created by assigning a number to each record in the table.
A chatbot is Artificial intelligence software or agent that can simulate a conversation with humans or users using Natural language
processing. The conversation can be achieved through an application, website, or messaging apps. These chatbots are also called as
the digital assistants and can interact with humans in the form of text or through voice.
The AI chatbots are broadly used in most businesses to provide 24*7 virtual customer support to their customers, such as HDFC Eva
chatbot, Vainubot, etc.
Knowledge representation is the part of AI, which is concerned with the thinking of AI agents. It is used to represent the knowledge
about the real world to the AI agents so that they can understand and utilize this information for solving the complex problems in AI.
Following elements of Knowledge that are represented to the agent in the AI system:
o Objects
o Events
o Performance
o Meta-Knowledge
o Facts
o Knowledge-base
o Logical Representation
o Frame Representation
o Production Rules
35) Which programming language is not generally used in AI, and why?
Perl Programming language is not commonly used language for AI, as it is the scripting language.
Reinforcement learning is a type of machine learning. In this, an agent interacts with its environment by producing actions, and
learn with the help of feedback. The feedback is given to the agent in the form of rewards, such as for each good action, he gets a
positive reward, and for each bad action, he gets a negative reward. There is no any labeled data or supervision is provided to the
agent. In RL, the agent continuously does three things(performing actions, changing state, and getting the feedback) to explore the
environment.
o Q-Learning
o Environment: The environment is the surrounding of the agent, where he needs to explore and act upon.
o Agent: The agent is the AI program that has sensors and actuators and the ability to perceive the environment.
o Reward: The feedback received to the agent after doing each action.
In RL, the agent interacts with the environment in order to explore it by doing some actions. On each action, the state of agent gets
changed or sometimes remains the same, and based on the type of action, and he gets a reward. The reward is feedback, which
may be negative or positive based on the action.
The goal of the agent is to maximize the positive reward and to achieve the goal of the problem.
38) What are the different areas where AI has a great impact?
o Autonomous Transportation
o Healthcare
o Predictive Policing
o Space Exploration
o Entertainment, etc.
c. IBM Watson
d. TensorFlow
e. Infosys Nia
f. Rainbird
g. Dialogflow
40) Kindly explain different ways to evaluate the performance of the ML model.
o Confusion Matrix: It is N*N table with different sets of value that is used to determine the performance of the
classification model in machine learning.
o F1 score: It is the harmonic mean of precision and recall, which is used as one of the best metrics to evaluate the ML
model.
o Gain and lift charts: Gain & Lift charts are used to determine the rank ordering of the probabilities.
o AUC-ROC curve: The AUC-ROC is another performance metric. The ROC is the plot between the sensitivity.
o Gini Coefficient: It is used in the classification problems, also known as the Gini Index. It determines the inequality
between the values of variables. The high value of the Gini represents a good model.
o Root mean squared error: It is one of the most popular metrics used for the evaluation of the regression model. It works
by assuming that errors are unbiased and have a normal distribution.
o Cross-Validation: It is another popular technique for evaluating the performance of the machine learning model. In this,
the models are trained on subsets of the input data and evaluated on the complementary subset of the data.
A rational agent is an agent that has clear preferences, model uncertainty, and that performs the right actions always. A rational
agent is able to take the best possible action in any situation.
Rationality is a status of being reasonable and sensible with a good sense of judgment.
Tensor flow is the open-source library platform developed by the Google Brain team. It is a math library used for several machine
learning applications. With the help of tensor flow, we can easily train and deploy the machine learning models in the cloud.
43) Which algorithm is used by Facebook for face recognition? Explain its working.
Facebook uses the DeepFace tool that uses the deep learning algorithms for the face verification that allows the photo tag
suggestions to you when you upload a photo on Facebook. The deep face identifies the faces in the digital images using neural
network models. The working of DeepFace is given in below steps:
o It first scans the uploaded images. It makes the 3-D model of the image, and then rotate that image into different angles.
o After that, it starts matching. To match that image, it uses a neural network model to determine the high-level similarities
between other photos of a person. It checks for the different features such as the distance between the eyes, the shape of
the nose, eyes color, etc.
o Then it does the recursive checking for 68 landmark testing, as each human face consists of 68 specific facial points.
o After mapping, it encodes the image and searches for the information of that person.
The market-basket analysis is a popular technique to find the associations between the items. It is frequently used by big retailers in
order to get maximum profit. In this approach, we need to find combinations of items that are frequently bought together.
For example, if a person buys bread, there are most of the chances that he will buy butter also. Hence, understanding such
correlations can help retailers to grow their business by providing relevant offers to their customers.
The artificial intelligence can be broadly helpful in fraud detection using different machine learning algorithms, such as supervised
and unsupervised learning algorithms. The rule-based algorithms of Machine learning helps to analyze the patterns for any
transaction and block the fraudulent transactions.
Below are the steps used in fraud detection using machine learning:
o Data extraction: The first step is data extraction. Data is gathered through a survey or with the help of web scraping
tools. The data collection depends on the type of model, and we want to create. It generally includes the transaction
details, personal details, shopping, etc.
o Data Cleaning: The irrelevant or redundant data is removed in this step. The inconsistency present in the data may lead to
wrong predictions.
o Data exploration & analysis: This is one of the most crucial steps in which we need to find out the relation between
different predictor variables.
o Building Models: Now, the final step is to build the model using different machine learning algorithms depending on the
business requirement. Such as Regression or classification.
A* algorithm is the popular form of the Best first search. It tries to find the shortest path using the heuristic function with the cost
function to reach the end node. The steps for A* algorithms are given below:
Step 2: Check if the OPEN list is empty or not; if the list is empty, then return failure and stops.
Step 3: Select the node from the OPEN list which has the smallest value of evaluation function (g+h), if node n is goal node then
return success and stop, otherwise
Step 4: Expand node n and generate all of its successors, and put n into the closed list. For each successor n', check whether n' is
already in the OPEN or CLOSED list; if not, then compute evaluation function for n' and place into Open list.
Step 5: Else if node n' is already in OPEN and CLOSED list, then it should be attached to the back pointer, which reflects the lowest
g(n') value.
In artificial intelligence, the inference engine is the part of an intelligent system that derives new information from the knowledge
base by applying some logical rules.
o Backward Chaining: It begins with the goal and proceeds backward to deduce the facts that support the goal.
o Forward Chaining: It starts with known facts, and asserts new facts.
Fuzzy logic is a method of reasoning applied to the AI, which resembles human reasoning. Here the word "fuzzy" defines things that
are not clear, it means the situations where it is difficult to decide if the state is True or False. It involves all the possibilities that
occur between Yes and NO.
The below diagram shows the difference between fuzzy logic and Boolean logic
Bayesian networks are the graphical models that are used to show the probabilistic relationship between a set of variables. It is a
directed cycle graph that contains multiple edges, and each edge represents a conditional dependency.
Bayesian networks are probabilistic, because these networks are built from a probability distribution, and also use probability
theory for prediction and anomaly detection. It is important in AI as it is based on Bayes theorem and can be used to answer the
probabilistic questions.
The heuristic function is used in Informed Search, and it finds the most promising path. It takes the current state of the agent as its
input and produces the estimation of how close the agent is from the goal. The heuristic method, however, might not always give
the best solution, but it guaranteed to find a good solution in a reasonable time. Heuristic function estimates how close a state is to
the goal. It is represented by h(n), and it calculates the cost of an optimal path between the pair of states. The value of the heuristic
function is always positive.Admissibility of the heuristic function is given as:
Here h(n) is heuristic cost, and h*(n) is the estimated cost. Hence heuristic cost should be less than or equal to the estimated cost.