Question
In this exercise on representing points in Python, it is noted that we can represent points of arbitrary dimension with lists. In practice, would we often utilize lists of dimension greater than the three spatial dimensions?
Answer
First, it’s important to understand that “dimensions” aren’t necessarily spatial dimensions ( [x, y, z] or [length, width, depth], etc.). When we refer to dimensions, we are specifically speaking about the number of factors that we’re judging an object, or piece of data, against. For example, when we’re reading the position of a point in three-dimensional space, we’re judging its position against three fixed axes; these three axes are the only factors that we care about in this context. In data science and machine learning, we will often encounter circumstances where a result or computation depend on many more factors and, hence, many more dimensions.
Let’s make this concrete with an example. Suppose that you have an application that takes an image and attempts to identify it as one of fifty categories. Maybe the first category is “cat”, the second is “dog”, the third is “human”, and so on. It’s possible that your application creates a list of fifty percentages which gives you an estimate of its confidence that the image belongs to each category. So, if your application creates the list L
for some image I
, then L[0]
is the probability that I
is an image of a cat, L[1]
is the probability that I
is an image of a dog, and so on up to L[50]
. In this case, our problem calls for fifty dimensions.
These kinds of circumstances are very common. So it may be helpful to think of dimensions as the number of factors which are important for your problem.