Chapter 1 — Sets, Relations & Functions
This chapter covers foundational concepts of sets, relations, and functions. These concepts are essential for understanding data structures, feature mappings, and relationships in AI/ML datasets.
1.1 Sets
A set is a collection of distinct elements. Sets are the building blocks of mathematical data representation. Key Concepts:
- Subset: A set where all elements belong to another set.
- Power set: The set of all subsets of a given set.
- Universal set: Contains all elements under consideration.
AI/ML Context: Representing features, labels, and datasets as sets helps in organizing and processing data efficiently.
1.2 Set Operations
Fundamental operations to combine or compare sets.
- Union ( ∪ ): Combines all elements from two sets.
- Intersection ( ∩ ): Elements common to both sets.
- Difference ( − ): Elements in one set but not the other.
- Complement: Elements not in the given set relative to the universal set.
AI/ML Context: Useful in feature selection, filtering datasets, and logical conditions for ML preprocessing.
1.3 Relations
A relation defines how elements from one set relate to elements of another set.
- Reflexive: Every element relates to itself.
- Symmetric: If a relates to b, then b relates to a.
- Transitive: If a relates to b and b relates to c, then a relates to c.
- Equivalence relations: Relations that are reflexive, symmetric, and transitive.
AI/ML Context: Equivalence relations can group similar data points, helping in clustering and data segmentation.
1.4 Functions
A function maps each element from an input set to exactly one element in an output set.
- One-to-one (Injective): Every input maps to a unique output.
- Onto (Surjective): Every element in the output set has a pre-image in the input set.
- Bijective: Both one-to-one and onto; establishes a perfect pairing between input and output sets.
AI/ML Context: Functions represent transformations, mappings from input features to predictions, and data preprocessing pipelines.
1.5 Practical Python Examples
# Representing sets in Python
features = {'height', 'weight', 'age'}
labels = {'healthy', 'sick'}
# Set operations
all_elements = features.union(labels)
common = features.intersection(labels)
difference = features.difference(labels)
# Functions as mappings
def feature_to_label(height, weight):
if height > 170 and weight < 70:
return 'healthy'
else:
return 'sick'
print(all_elements, common, difference)
print(feature_to_label(180, 65))
1.6 Why Sets, Relations & Functions Matter in AI/ML
Understanding sets, relations, and functions helps structure datasets, define relationships between variables, and implement feature transformations. These concepts form the backbone for:
- Feature engineering and preprocessing
- Mapping inputs to outputs in predictive models
- Clustering and equivalence-based grouping
1.7 Exercises
- Define a universal set of 10 features and create subsets for training and testing.
- Implement a function that maps numerical features to a categorical label.
- Create two sets of labels and compute their union, intersection, and difference.
Hints / Solutions
- Use Python
set()and operations likeunion(),intersection(),difference(). - Define a Python function using
defandif-elsestatements. - Use
set1.union(set2),set1.intersection(set2),set1.difference(set2).
1.8 Further Reading & Videos
- Discrete Mathematics and Its Applications – Kenneth H. Rosen
- Khan Academy – Set Theory and Functions
- YouTube – "Discrete Mathematics for Computer Science" by WilliamFiset
Next Chapter: Logic & Propositional Calculus — Learn to reason, represent, and evaluate logical statements, crucial for AI/ML decision-making.