## Top Answers to Artificial Intelligence Interview Questions

Weak AI | Strong AI |

Narrow application, with very limited scope | Widely applied, with vast scope |

Good at specific tasks | Incredible human-level intelligence |

Uses supervised and unsupervised learning to process data | Uses clustering and association to process data |

E.g., Siri, Alexa, etc. | E.g., Advanced Robotics |

**Artificial Intelligence** is a field of computer science wherein the cognitive functions of the human brain are studied and tried to be replicated on a machine/system. Artificial Intelligence is today widely used for various applications like computer vision, speech recognition, decision-making, perception, reasoning, cognitive capabilities, and so on.

- Natural language processing
- Chatbots
- Sentiment analysis
- Sales prediction
- Self-driving cars
- Facial expression recognition
- Image tagging

- Python
- R
- Lisp
- Prolog
- Java

Tower of Hanoi is a mathematical puzzle that shows how recursion might be utilized as a device in building up an algorithm to take care of a specific problem. Using a decision tree and a breadth-first search (BFS) algorithm in AI, we can solve the Tower of Hanoi.

*Go through the **Artificial Intelligence Course in London** to get a clear understanding of Artificial Intelligence!*

The Turing test is a method to test a machine’s ability to match the human-level intelligence. A machine is used to challenge human intelligence, and when it passes the test it is considered intelligent. Yet a machine could be viewed as intelligent without sufficiently knowing how to mimic a human.

An expert system is an Artificial Intelligence program that has expert-level knowledge about a specific area and how to utilize its information to react appropriately. These systems have the expertise to substitute a human expert. Their characteristics include:

- High performance
- Adequate response time
- Reliability
- Understandability

- Consistency
- Memory
- Diligence
- Logic
- Multiple expertise
- Ability to reason
- Fast response
- Unbiased in nature

A* is a computer algorithm that is extensively used for the purpose of finding the path or traversing a graph in order to find the most optimal route between various points called the nodes.

**Go through Intellipaat’s Artificial Intelligence Training to be a master of Artificial Intelligence!**

A breadth-first search (BFS) algorithm, used for searching tree or graph data structures, starts from the root node, then proceeds through neighboring nodes, and further moves toward the next level of nodes. Till the arrangement is found, it produces one tree at any given moment. As this pursuit can be executed utilizing the FIFO (first-in, first-out) data structure, this strategy gives the shortest path to the solution.

Depth-first search (DFS) is based on LIFO (last-in, first-out). A recursion is implemented with LIFO stack data structure. Thus, the nodes are in a different order than in BFS. The path is stored in each iteration from root to leaf nodes in a linear fashion with space requirement.

*Learn more about Artificial Intelligence from this **Artificial Intelligence Training in New York** to get ahead in your career!*

In a bidirectional search algorithm, the search begins in forward from the beginning state and in reverse from the objective state. The searches meet to identify a common state. The initial state is linked with the objective state in a reverse way. Each search is done just up to half of the aggregate way.

The repetitive search processes of level 1 and level 2 happen in this search. The search processes continue until the solution is found. Nodes are generated until a single goal node is created. Stack of nodes is saved.

The uniform cost search performs sorting in increasing the cost of the path to a node. It expands the least cost node. It is identical to BFS if each iteration has the same cost. It investigates ways in the expanding order of cost.

*Interested in learning more about Artificial Intelligence? Click here: Artificial Intelligence Training in Sydney!*

AI system uses game theory for enhancement; it requires more than one participant which narrows the field quite a bit. The two fundamental roles are as follows:

- Participant design: Game theory is used to enhance the decision of a participant to get maximum utility.
- Mechanism design: Inverse game theory designs a game for a group of intelligent participants, e.g., auctions.

Alpha–Beta pruning is a search algorithm that tries to reduce the number of nodes that are searched by the minimax algorithm in the search tree. It can be applied to ‘n’ depths and can prune the entire subtrees and leaves.

Fuzzy logic is a subset of AI; it is a way of encoding human learning for artificial processing. It is a form of many-valued logic. It is represented as IF-THEN rules.

- Facial pattern recognition
- Air conditioners, washing machines, and vacuum cleaners
- Antiskid braking systems and transmission systems
- Control of subway systems and unmanned helicopters
- Weather forecasting systems
- Project risk assessment
- Medical diagnosis and treatment plans
- Stock trading

A problem has to be solved in a sequential approach to attain the goal. The partial-order plan specifies all actions that need to be undertaken but specifies an order of the actions only when required.

**Become a master of Artificial Intelligence by going through this online Artificial Intelligence Course in Toronto!**

First-order predicate logic is a collection of formal systems, where each statement is divided into a subject and a predicate. The predicate refers to only one subject, and it can either modify or define the properties of the subject.

Inductive Machine Learning | Deductive Machine Learning | Abductive Machine Learning |

