The study of Mathematics has come a long way. From the discovery of zero to solving complex integral equations which somewhere surely has impacted the lives of many. Well, not many realise it but if maths had not been there, we wouldn’t have been able to sit in front of our laptops, these beautiful architectural monuments we see today wouldn’t have existed, we would never have been able to reach the moon or discover more about the black hole etc.
Realising the importance of maths and how it is valued among the researchers of tech giants for the purpose of Machine Learning or Computation, I will take you to a journey while discussing a really basic yet an important aspect of mathematics that is used in Machine Learning, vectors.
- Physical Quantities.
- Vector and Scalars
- Representation of vectors.
- Types of Vectors
- Operations on Vectors
- Section Formula
- Concept of Euclidean Distance between two vectors.
- Where are vectors used in Machine Learning
What are Physical Quantities
Any quantity that can be measured in terms of numbers is called a physical quantity. Measurements in terms of size, mass etc. Let us understand it better with an example, your mom has asked you to buy 2 Kilograms of tomatoes, you convey the amount you want to buy to the vendor. He “measures” the mass and then gives you the desired quantity of tomatoes. Here since the mass can be measured in terms of numbers, it will be called a physical quantity.
Let’s delve a little more into it.
Physical quantities can be categorized into 2 categories: Scalars and Vectors.
Scalars and Vectors
Concisely, Scalars can be understood as the quantities which do not vary with direction example: mass, time, length etc. whereas vector quantities are the ones which do vary with direction example: force, velocity, momentum etc.
So if we talk about 1 meter of cloth, it will stay the same no matter how to see and from where you see it. It is independent of direction, place it is seen from. But this is not the case when it comes to the term “force”, here in the image below we see the value of force changes when we vary direction where it is exerted from. The same is for velocity, acceleration etc. And this is exactly why they are called vector quantities.
Representation of a vector
A vector is denoted by an arrow (→).
The direction where the vector is pointing is called the vector’s direction. The length of the vector describes the magnitude of the vector.
Source: Math is fun
Let’s say the magnitude of the vector is denoted by r and the angle at which it is inclined is theta.
Source: math is fun
There is a correlation between all the values,
X = rcosθ Y = rsinθ r = √ ( x^2 + y^2 ) θ = tan^-1 ( y / x )
Types of vectors
- Zero Vector or NULL Vector: A vector with zero magnitudes is called a NULL vector. The tail and the head of this vector are the same. Denoted by vector O.
- Unit Vector: As the name suggests, a unit vector is the one with the value of its magnitude equalling to one. Denoted by .
Here i,j,k are three unit vectors in the direction of x,y,z respectively.
- Collinear Vector: Two vectors are said to be collinear if they are either parallel to each other or lie on the same line irrespective of their direction.
- Coplanar vector: A set of vectors is called coplanar if they all lie on the same plane.
Note: Collinear vectors will always be coplanar, but coplanar vectors may or may not be collinear.
- Equal vector: a set of vectors, is called equal if they have the same magnitude and sense.
- Position vector: It can be understood as a fixed vector which is located in a point in the geometrical space with respect to another point, usually the origin.
These are some basic terminologies that one can understand, effortlessly.
Now just like numbers, vectors have operations too. You guessed it right, arithmetic operations.
Operations on Vectors
- Vector addition
import numpy as np #pip install numpy a=np.array([1,2,3]) b=np.array([4,5,3]) print(a+b) Output: [5,7,6]
Let us say
A = 1i+2j+3k and B = 4i+5j+3k
A+B would be
(1+4)i+(2+5)j+(3+3)k = 5i+7j+6k
Another pictorial representation of the same can be seen below.
- Vector Subtraction
import numpy as np a=np.array([3,5]) b=np.array([4,-2]) print(a-b) Output: [-1,7]
Let us take
A = 3i+5j and B = 4i-2j
A-B= (3-4)i+(5-(-2))j = -i+7j
- Multiplication of scalars to vectors:
import numpy as np a=np.array([3,5]) print(3*a) Output: [9, 15]
A=4i-3j, So 4A=4(4)i-4(3)j = 16i - 12j
If vector a and b are two unique position vectors of two different point say, A and B, then the position vector of a point which segments AB in a real ration of m:n is given by:
r = (m*b+n*a)/(m+n), here r,a,b are position vectors.
For external segmentation, the formula the same just one needs to replace “+” with “-”.
Let us understand it better with an example:
Ex: Find a position vector R which divides the line joining two points P and Q whose position vectors are
(4 î - 2 ĵ + 3 k̂) and
(-2î+ 5ĵ+ 3k̂) respectively, in the ratio 2:1
OP = 4 î - 2 ĵ + 3 k̂
OQ = -2î+ 5ĵ+ 3k̂
OR = 2(-2î+ 5ĵ+ 3k̂) + 1(4 î - 2 ĵ + 3 k̂)/2 + 1
OR = (-4î+ 10ĵ+ 6k̂ + 4 î - 2 ĵ + 3 k̂)/3
((-4+4)i + (10-2)j + (6+3)k)/3
OR = (8j +9k)/3
When segmented internally OR would be (8j +9k)/3.
OP = 4 î - 2 ĵ + 3 k̂
OQ = -2î+ 5ĵ+ 3k̂
OR = 2(-2î+ 5ĵ+ 3k̂) - 1(4 î - 2 ĵ + 3 k̂)/2 - 1
(-4î+ 10ĵ+ 6k̂ - 4 î + 2 ĵ - 3 k̂)/1
((-4-4)i + (10+2)j + (6-3)k)
-8i + 12j + 3k
When segmented externally OR would be
-8i + 12j + 3k.
Concept of Euclidean Distance
What is it exactly?
Euclidean distance is the distance that is measured between two points, here vectors.
The formula for Euclidean Distance:
Source: Predictive Hacks
Let’s understand it better with an example:
import NumPy as np #pip install numpy a=np.array([4,6]) b=np.array([7,-2]) print(np.linalg.norm(a-b)) Output: 8.0622577
A = 4i + 6j
B = 7i - 2j
So the distance between A and B would be:
d(A,B) = √ (4-7)² + (6-(-2))² = √9+64 = √73
Therefore, the distance between vector A and B is √73.
Where is a vector used in Machine Learning?
Machine Learning comprises many decision-making algorithms which help us predict the outcome in a situation. Of these many, one specific algorithm which uses vectors is Support Vector Machine, abbreviated as SVM.
An SVM analyses vectors across the given dimensional space for finding out the optimal hyperplane. The concept of Euclidean distance is often used here to find the distance between the data points and the hyperplane.
Subscribe to AIM for more such amazing articles and newsletters!