Lesson 4: Introduction to AI and Machine Learning#
Welcome to the fascinating world of Artificial Intelligence! AI is everywhere - from your phone’s voice assistant to Netflix recommendations to self-driving cars.
What You’ll Learn#
What is Artificial Intelligence and Machine Learning?
Different types of AI and ML
How computers “learn” from data
Building simple AI programs in Python
Real-world AI applications
AI ethics and responsibility
💡 Real-World Analogy#
Think of AI like teaching a child:
You show them examples (training)
They learn patterns (“hot stoves burn”)
They make predictions (“this stove is hot, don’t touch!”)
AI works the same way - it learns from examples to make predictions!
1. What is Artificial Intelligence?#
Artificial Intelligence (AI) is when computers can perform tasks that typically require human intelligence.
Examples of AI in Your Daily Life:#
📱 Siri/Alexa: Understanding and responding to your voice
📧 Email Spam Filters: Detecting which emails are junk
🎬 Netflix/YouTube: Recommending shows you might like
📸 Photo Apps: Recognizing faces and organizing photos
🗺️ Google Maps: Predicting traffic and best routes
🎮 Video Game Enemies: Adapting to your playing style
🛒 Amazon: “Customers who bought this also bought…”
🚗 Self-Driving Cars: Navigating roads autonomously
Two Types of AI#
1. Narrow AI (Weak AI) - Most common today
Good at ONE specific task
Examples: Face recognition, playing chess, translating languages
Can’t do anything outside its specific task
2. General AI (Strong AI) - Future goal
Can do ANY intellectual task a human can
Can learn and adapt to new situations
Doesn’t exist yet! (despite what movies show)
2. What is Machine Learning?#
Machine Learning (ML) is a type of AI where computers learn from data instead of being explicitly programmed with rules.
Traditional Programming vs Machine Learning#
Traditional Programming:
Rules + Data → Computer → Answer
Example: “If email contains ‘FREE MONEY’, mark as spam”
Machine Learning:
Data + Answers → Computer → Rules (Model)
Example: Show computer 10,000 spam emails and 10,000 real emails. Computer learns patterns automatically!
Three Main Types of Machine Learning#
1. Supervised Learning (Learning with a teacher)
You provide labeled data (examples with correct answers)
AI learns the pattern, then predicts on new data
Example: Show AI 1000 cat photos labeled “cat” and 1000 dog photos labeled “dog”. Now it can recognize new cats and dogs!
2. Unsupervised Learning (Learning without a teacher)
You provide unlabeled data (no correct answers)
AI finds patterns and groups similar things together
Example: Give AI customer shopping data. It discovers “people who buy diapers often buy beer” (true story!)
3. Reinforcement Learning (Learning through trial and error)
AI tries different actions and gets rewards/penalties
Learns which actions lead to best outcomes
Example: AI learning to play video games by trying moves and getting points
3. Key AI/ML Terms#
Let’s learn the vocabulary of AI:
Term |
Definition |
Example |
|---|---|---|
Training |
Teaching AI by showing it examples |
Showing 1000 spam emails |
Model |
The AI’s learned understanding of patterns |
The spam filter’s knowledge |
Prediction |
AI’s guess about new, unseen data |
“This email is probably spam” |
Features |
Properties used to make decisions |
Email length, sender, words used |
Label |
The correct answer in training data |
“spam” or “not spam” |
Accuracy |
How often the AI is correct |
“95% of predictions are right” |
Dataset |
Collection of data used for training |
10,000 emails with labels |
4. Your First AI: Rule-Based Systems#
Before machine learning, AI used rules (if-then statements). Let’s build some!
# Example 1: Simple number classifier
def classify_number(number):
"""
A simple rule-based AI that classifies numbers.
This isn't "learning" - we explicitly program the rules.
"""
if number > 50:
return "BIG"
else:
return "SMALL"
# Test our simple AI
test_numbers = [10, 75, 30, 100, 5, 50]
for num in test_numbers:
prediction = classify_number(num)
print(f"Number {num} is classified as: {prediction}")
# Example 2: Weather-based activity recommender
def recommend_activity(temperature, is_raining):
"""
Rule-based AI that recommends activities based on weather.
"""
if is_raining:
return "Stay inside and read a book! 📚"
elif temperature > 30:
return "Go swimming! 🏊"
elif temperature > 20:
return "Perfect for a walk! 🚶"
elif temperature > 10:
return "Wear a jacket and go hiking! 🥾"
else:
return "Stay warm inside! ☕"
# Test different weather conditions
print("Weather AI Recommendations:")
print(recommend_activity(25, False)) # Nice day
print(recommend_activity(25, True)) # Rainy
print(recommend_activity(35, False)) # Hot day
print(recommend_activity(5, False)) # Cold day
🤔 Limitations of Rule-Based AI#
Rule-based systems work, but they have problems:
You must think of EVERY rule - What about temperature 20.5? 19.9?
Hard to handle complex patterns - Recognizing faces would need millions of rules!
Can’t adapt - If conditions change, you must manually update rules
This is why Machine Learning is better - it learns patterns automatically!
5. Learning from Data: Pattern Recognition#
Let’s see how AI can find patterns in data!
# Training data: Hours studied → Test grade
# This is LABELED data (we know the correct answers)
study_hours = [1, 2, 3, 4, 5, 6, 7, 8]
test_grades = [50, 55, 60, 65, 70, 75, 80, 85]
# Let's visualize the pattern
print("Training Data:")
print("Hours | Grade")
print("------+------")
for hours, grade in zip(study_hours, test_grades):
print(f" {hours} | {grade}")
# Can you see the pattern?
# Each additional hour of study adds about 5 points to the grade!
# Now let's create a simple "model" that learned this pattern
def predict_grade(hours):
"""
A simple ML model that predicts test grade based on study hours.
Pattern discovered from data:
- Base grade: 45 (if you study 0 hours)
- Each hour adds: 5 points
Formula: grade = 45 + (hours * 5)
"""
base_grade = 45
points_per_hour = 5
predicted_grade = base_grade + (hours * points_per_hour)
return predicted_grade
# Test predictions on NEW data (data the model hasn't seen!)
print("\nPredictions on new data:")
test_cases = [0, 2.5, 5, 9, 10]
for hours in test_cases:
prediction = predict_grade(hours)
print(f"Study {hours} hours → Predicted grade: {prediction}")
🎯 This is Machine Learning!#
What we just did:
✅ Collected training data (study hours and grades)
✅ Found a pattern (5 points per hour)
✅ Created a model (the prediction function)
✅ Made predictions on new, unseen data
This is the essence of supervised learning!
6. Classification: Categorizing Things#
Classification is when AI puts things into categories. Let’s build a simple classifier!
# Example: Email spam detector (simplified)
# In real ML, this would learn from thousands of examples
# Here we'll use simple rules to demonstrate the concept
spam_words = ["free", "winner", "click here", "urgent", "money", "prize", "congratulations"]
def is_spam(email_text):
"""
Simple spam classifier.
Checks if email contains suspicious words.
Returns: "SPAM" or "NOT SPAM"
"""
email_lower = email_text.lower()
spam_word_count = 0
# Count how many spam words appear
for word in spam_words:
if word in email_lower:
spam_word_count += 1
# Decision rule: 2 or more spam words → probably spam
if spam_word_count >= 2:
return "SPAM"
else:
return "NOT SPAM"
# Test the spam detector
emails = [
"Hey, want to grab lunch tomorrow?",
"CONGRATULATIONS! You are a WINNER! Click here to claim your FREE prize!",
"Meeting scheduled for 3pm today.",
"URGENT: Free money waiting for you! Click now!"
]
print("Email Classification Results:")
for i, email in enumerate(emails, 1):
result = is_spam(email)
print(f"\nEmail {i}: {email[:50]}...")
print(f"Classification: {result}")
7. Recommendation Systems#
Ever wonder how Netflix knows what you might like? Recommendation systems are a type of AI!
# Simple movie recommender based on genre preference
movies = {
"Action": ["Die Hard", "Mad Max", "John Wick", "The Bourne Identity"],
"Comedy": ["Superbad", "The Hangover", "Bridesmaids", "Step Brothers"],
"Sci-Fi": ["Inception", "The Matrix", "Interstellar", "Blade Runner"],
"Horror": ["The Shining", "Get Out", "A Quiet Place", "Hereditary"],
"Drama": ["The Shawshank Redemption", "Forrest Gump", "The Godfather", "Parasite"]
}
def recommend_movies(favorite_genre, num_recommendations=3):
"""
Simple recommendation AI that suggests movies based on genre.
In real systems, this would use:
- Your viewing history
- Ratings you've given
- What similar users watched
- Complex algorithms
"""
if favorite_genre in movies:
recommendations = movies[favorite_genre][:num_recommendations]
print(f"\n🎬 Since you like {favorite_genre}, you might enjoy:")
for i, movie in enumerate(recommendations, 1):
print(f" {i}. {movie}")
else:
print(f"\n❌ Genre '{favorite_genre}' not found.")
print(f"Available genres: {', '.join(movies.keys())}")
# Test the recommender
recommend_movies("Action")
recommend_movies("Sci-Fi")
recommend_movies("Horror")
# More advanced: Recommender based on user ratings
# This simulates "collaborative filtering" - recommending based on similar users
user_ratings = {
"Alice": {"Inception": 5, "The Matrix": 5, "Die Hard": 3, "Superbad": 2},
"Bob": {"Inception": 5, "The Matrix": 4, "Interstellar": 5, "Blade Runner": 4},
"Charlie": {"Superbad": 5, "The Hangover": 5, "Step Brothers": 4, "Die Hard": 3}
}
def find_similar_user(target_user):
"""
Find a user with similar taste.
In real systems, this uses complex similarity calculations.
"""
target_ratings = user_ratings[target_user]
# Simple similarity: count how many movies they both rated highly
best_match = None
best_match_score = 0
for user, ratings in user_ratings.items():
if user == target_user:
continue
# Count shared high ratings
similarity = 0
for movie in target_ratings:
if movie in ratings:
# Both like the movie?
if target_ratings[movie] >= 4 and ratings[movie] >= 4:
similarity += 1
if similarity > best_match_score:
best_match = user
best_match_score = similarity
return best_match
def recommend_from_similar_user(target_user):
"""
Recommend movies that similar users liked.
This is "collaborative filtering" - the basis of Netflix recommendations!
"""
similar_user = find_similar_user(target_user)
if similar_user:
print(f"\n👥 {target_user}, you have similar taste to {similar_user}!")
print(f"\n🎬 {similar_user} also enjoyed:")
target_movies = set(user_ratings[target_user].keys())
similar_movies = user_ratings[similar_user]
for movie, rating in similar_movies.items():
if movie not in target_movies and rating >= 4:
print(f" - {movie} ({rating}/5 stars)")
# Test collaborative filtering
recommend_from_similar_user("Alice")
8. Real-World AI Applications#
Let’s see where AI is being used today!
Healthcare 🏥#
Detecting diseases from X-rays and MRI scans
Predicting patient health risks
Drug discovery and development
Personalized treatment recommendations
Transportation 🚗#
Self-driving cars (Tesla, Waymo)
Traffic prediction and optimization
Ride-sharing route optimization (Uber, Lyft)
Airline pricing and scheduling
Finance 💰#
Fraud detection on credit cards
Stock market prediction
Loan approval decisions
Algorithmic trading
Entertainment 🎮#
Netflix/Spotify recommendations
Video game AI opponents
Content moderation (removing harmful content)
Music and art generation
Communication 💬#
Language translation (Google Translate)
Voice assistants (Siri, Alexa, Google Assistant)
Autocomplete and spell check
Chatbots for customer service
9. AI Ethics and Responsibility#
AI is powerful, but we must use it responsibly!
Important Ethical Considerations:#
1. Bias in AI ⚠️
AI learns from data. If data is biased, AI will be biased!
Example: Hiring AI trained on mostly male resumes might discriminate against women
Solution: Use diverse, representative training data
2. Privacy 🔒
AI often needs personal data to work
Example: Face recognition can be used for surveillance
Question: Should companies track everything you do online?
3. Transparency 🔍
Many AI systems are “black boxes” - we don’t know how they make decisions
Example: If AI denies your loan, shouldn’t you know why?
Challenge: Making AI explainable
4. Job Displacement 👷
AI automation may replace some jobs
Example: Self-checkout machines, autonomous vehicles
Question: How do we help people transition to new careers?
5. Safety and Security 🛡️
What if AI makes a mistake in a critical system?
Example: Self-driving car crash, medical diagnosis error
Need: Rigorous testing and fail-safes
The Future of AI#
As you learn AI, remember:
With great power comes great responsibility
Consider the impact of the AI systems you build
Strive for fairness, transparency, and safety
AI should help humans, not harm them!
📝 Exercises#
Exercise 1: Age-Based Activity Recommender#
Create a function that recommends an activity based on age:
Kids (0-12): “Play in the park”
Teens (13-19): “Hang out with friends”
Young Adults (20-30): “Explore career opportunities”
Adults (31-64): “Focus on career and family”
Seniors (65+): “Enjoy retirement and hobbies”
Test it with different ages!
# Your code here
Exercise 2: Simple Grade Predictor#
Look at this pattern:
0 hours of homework → 40 grade
1 hour of homework → 50 grade
2 hours of homework → 60 grade
3 hours of homework → 70 grade
Create a function that predicts the grade based on homework hours. What pattern do you see? Test your function with 5 hours and 10 hours.
# Your code here
Exercise 3: Movie Genre Classifier#
Create a function that takes a movie description and classifies it:
If description contains “space”, “robot”, “future” → “Sci-Fi”
If description contains “funny”, “laugh”, “joke” → “Comedy”
If description contains “scary”, “horror”, “fear” → “Horror”
Otherwise → “Drama”
Test with these descriptions:
“A funny story about a clumsy spy”
“Robots take over the future of space travel”
“A scary tale of horror in an old house”
# Your code here
Exercise 4: Music Recommender#
Create a simple music recommendation system:
Make a dictionary with music genres as keys and song lists as values
Create a function that takes a mood (“happy”, “sad”, “energetic”, “relaxed”)
Map moods to genres (e.g., “happy” → “Pop”, “energetic” → “Rock”)
Return song recommendations for that mood
# Your code here
Exercise 5: Simple Password Strength Checker#
Create an AI that checks password strength:
“Weak” if less than 8 characters
“Medium” if 8-12 characters
“Strong” if more than 12 characters AND contains numbers
Test with: “pass”, “password123”, “MyS3cur3P@ssw0rd!”
# Your code here
Exercise 6: Temperature Predictor#
You have temperature data by month:
Month 1 (January): 10°C
Month 4 (April): 20°C
Month 7 (July): 30°C
Month 10 (October): 20°C
Create a simple function that predicts temperature for any month. Hint: Temperature peaks in summer (month 7) and is lowest in winter (month 1).
# Your code here
✅ Self-Check Quiz#
Before moving on, make sure you can answer these:
What is Artificial Intelligence?
What’s the difference between Narrow AI and General AI?
What is Machine Learning?
What are the three main types of machine learning?
What’s the difference between traditional programming and machine learning?
What is “training” in machine learning?
What is a “model” in AI?
What is “classification”?
How do recommendation systems work?
Name three ethical concerns with AI.
🎯 Key Takeaways#
AI makes computers perform tasks that require human intelligence
Machine Learning teaches computers to learn from data instead of explicit rules
Three types of ML: Supervised (with labels), Unsupervised (find patterns), Reinforcement (trial and error)
Training → showing AI examples to learn patterns
Model → AI’s learned knowledge
Prediction → AI’s guess on new data
Classification → putting things into categories
Recommendation systems → suggesting things you might like
AI Ethics → fairness, privacy, transparency, safety are crucial!
AI is everywhere: healthcare, transportation, entertainment, finance
🚀 Next Steps#
Congratulations! You now understand the basics of AI and Machine Learning!
What we covered:
✅ What AI is and how it works
✅ Different types of AI and ML
✅ Building simple AI programs
✅ Real-world applications
✅ Ethical considerations
Continue learning:
Computing Fundamentals:
05_computing_fundamentals.ipynbMedium Level: Learn Python functions and data structures
Medium ML:
medium/04_machine_learning_basics.ipynb- Real ML with scikit-learn!Hard Level: Deep learning, neural networks, and NLP
💡 Pro Tips#
Start simple: Basic AI can be very effective!
Data is key: More (good) training data = better AI
Test thoroughly: AI can make mistakes
Think ethically: Consider the impact of your AI
Keep learning: AI is a rapidly evolving field
Practice: Build small AI projects to solidify concepts
Stay curious: Try to understand how AI around you works
🌟 Fun Facts#
1951: First AI program created (played checkers)
1997: IBM’s Deep Blue beat world chess champion Garry Kasparov
2011: IBM Watson won Jeopardy!
2016: AlphaGo beat world Go champion (Go is much harder than chess!)
2020: GPT-3 can write human-like text
Today: AI can generate images, code, music, and more!
The best part? You’re learning this NOW, when AI is transforming the world. The future is yours to build!
Social Media 📱#
Photo tagging and face recognition
News feed personalization
Ad targeting
Identifying fake news