Learns from a set of instances to draw the conclusion | Derives the conclusion and then improves it based on the previous decisions | It is a Deep Learning technique where conclusions are derived based on various instances |

Statistical Machine Learning such as KNN (K-nearest neighbor) or SVM (Support Vector Machine) | Machine Learning algorithm using a decision tree | Deep neural networks |

A ⋀ B ⊢ A → B (Induction) | A ⋀ (A → B) ⊢ B (Deduction) | B ⋀ (A → B) ⊢ A (Abduction) |

- Supervised Learning
- Unsupervised Learning
- Semi-supervised Learning
- Reinforcement Learning
- Transduction
- Learning to Learn

Deep Learning is a subset of Machine Learning which is used to create an artificial multi-layer neural network. It has self-learning capabilities based on previous instances, and it provides high accuracy.

**Get certified from the top Artificial Intelligence Course in Singapore now!**

Differentiation Based on | Supervised Learning | Unsupervised Learning | Reinforcement Learning |

Features | The training set has both predictors and predictions. | The training set has only predictors. | It can establish state-of-the-art results on any task. |

Algorithms | Linear and logistic regression, support vector machine, and Naive Bayes | K-means clustering algorithm and dimensionality reduction algorithms | Q-learning, state-action-reward-state-action (SARSA), and Deep Q Network (DQN) |

Uses | Image recognition, speech recognition, forecasting, etc. | Preprocessing data, pre-training supervised learning algorithms, etc. | Warehouses, inventory management, delivery management, power system, financial systems, etc. |

Differentiation Based on | Parametric Model | Non-parametric Model |

Features | A finite number of parameters to predict new data | Unbounded number of parameters |

Algorithm | Logistic regression, linear discriminant analysis, perceptron, and Naive Bayes | K-nearest neighbors, decision trees like CART and C4.5, and support vector machines |

Benefits | Simple, fast, and less data | Flexibility, power, and performance |

Limitations | Constrained, limited complexity, and poor fit | More data, slower, and overfitting |

- Logistic regression
- Linear regression
- Decision trees
- Support vector machines
- Naive Bayes, and so on

**Learn more about Machine Learning algorithms from our Artificial Intelligence Tutorial!**

Naive Bayes Machine Learning algorithm is a powerful algorithm for predictive modeling. It is a set of algorithms with a common principle based on Bayes Theorem. The fundamental Naive Bayes assumption is that each feature makes an independent and equal contribution to the outcome.

Perceptron is an algorithm that is able to simulate the ability of the human brain to understand and discard; it is used for the supervised classification of the input into one of the several possible non-binary outputs.

**Wish to achieve a complete knowledge of Artificial Intelligence? Enroll in Artificial Intelligence Training at Hyderabad now!**

- Independent component analysis
- Principal component analysis
- Kernel-based principal component analysis

KNN | K-means Clustering |

Supervised | Unsupervised |

Classification algorithms | Clustering algorithms |

Minimal training model | Exhaustive training model |

Used in the classification and regression of the known data | Used in population demographics, market segmentation, social media trends, anomaly detection, etc. |

Ensemble learning is a computational technique in which classifiers or experts are strategically formed and combined. It is used to improve classification, prediction, function approximation, etc. of a model.

**Are you interested in learning AI? Enroll in the Artificial Intelligence Course in Bangalore and learn from experts!**

- Data collection
- Data preparation
- Choosing an appropriate model
- Training the dataset
- Evaluation
- Parameter tuning
- Predictions

A hash table is a data structure that is used to produce an associative array which is mostly used for database indexing.

Regularization comes into the picture when a model is either overfit or underfit. It is basically used to minimize the error in a dataset. A new piece of information is fit into the dataset to avoid fitting issues.

- Data acquisition
- Ground truth acquisition
- Cross validation technique
- Query type
- Scoring metric
- Significance test

**These are described in detail on our AI Community!**

Model accuracy, a subset of model performance, is based on the model performance of an algorithm. Whereas, model performance is based on the datasets we feed as inputs to the algorithm.

F1 score is the weighted average of precision and recall. It considers both false positive and false negative values into account. It is used to measure a model’s performance.

- Image, speech, and face detection
- Bioinformatics
- Market segmentation
- Manufacturing and inventory management
- Fraud detection, and so on

- Univariate Selection
- Feature Importance
- Correlation Matrix with Heatmap

A recommendation system is an information filtering system that is used to predict user preference based on choice patterns followed by the user while browsing/using the system.

Dimensionality reduction is the process of reducing the number of random variables. We can reduce dimensionality using techniques such as missing values ratio, low variance filter, high correlation filter, random forest, principal component analysis, etc.

- Sliding window methods
- Recurrent sliding windows methods
- Hidden Markov models
- Maximum entropy Markov models
- Conditional random fields
- Graph transformer networks

