Artificial Intelligence and machine learning Algorithms


What is artificial intelligence?
Artificial Intelligence is the science of getting machines to think and make decisions like human beings do.
Since the development of complex Artificial intelligence Algorithms, it has been able to accomplish this by creating machines and robots that are applied in a wide range of fields including robotics, agriculture, healthcare, industrial, defense, gaming, database management, marketing, business analytics and many more.




Artificial Intelligence and machine  learning Algorithms
 There is no hard rule that which algorithm is used for what problem. Every algorithm has some limitation and scope of utilization but you can use other algorithms also to solve the problems.
Some of the famous algorithms in the field of artificial intelligence are as following:
·       Linear regression
·      Logistic regression
·       Linear discriminant analysis
·       Decision trees
·       Naive Bayes
·       K-Nearest Neighbours
·       Learning vector quantization
·       Support vector machines
·       Bagging and random forest
·      Deep neural networks

 We will explain all of them briefly below to get an idea of how these algorithms are different from each other and how to use these to solve the problem and how we can implement each of them.

Types of Problems Solved Using Artificial Intelligence Algorithms

A different algorithm is used depending on the data type used. Data is the key feature to use an algorithm

Generally artificial intelligence algorithms are categorized into the following:
Classification
           Regression
Clustering
Here’s a table that effectively differentiates each of these categories of problems.



Classification Algorithms
Classification, as the name gives idea is the divide the data or depend on variables into classes and then predict the data into a class for a given input. Classification is falling under the category of supervised learning algorithms

Classification uses an array of algorithms, a few of them listed below
Naive Bayes
Decision Tree
Random Forest
Logistic Regression
Support Vector Machines
K Nearest Neighbours
Let us break them down and see where they fit in when it comes to application.

Naive Bayes
Naive Bayes algorithm is a simple, used for solving a wide variety of complex problems.
 It can calculate 2 types of probabilities:
1. A chance of each class appearing
2. A conditional probability for a standalone class, given there is an additional x modifier.








Decision Trees
This is one of the oldest, most used, simplest and most efficient ML models around. It is a classic binary tree with Yes or No decision at each split until the model reaches the result node.
The Decision Tree can essentially be summarized as a flowchart-like tree structure where each external node denotes a test on an attribute and each branch represents the outcome of that test. The leaf nodes contain the actual predicted labels. We start from the root of the tree and keep comparing attribute values until we reach a leaf node.






Random Forests
Random forests are formed of decision trees, where multiple samples of data are processed by decision trees and the results are aggregated (like collecting many samples in a bag) to find the more accurate output value

instead of finding one optimal route, multiple suboptimal routes are defined, thus making the overall result more precise. If decision trees solve the problem you are after, random forests are a tweak in the approach that provides an even better result.




Logistic Regression
It’s a go-to method mainly for binary classification tasks. The term ‘logistic’ comes from the logit function that is used in this method of classification. The logistic function, also called as the sigmoid function is an S-shaped curve that can take any real-valued number and map it between 0 and 1 but never exactly at those limits.



Learning Vector Quantization
The only major downside of KNN is the need to store and update huge datasets. Learning Vector Quantization or LVQ is the evolved KNN model, the neural network that uses the codebook vectors to define the training datasets and codify the required results. Thus said, the vectors are random at first, and the process of learning involves adjusting their values to maximize the prediction accuracy.

Thus said, finding the vectors with the results of the most similar value in the highest degree of accuracy of predicting the value of the outcome.


Support Vector Machine
An SVM is unique, in the sense that it tries to sort the data with the margins between two classes as far apart as possible. This is called maximum margin separation.
Another thing to take note of here is the fact that SVM’s take into account only the support vectors while plotting the hyperplane, unlike linear regression which uses the entire dataset for that purpose. This makes SVM’s quite useful in situations when data is in high dimensions.
This algorithm is one of the most widely discussed among data scientists, as it provides very powerful capabilities for data classification. The so-called hyperplane is a line that separates the data input nodes with different values, and the vectors from these points to the hyperplane can either support it (when all the data instances of the same class are on the same side of the hyperplane) or defy it (when the data point is outside the plane of its class).

