Module 5
Clustering Algorithms & Reinforcement Learning:
Dr. Vishwesh J, GSSSIETW, Mysuru
Clustering Algorithms => 5.1 Introduction to Clustering Approaches
• Cluster analysis is the fundamental task of unsupervised learning. Unsupervised learning involves exploring
the given dataset.
• Cluster analysis is a technique of partitioning a collection of unlabelled objects that have many attributes into
meaningful disjoint groups or clusters.
• This is done using a trial and error approach as there are no supervisors available as in classification.
• The characteristic of clustering is that the objects in the clusters or groups are similar to each other within the
clusters while differ from the objects in other clusters significantly.
• The input for cluster analysis is examples or samples. These are known as objects, data points or data instances.
• All these terms are same and used interchangeably in this chapter.
• All the samples or objects with no labels associated with them are called unlabelled.
• The output is the set of clusters (or groups) of similar data if it exists in the input.
• For example, the following Figure 5.1 (a) shows data points or samples with two features shown in different
shaded samples and Figure 5.1 (b) shows the manually drawn ellipse to indicate the clusters formed.
Dr. Vishwesh J, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Figure 5.1: (a) Data Samples
(b) Clusters’ Description
Table 5.1: Differences between
Classification and Clustering
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Applications of Clustering
1. Grouping based on customer buying patterns
2. Profiling of customers based on lifestyle
3. In information retrieval applications (like retrieval of a document from a collection of documents)
4. Identifying the groups of genes that influence a disease
5. Identification of organs that are similar in physiology functions
6. Taxonomy of animals, plants in Biology
7. Clustering based on purchasing behaviour and demography
8. Document indexing
9. Data compression by grouping similar objects and finding duplicate objects
Challenges of Clustering Algorithms
• A huge collection of data with higher dimensions (i.e., features or attributes) can pose a problem for clustering
algorithms.
• With the arrival of the internet, billions of data are available for clustering algorithms. This is a difficult task, as
scaling is always an issue with clustering algorithms.
• Scaling is an issue where some algorithms work with lower dimension data but do not perform well for higher
dimension data.
• Also, units of data can post a problem, like some weights in kg and some in pounds can pose a problem in
clustering. Designing a proximity measure is also a big challenge.
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Table 5.12: Advantages and
Disadvantages of Clustering Algorithms
Clustering Algorithms => 5.2 Proximity Measures
• Clustering algorithms need a measure to find the similarity or dissimilarity among the objects to group them.
• Similarity and dissimilarity are collectively known as proximity measures.
• Often, the distance measures are used to find similarity between two objects, say i and j.
• Distance measures are known as dissimilarity measures, as these indicate how one object is different from
another.
• Measures like cosine similarity indicate the similarity among objects.
• Distance measures and similarity measures are two sides of the same coin, as more distance indicates more
similarity and vice versa.
• Distance between two objects, say i and j, isVishwesh
denoted by the
Jayashkear, Mysuru 𝐷𝑖𝑗 .
symbol
GSSSIETW,
Machine Learning (BCS602): Module 5 Clustering Algorithms
• The properties of the distance measures are:
1. 𝐷𝑖𝑗 is always positive or zero.
2. 𝐷𝑖𝑗 = 0, i.e., the distance between the object to itself is 0.
3. 𝐷𝑖𝑗 = 𝐷𝑗𝑖 . This property is called symmetry.
4. 𝐷𝑖𝑗 ≤ 𝐷𝑖𝑘 + 𝐷𝑘𝑗 . This property is called triangular inequality.
• If all these conditions are satisfied, then the distance measure is called a metric.
• Let us review some of the proximity measures which are: Quantitative Variables, Binary Attributes, Categorical
Variables, Ordinal Variables and Vector Type Distance Measures.
Quantitative Variables
• Some of the qualitative variables are Euclidean Distance, City Block Distance, Chebyshev Distance and
Minkowski Distance.
Euclidean Distance It is one of the most important and common distance measures. It is also called as
𝐋𝟐 norm. It can be defined as the square root of squared differences between the coordinates of a pair of
objects. The Euclidean distance between objects 𝑥𝑖 and 𝑥𝑗 with k features is given as follows:
Eq. (5.1)
City Block Distance is known as Manhattan distance. This is also known as boxcar, absolute value distance,
Manhattan distance, Taxicab or L1 norm. The formula for finding the distance is given as follows:
Eq. (5.2)
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Chebyshev Distance is known as maximum value distance. This is the absolute magnitude of the differences
between the coordinates of a pair of objects. This distance is called supremum distance or Lmax or L∞ norm.
The formula for computing Chebyshev distance is given as follows:
Eq. (5.3)
Example 5.1: Suppose, if the coordinates of the objects are (0, 3) and (5, 8), then what is the Chebyshev distance?
Solution: The Euclidean distance using Eq. (5.20) is given as follows:
The Manhattan distance using Eq. (5.21) is given as follows:
The Chebyshev distance using Eq. (5.22) is given as follows:
Minkowski Distance In general, all the above distance measures can be generalized as:
Eq. (5.4)
Here, r is a parameter. When the value of r is 1, the distance measure is called city block distance. When
the value of r is 2, the distance measure is called Euclidean distance. When, r is ∞, then this is Chebyshev
distance. Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Binary Attributes
• Binary attributes have only two values. Distance measures discussed above cannot be applied to find distance
between objects that have binary attributes.
• For finding the distance among objects with binary objects, the contingency Table 5.3 can be used.
• Let x and y be the objects consisting of N-binary objects. Then, the contingency table can be constructed by
counting the number of matching of transitions, 0–0, 0–1, 1–0 and 1–1.
Table 5.3: Contingency Table
• In other words, ‘a’ is the number of attributes where x attribute is 0 and y attribute is 0. ‘b’ is the number of
attributes where x attribute is 0 and y attribute is 1, ‘c’ is the number of attributes where x attribute is 1 and y
attribute is 0 and ‘d’ is the number of attributes where x attribute is 1 and y attribute is 1.
Simple Matching Coefficient (SMC) is a simple distance measure and is defined as the ratio of number of
matching attributes and the number of attributes. The formula is given as:
Eq. (5.5)
The values of a, b, c, and d can be observed from the Table 5.17.
Jaccard Coefficient is another useful measure for and is given as follows:
Eq. (5.6)
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Hamming Distance is another useful measure that can be used for knowing the sequence of characters or
binary values. It indicates the number of positions at which the characters or binary bits are different.
For example, the hamming distance between x = (1 0 1) and y = (1 1 0) is 2 as x and y differ in two
positions. The distance between two words, say wood and hood is 1, as they differ in only one character.
Categorical Variables
• In many cases, categorical values are used. It is just a code or symbol to represent the values. For example, for
the attribute Gender, a code 1 can be given to female and 0 can be given to male.
• To calculate the distance between two objects represented by variables, we need to find only whether they are
equal or not. This is given as:
Eq. (5.7)
Ordinal Variables
• Ordinal variables are like categorical values but with an inherent order. For example, designation is an ordinal
variable. If job designation is 1 or 2 or 3, it means code 1 is higher than 2 and code 2 is higher than 3. It is ranked
as 1 > 2 > 3.
• Let us assume the designations of office employees are clerk, supervisor, manager and general manager. These
can be designated as numbers as clerk = 1, supervisor = 2, manager = 3 and general manager = 4. Then, the
distance between employee X who is a clerk and Y who is a manager can be obtained as:
Eq. (5.8)
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Here, position (X) and position(Y) indicate the designated numerical value. Thus, the distance between X
(Clerk = 1) and Y (Manager = 3) using Eq. (5.27) is given as:
Vector Type Distance Measures
• For text classification, vectors are normally used. Cosine similarity is a metric used to measure how similar the
documents are irrespective of their size. Cosine similarity measures the cosine of the angle between two vectors
projected in a multi-dimensional space.
• The similarity function for vector objects can be defined as:
Eq. (5.9)
The numeration is the dot product of the vectors A and B. The denominator is the product of the norm of
vectors A and B.
Example 5.2: If the given vectors are A = {1, 1, 0} and B = {0, 1, 1}, then what is the cosine similarity?
Solution: The dot product of the vector is 1 × 0 + 1 × 1 + 0 × 1 = 1. The norm of the vectors A and B is 2.
So, the cosine similarity using Eq. (5.28) is given as
Vishwesh Jayashkear, GSSSIETW, Mysuru
Clustering Algorithms => 5.3 Hierarchical Clustering Algorithms
• Hierarchical methods produce a nested partition of objects with hierarchical relationships among objects. Often,
the hierarchy relationship is shown in the form of a dendrogram.
• Hierarchical methods include categories, agglomerative methods and divisive methods.
• In agglomerative methods, initially all individual samples are considered as a cluster, that is, a cluster with a
single element. Then, they are merged and the process is continued to get a single cluster.
• Divisive methods use another kind of philosophy, where a single cluster of all samples of the dataset taken
initially is chosen and then partitioned. This partition process is continued until the cluster is split into smaller
clusters.
• Agglomerative methods merge clusters to reduce the number of clusters. This is repeated each time while
merging two closest clusters to get a single cluster. The procedure of agglomerative clustering is given as
follows:
Algorithm 5.1: Agglomerative Clustering
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
5.3.1 Single Linkage or MIN Algorithm
• Hierarchical clustering algorithms produce nested clusters, which can be visualized as a hierarchical tree or
dendrogram. The idea behind this approach is proximity among clusters.
• In single linkage algorithm, the smallest distance (x, y), where x is from one cluster and y is from another cluster,
is the distance between all possible pairs of the two groups or clusters and is used for merging the clusters.
• This corresponds to finding of minimum spanning tree (MST) of a graph.
Example 5.3: Consider the array of points as shown in the following Table. 5.4 and Apply single linkage algorithm.
Table 5.4: Sample Data
Solution: The similarity table among the variables is computed as shown in Table 5.4. Euclidean distance is
computed as shown in the following Table 5.5.
Table 5.5: Proximity Matrix
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
The minimum distance is 3.606. Therefore, the items 1 and 2 are clustered together. The resultant is shown
in Table 5.6.
Table 5.6: After Iteration 1
The distance between the group {1, 2} and items {0}, {3} and {4} is computed using the formula:
Eq. (5.10)
Here, DSL is the single linkage distance, Ci , Cj are clusters and d (a, b) is the distance between the elements
a and b.
Thus, the distance between {1, 2} and {0} is:
Minimum {{1, 0}, {2, 0}} = Minimum {4.123, 7.211} = 4.123
The distance between {1, 2} and {3} is given as:
Minimum {{1, 3}, {2, 3}} = Minimum {14.412, 10.630} = 10.630
The distance between {1, 2} and {4} is given as:
Minimum {{1, 4}, {2, 4}} = Minimum {23.324, 20.124} = 20.124
This is shown in Table 5.20. The minimum distance of Table 5.20 is 4.123.
Therefore, {0, 1, 2} is clustered together. This result is shown in Table 5.21.
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Thus, the distance between {0, 1, 2} and {3} using Eq.
(5.10) is given as
Minimum {{0, 3}, {1, 3}, {2, 3}} = Minimum
{17.804, 14.142, 10.630} = 10.630. Table 5.7: After Iteration 2
Thus, the distance between {0, 1, 2} and {4} is:
Minimum {{0, 4}, {1, 4}, {2, 4}} = Minimum
{27.295, 23.324, 20.124} = 20.124.
This is shown in Table 5.7. The minimum is 10.198. Table 5.8: After Iteration 3
Therefore, the items {3, 4} are merged. And, the items
{1, 2, 3} and {4, 5} are merged. The resultant is shown in Table
5.8.
The computation of ? in Table 5.8 is not needed as no
other items are left.
Therefore, the clusters {0, 1, 2} and {3, 4} are merged.
Dendrograms are used to plot the hierarchy of
clusters. Dendrogram for the above clustering is shown in the
following Figure 5.2.
Vishwesh Jayashkear, GSSSIETW, Mysuru
Figure 5.2: Dendrogram for Table 5.4
Machine Learning (BCS602): Module 5 Clustering Algorithms
5.3.2 Complete Linkage or MAX or Clique
• In complete linkage algorithm, the distance (x, y), (where x is from
one cluster and y is from another cluster), is the largest distance
between all possible pairs of the two groups or clusters as given
below. It is used for merging the clusters.
Eq. (5.11)
• Dendrogram for the above clustering is shown in Figure 5.3.
5.3.3 Average Linkage
• In case of an average linkage algorithm, the average distance of all Figure 5.3: Dendrogram for Table 5.4
pairs of points across the clusters is used to form clusters. The
average value computed between clusters Ci , Cj is given as follows:
Eq. (5.12)
Here, mi and mj are sizes of the clusters. The dendrogram for Table
5.4 is given in Figure 5.4.
Figure 5.4: Dendrogram for Table 54
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
5.3.4 Mean-Shift Clustering Algorithm
• Mean-shift is a non-parametric and hierarchical clustering algorithm.
• This algorithm is also known as mode seeking algorithm or a sliding window algorithm. It has many
applications in image processing and computer vision.
• There is no need for any prior knowledge of clusters or shape of the clusters present in the dataset.
• The algorithm slowly moves from its initial position towards the dense regions.
• The algorithm uses a window, which is basically a weighting function. Gaussian window is a good example of a
window. The radius of the kernel is called bandwidth.
• The entire window is called a kernel.
• The window is based on the concept of kernel density function and its aim is to find the underlying data
distribution.
• The method of calculation of mean is dependent on the choice of windows.
• If a Gaussian window is chosen, then every point is assigned a weight that decreases as the distance from the
kernel center increases.
• The algorithm is as shown:
Algorithm 5.2: Mean-Shift Clustering
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Advantages
1. No model assumptions
2. Suitable for all non-convex shapes
3. Only one parameter of the window, that is, bandwidth is required
4. Robust to noise
5. No issues of local minima or premature termination
Disadvantages
1. Selecting the bandwidth is a challenging task. If it is larger, then many clusters are missed. If it is small, then
many points are missed and convergence occurs as the problem.
2. The number of clusters cannot be specified and user has no control over this parameter.
Vishwesh Jayashkear, GSSSIETW, Mysuru
Clustering Algorithms => 5.4 Partitional Clustering Algorithm
• ‘k-means’ algorithm is a straightforward iterative partitional algorithm. Here, k stands for the user specified
requested clusters as users are not aware of the clusters that are present in the dataset.
• The k-means algorithm assumes that the clusters do not overlap. Therefore, a sample or data point can belong to
only one cluster in the end. Also, this algorithm can detect clusters of shapes like circular or spherical.
• The core process of the k-mean algorithm is assigning a sample to a cluster, that is, assigning each sample or
data point to the k cluster centers based on its distance and the centroid of the clusters.
• This distance should be minimum. As a new sample is added, new computation of mean vectors of the points
for that cluster to which sample is assigned is required.
• Therefore, this iterative process is continued until no change of instances to clusters is noticed.
Algorithm 5.3: k-means Algorithm
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
• k-means can also be viewed as greedy algorithm as it involves partitioning n samples to k clusters to minimize
Sum of Squared Error (SSE). SSE is a metric that is a measure of error that gives the sum of the squared
Euclidean distances of each data to its closest centroid. It is given as:
Eq. (5.13)
Here, Ci is the centroid of the 𝑖 𝑡ℎ cluster, x is the sample or data point and dist is the Euclidean distance. The
aim of the k-means algorithm is to minimize SSE.
Advantages
1. Simple
2. Easy to implement
Disadvantages
1. It is sensitive to initialization process as change of initial points leads to different clusters.
2. 2. If the samples are large, then the algorithm takes a lot of time.
Example 5.4: Consider the following set of data given in Table 5.9. Cluster it
using k-means algorithm with the initial value of objects 2 and 5 with the
coordinate values (4, 6) and (12, 4) as initial seeds.
Solution: As per the problem, choose the objects 2 and 5 with the coordinate
values. Hereafter, the objects' id is not important. The samples or data points (4,
6) and (12, 4) are started as two clusters as shown in Table 5.10.
Table 5.9: Sample Data
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Initially, centroid and data points are same as only one sample is involved.
Table 5.10: Initial Cluster Table
Iteration 1: Compare all the data points or samples with the centroid and assign to the nearest sample. Take the
sample object 2 (4, 6) from Table 5.9 and compare with the centroid of the clusters in Table 5.10. The distance is 0.
Therefore, it remains in the same cluster. Similarly, consider the remaining samples. For the object 1 (2, 4), the
Euclidean distance between it and the centroid is given as:
Object 1 is closer to the centroid of cluster 1 and hence assign it to cluster 1. This is shown in Table 5.11.
Object 2 is taken as centroid point.
For the object 3 (6, 8), the Euclidean distance between it and the centroid points is given as:
Object 3 is closer to the centroid of cluster 1 and hence remains in the
same cluster 1.
Proceed with the next point object 4(10, 4) and again compare it with
the centroids in Table 5.10.
Vishwesh Jayashkear, GSSSIETW, Mysuru Table 5.11: Cluster Table After Iteration 1
Machine Learning (BCS602): Module 5 Clustering Algorithms
Object 4 is closer to the centroid of cluster 2 and hence assign it to the cluster table. Object 4 is in the same
cluster. The final cluster table is shown in Table 5.11.
Obviously, Object 5 is in Cluster 3. Recompute the new centroids of cluster 1 and cluster 2. They are (4, 6)
and (11, 4), respectively.
Iteration 2: The second iteration is started again with the Table 5.11.
Obviously, the point (4, 6) remains in cluster 1, as the distance of it with itself is 0. The remaining objects
can be checked. Take the sample object 1 (2, 4) and compare with the centroid of the clusters in Table 5.12.
Object 1 is closer to centroid of cluster 1 and hence remains in the
same cluster. Take the sample object 3 (6, 8) and compare with the centroid
values of clusters 1 (4, 6) and cluster 2 (11, 4) of the Table 5.12.
Table 5.12: Cluster Table After Iteration 2
Object 3 is closer to centroid of cluster 1 and hence remains in the same cluster. Take the sample object 4
(10, 4) and compare with the centroid values of clusters 1 (4, 6) and cluster 2 (11, 4) of the Table 5.12:
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Object 3 is closer to centroid of cluster 2 and hence remains in the same cluster. Obviously, the sample (12,
4) is closer to its centroid as shown below:
Therefore, it remains in the same cluster. Object 5 is taken as centroid point.
There is no change in the cluster Table 5.12. It is exactly the same; therefore, the k-means algorithm
terminates with two clusters with data points as shown in the Table 5.12.
Clustering Algorithms => 5.5 Density-based Methods
• Density-based spatial clustering of applications with noise (DBSCAN) is one of the density-based algorithms.
• Density of a region represents the region where many points above the specified threshold are present.
• In a density-based approach, the clusters are regarded as dense regions of objects that are separated by regions
of low density such as noise.
• The concept of density and connectivity is based on the local distance of neighbours.
• The functioning of this algorithm is based on two parameters, the size of the neighbourhood (ε) and the
minimum number of points (m).
1. Core point – A point is called a core point if it has more than specified number of points (m) within e-
neighbourhood.
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
2. Border point – A point is called a border point if it has fewer than ‘m’ points but is a neighbour of a core
point.
3. Noise point – A point that is neither a core point nor border point.
• The main idea is that every data point or sample should have at least a minimum number of neighbours in a
neighbourhood.
• The neighbourhood of radius ε should have at least m points. The notion of density connectedness determines
the quality of the algorithm.
• The following connectedness measures are used for this algorithm.
1. Direct density reachable – The point X is directly reachable from Y, if:
a) X is the e-neighborhood of Y
b) Y is a core point
2. Densely reachable – The point X is densely reachable from Y, if there is a set of core points that leads from Y
to X.
3. Density connected – X and Y are densely connected if Z is a core point and thus points X and Y are densely
reachable from Z.
Algorithm 5.4: DBSCAN
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Advantages
1. No need for specifying the number of clusters beforehand
2. The algorithm can detect clusters of any shapes
3. Robust to noise
4. Few parameters are needed
Clustering Algorithms => 5.6 Grid-based Approach
• Grid-based approach is a space-based approach. It partitions space into cells, the given data is fitted on the cells
for cluster formation.
• There are three important concepts that need to be mastered for understanding the grid-based schemes. They
are:
1. Subspace clustering
2. Concept of dense cells
3. Monotonicity property
• Let us discuss about them.
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Subspace Clustering
• Grid-based algorithms are useful for clustering high-dimensional data, that is, data with many attributes.
• Some data like gene data may have millions of attributes. Every attribute is called a dimension. But all the
attributes are not needed, as in many applications one may not require all the attributes.
• For example, an employee’s address may not be required for profiling his diseases. Age may be required in that
case. So, one can conclude that only a subset of features is required.
• Only the CLIQUE algorithms are useful for exploring the subspaces. CLIQUE (Clustering in Quest) is a grid-
based method for finding clustering in subspaces. CLIQUE uses a multiresolution grid data structure.
Concept of Dense Cells
• CLIQUE partitions each dimension into several overlapping intervals and intervals it into cells. Then, the
algorithm determines whether the cell is dense or sparse. The cell is considered dense if it exceeds a threshold
value, say τ.
• Density is defined as the ratio of number of points and volume of the region.
• In one pass, the algorithm finds the number of cells, number of points, etc. and then combines the dense cells.
For that, the algorithm uses the contiguous intervals and a set of dense cells.
Algorithm 5.5: Dense Cells
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Monotonicity Property
• CLIQUE uses anti-monotonicity property or apriori property of the famous apriori algorithm.
• It means that all the subsets of a frequent item should be frequent. Similarly, if the subset is infrequent, then all
its supersets are infrequent as well.
• Based on the apriori property, one can conclude that a k-dimensional cell has r points if and only if every (k – 1)
dimensional projections of this cell have atleast r points.
• So like association rule mining that uses apriori rule, the candidate dense cells are generated for higher
dimensions. The algorithm works in two stages as shown below.
Algorithm 5.6: CLIQUE
Vishwesh Jayashkear, GSSSIETW, Mysuru
Machine Learning (BCS602): Module 5 Clustering Algorithms
Advantages of CLIQUE
1. Insensitive to input order of objects
2. No assumptions of underlying data distributions
3. Finds subspace of higher dimensions such that high-density clusters exist in those subspaces
Disadvantage
1. The disadvantage of CLIQUE is that tuning of grid parameters, such as grid size, and finding optimal
threshold for finding whether the cell is dense or not is a challenge.
Vishwesh Jayashkear, GSSSIETW, Mysuru
Reinforcement Learning => 5.7 Overview of Reinforcement Learning
• Please refer the text book content for the chapter Reinforcement Learning
Vishwesh Jayashkear, GSSSIETW, Mysuru