- Require less formal statistical training
- Have the ability to detect nonlinear relationships between variables
- Detect all possible interactions between predictor variables
- Availability of multiple training algorithms

Bias error is used to measure how much on an average the predicted values vary from the actual values. In case a high-bias error occurs, we have an under-performing model.

Variance is used to measure how the predictions made on the same observation differ from each other. A high-variance model will overfit the dataset and perform badly on any observation.

TensorFlow is an open-source Machine Learning library. It is a fast, flexible, and low-level toolkit for doing complex algorithms and offers users customizability to build experimental learning architectures and to work on them to produce desired outputs.

TensorFlow Installation Guide:

CPU : pip install tensorflow-cpu

GPU : pip install tensorflow-gpu

- Constants
- Variables
- Placeholder
- Graph
- Session

A cost function is a scalar function that quantifies the error factor of the neural network. Lower the cost function better the neural network. For example, while classifying the image in the MNIST dataset, the input image is digit 2, but the neural network wrongly predicts it to be 3.

- Linear neuron
- Binary threshold neuron
- Stochastic binary neuron
- Sigmoid neuron
- Tanh function
- Rectified linear unit (ReLU)

**Learning rate:**The learning rate is how fast the network learns its parameters.**Momentum:**It is a parameter that helps to come out of the local minima and smoothen the jumps while gradient descent.**Number of epochs****:**The number of times the entire training data is fed to the network while training is referred to as the number of epochs. We increase the number of epochs until the validation accuracy starts decreasing, even if the training accuracy is increasing (overfitting).

As we add more and more hidden layers, backpropagation becomes less useful in passing information to the lower layers. In effect, as information is passed back, the gradients begin to vanish and become small relative to the weights of the network.

Dropout is a simple way to prevent a neural network from overfitting. It is the dropping out of some of the units in a neural network. It is similar to the natural reproduction process, where the nature produces offsprings by combining distinct genes (dropping out others) rather than strengthening the co-adapting of them.

Long short-term memory (LSTM) is explicitly designed to address the long-term dependency problem, by maintaining a state of what to remember and what to forget.

- Gates (forget, Memory, update, and Read)
- Tanh(x) (values between −1 and 1)
- Sigmoid(x) (values between 0 and 1)

- LSTM: Long Short-term Memory
- GRU: Gated Recurrent Unit
- End-to-end Network
- Memory Network

An autoencoder is basically used to learn a compressed form of the given data. A few applications of an autoencoder are given below:

- Data denoising
- Dimensionality reduction
- Image reconstruction
- Image colorization

**Components of GAN:**

- Generator
- Discriminator

**Deployment Steps:**

- Train the model
- Validate and finalize the model
- Save the model
- Load the saved model for the next prediction

Gradient descent is an optimization algorithm that is used to find the coefficients of parameters that are used to reduce the cost function to a minimum.

**Step 1**: Allocate weights (x,y) with random values and calculate the error (SSE)

**Step 2**: Calculate the gradient, i.e., the variation in SSE when the weights (x,y) are changed by a very small value. This helps us move the values of x and y in the direction in which SSE is minimized

**Step 3**: Adjust the weights with the gradients to move toward the optimal values where SSE is minimized

**Step 4**: Use new weights for prediction and calculating the new SSE

**Step 5**: Repeat Steps 2 and 3 until further adjustments to the weights do not significantly reduce the error

**Syntax: Class Session**

It is a class for running TensorFlow operations. The environment is encapsulated in the session object wherein the operation objects are executed and Tensor objects are evaluated.

# Build a graph

x = tf.constant(2.0)

y = tf.constant(5.0)

z = x * y

# Launch the graph in a session

sess = tf.Session()

# Evaluate the tensor `z`

print(sess.run(z))

TensorFlow cluster is a set of ‘tasks’ that participate in the distributed execution of a TensorFlow graph. Each task is associated with a TensorFlow server, which contains a ‘master’ that can be used to create sessions and a ‘worker’ that executes operations in the graph. A cluster can also be divided into one or more ‘jobs’, where each job contains one or more tasks.

To use HDFS with TensorFlow, we need to change the file path for reading and writing data to an HDFS path. For example:

filename_queue = tf.train.string_input_producer([

“hdfs://namenode:8020/path/to/file1.csv”,

“hdfs://namenode:8020/path/to/file2.csv”,

])

The intermediate tensors are tensors that are neither inputs nor outputs of the Session.run() call, but are in the path leading from the inputs to the outputs; they will be freed at or before the end of the call.

Sessions can own resources, few classes like tf.Variable, tf.QueueBase, and tf.ReaderBase, and they use a significant amount of memory. These resources (and the associated memory) are released when the session is closed, by calling tf.Session.close.

When we first run the tf.Variable.initializer operation for a variable in a session, it is started. It is destroyed when we run the tf.Session.close operation.