The best hyperplane would be the one with the largest positive vectors and separating most of the data nodes. This is an extremely powerful classification machine that can be applied to a wide range of data normalization problems.
K Nearest Neighbours

KNN is a non-parametric (here non-parametric is just a fancy term which essentially means that KNN does not make any assumptions on the underlying data distribution), lazy learning algorithm (here lazy means that the “training” phase is fairly short).
Its purpose is to use a whole bunch of data points separated into several classes to predict the classification of a new sample point.
The following points serve as an overview of the general working of the algorithm:
  • A positive integer N is specified, along with a new sample
  • We select the N entries in our database which are closest to the new sample
  • We find the most common classification of these entries
  • This is the classification we give to the new sample

However, there are some downsides to using KNN. These downsides mainly revolve around the fact that KNN works on storing the entire dataset and comparing new points to existing ones. This means that the storage space increases as our training set increases. This also means that the estimation time increases in proportion to the number of training points.




Regression Algorithms
It falls into the category of Supervised Machine Learning, where the data set needs to have the labels, to begin with.
In regression problems, the output is a continuous quantity. we can use regression algorithms in cases where the target variable is a continuous variable.

    Linear Regression
Linear Regression is the most simple and effective regression algorithm. It is utilized to gauge genuine qualities (cost of houses, number of calls, all-out deals and so forth.) in view of the consistent variable(s). Here, we build up a connection between free and ward factors by fitting the best line. This best fit line is known as regression line and spoken to by a direct condition Y= a *X + b.
Linear regression is used in mathematical statistics for more than 200 years as of now. The point of the algorithm is finding such values of coefficients (B) that provide the most impact on the precision of the function f we are trying to train. The simplest example is
y= B0 + B1 * x,
where B0 + B1 is the function in question

By adjusting the weight of these coefficients, the data scientists get varying outcomes of the training. The core requirements for succeeding with this algorithm is having clear data without much noise (low-value information) in it and removing the input variables with similar values (correlated input values). 
This allows using a linear regression algorithm for gradient descent optimization of statistical data in financial, banking, insurance, healthcare, marketing, and other industrial.

Let us take a simple example here to understand linear regression.
Consider that you are given the challenge to estimate an unknown person’s weight by just looking at them. With no other values in hand, this might look like a fairly difficult task, however using your past experience you know that generally speaking the taller someone is, the heavier they are compared to a shorter person of the same build. This is linear regression, in actuality!
However, linear regression is best used in approaches involving a low number of dimensions. Also, not every problem is linearly separable.
Some of the most popular applications of Linear regression are in financial portfolio prediction, salary forecasting, real estate predictions and in traffic in arriving at ETAs

Clustering Algorithms
Clustering algorithms falls under the category of Unsupervised Learning, where the algorithm learns the patterns and based on the pattern’s similarity make clusters. A similar pattern is a group into one cluster.
K-Means Clustering
We are given a data set of items, with certain features, and values for these features. The task is to categorize those items into groups. To achieve this, we will use the k-Means algorithm; an unsupervised learning algorithm.
Overview
(It will help if you think of items as points in an n-dimensional space).  The algorithm will categorize the items into k groups of similarity. To calculate that similarity, we will use the Euclidean distance as measurement
The algorithm works as follows:
1.     we initialize x points, called means, randomly.
2.     We categorize each item to its closest mean and we update the mean’s coordinates, which are the averages of the items categorized in that mean so far.
3.     We repeat the process for a given number of iterations and at the end, we have our clusters.

 To carry out effective clustering, k-means evaluates the distance between each point from the centroid of the cluster. Depending on the distance between the data point and the centroid, the data is assigned to the closest cluster. The goal of clustering is to determine the intrinsic grouping in a set of unlabelled data.



Thanks for reading our article if you find an issue with this please comment us.


Post a Comment

0 Comments