AI programming

Absolutely. Since you already know Python and have a PhD in Data Mining, you can focus on modern AI rather than starting from scratch.

Here’s a practical roadmap.

Stage 1: Refresh Python for AI (1 week)

Review:

NumPy

Pandas

Matplotlib

Object-Oriented Programming

Python functions and classes


Stage 2: Mathematics (2–3 weeks)

Learn the essentials:

Linear algebra (vectors, matrices)

Calculus (gradients)

Probability and statistics


You don’t need advanced mathematics initially—just enough to understand how neural networks learn.

Stage 3: Machine Learning (3–4 weeks)

Use scikit-learn to learn:

Linear Regression

Logistic Regression

Decision Trees

Random Forest

Support Vector Machines

Clustering (K-Means)

Model evaluation


Stage 4: Artificial Neural Networks (ANN) (3 weeks)

Learn concepts:

Perceptron

Neurons

Hidden layers

Activation functions (ReLU, Sigmoid, Softmax)

Backpropagation

Gradient Descent


Then build an ANN using TensorFlow/Keras:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential([
    Dense(32, activation=’relu’, input_shape=(10,)),
    Dense(16, activation=’relu’),
    Dense(1, activation=’sigmoid’)
])

model.compile(optimizer=’adam’,
              loss=’binary_crossentropy’,
              metrics=[‘accuracy’])

Stage 5: Recurrent Neural Networks (RNN) (3 weeks)

Learn:

Sequence data

Time series

Text processing

Vanishing gradient problem

LSTM

GRU


Example:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import SimpleRNN, Dense

model = Sequential([
    SimpleRNN(64, input_shape=(20,5)),
    Dense(1)
])

Then move to LSTM:

from tensorflow.keras.layers import LSTM

model = Sequential([
    LSTM(64, input_shape=(20,5)),
    Dense(1)
])

Stage 6: Deep Learning Projects

Build real projects such as:

Handwritten digit recognition (MNIST)

House price prediction

Stock price prediction with LSTM

Sentiment analysis

Spam email classifier

Chatbot

Image classifier


Stage 7: Modern AI

Today, Transformers have largely replaced RNNs for many NLP tasks. After learning ANN and RNN, continue with:

CNN (Convolutional Neural Networks)

Attention mechanism

Transformers

Large Language Models (LLMs)

Retrieval-Augmented Generation (RAG)

AI Agents


Recommended books

Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow by Aurélien Géron

Deep Learning with Python by François Chollet

Neural Networks and Deep Learning by Michael Nielsen (available free online)


Free courses

Andrew Ng’s Machine Learning course

DeepLearning.AI Neural Networks and Deep Learning

TensorFlow tutorials

Kaggle Learn


A 12-week study plan

Weeks 1–2: Python + NumPy + Pandas

Weeks 3–4: Machine Learning with scikit-learn

Weeks 5–7: ANN with TensorFlow/Keras

Weeks 8–9: RNN, LSTM, and GRU

Weeks 10–11: CNN and Transformers

Week 12: Build an end-to-end AI project


Because you already have a strong data mining background, you should be able to progress through this roadmap efficiently. If you’d like, I can also teach you in a structured “AI with Python” course, one lesson per day, starting from Lesson 1 and progressing to advanced topics over about 60 lessons.

Lesson 1

Excellent! Since you already know Python, we’ll focus on understanding how AI thinks, not just how to write code. We’ll build your knowledge step by step.

AI with Python – Lesson 1

What is Artificial Intelligence?

Artificial Intelligence (AI) is the field of creating computer systems that can perform tasks that normally require human intelligence, such as:

Recognizing images

Understanding speech

Translating languages

Playing games

Making predictions

Learning from data


AI, Machine Learning, and Deep Learning

Think of these as nested circles:

Artificial Intelligence (AI)
    └── Machine Learning (ML)
            └── Deep Learning (DL)

AI is the broad field.

Machine Learning is AI that learns patterns from data.

Deep Learning uses neural networks with many layers to learn complex patterns.


Where do ANN and RNN fit?

Deep Learning
│
├── ANN (Artificial Neural Network)
│
├── CNN (Convolutional Neural Network)
│
├── RNN (Recurrent Neural Network)
│
└── Transformers (modern language models)

ANN is best for structured/tabular data.

CNN is widely used for images.

RNN was designed for sequences such as text and time-series data.

Transformers are now the leading architecture for language models like ChatGPT.


How does a machine learn?

Imagine predicting whether a student will pass an exam.

You have data like:

Hours Studied Attendance Result

2 60% Fail
5 85% Pass
8 95% Pass


A machine learning model studies many examples like these and learns relationships. When given a new student, it predicts the likely outcome based on what it has learned.

Unlike traditional programming, you don’t manually write rules such as “if hours > 4 then pass.” The model discovers useful patterns from the data.

Traditional Programming vs AI

Traditional programming:

Data + Rules
      ↓
  Computer
      ↓
  Answers

Machine learning:

Data + Answers
       ↓
Machine Learning
       ↓
Learns Rules (Model)
       ↓
Makes Predictions

Your first AI example in Python

from sklearn.linear_model import LinearRegression
import numpy as np

# Hours studied
X = np.array([[1], [2], [3], [4], [5]])

# Exam marks
y = np.array([40, 50, 60, 70, 80])

model = LinearRegression()
model.fit(X, y)

prediction = model.predict([[6]])

print(prediction)

The model learns the relationship between study hours and marks, then predicts the score for a student who studies 6 hours.

Key terms to remember

Data: Information used for learning.

Feature: An input (e.g., hours studied).

Label/Target: The value to predict (e.g., exam marks).

Model: The learned mathematical representation.

Training: Teaching the model from data.

Prediction (Inference): Using the trained model on new data.


Assignment

1. Install these Python libraries if you haven’t already:

pip install numpy pandas matplotlib scikit-learn


2. Run the Linear Regression example above.


3. Try changing the training data and see how the prediction changes. For example:

Predict house prices from house size.

Predict salary from years of experience.




What’s next?

Lesson 2: Mathematics Behind AI

We’ll cover:

Vectors

Matrices

Dot products

Why neural networks use matrix multiplication

NumPy fundamentals


These ideas are the foundation of ANN, RNN, CNN, and Transformers. With your background in data mining and Python, you’ll likely find the concepts familiar, and we’ll connect them directly to practical AI programming.

Lesson 2

Excellent. Even if you don’t type the code immediately, understanding why it works is the most important step. Tonight, when you run it, you’ll connect the theory with practice.

AI with Python – Lesson 2

The Mathematics Behind AI

Many people think AI requires advanced mathematics. It doesn’t at the beginning. You only need a few key ideas.

We’ll cover:

1. Scalars


2. Vectors


3. Matrices


4. Matrix multiplication


5. Why neural networks depend on them




—

1. Scalar

A scalar is just a single number.

Examples:

Age = 66

Temperature = 32°C

Weight = 83 kg


In Python:

age = 66
weight = 83


—

2. Vector

A vector is a list of numbers.

Imagine a patient described by:

Age = 60

Weight = 83

Blood sugar = 273


This becomes:

[60, 83, 273]

In AI, one vector usually represents one data sample.

Using NumPy:

import numpy as np

patient = np.array([60, 83, 273])

print(patient)

Output:

[ 60  83 273 ]


—

3. Matrix

A matrix is a collection of vectors.

Suppose we have data for four patients:

Age Weight Sugar

60 83 273
45 72 180
52 76 210
38 68 140


The matrix is:

[
[60,83,273],
[45,72,180],
[52,76,210],
[38,68,140]
]

Python:

patients = np.array([
    [60,83,273],
    [45,72,180],
    [52,76,210],
    [38,68,140]
])

print(patients.shape)

Output:

(4,3)

Meaning:

4 rows (patients)

3 columns (features)



—

Why does AI like matrices?

Imagine a hospital has:

10 patients

1,000 patients

1 million patients


A matrix lets the computer process all of them efficiently, often using highly optimized hardware.


—

4. Matrix Multiplication

This is the heart of every neural network.

Imagine this very simple network:

Age ——–\
              \
Weight ——-> Neuron —-> Prediction
              /
Sugar ——-/

The neuron doesn’t treat every input equally.

It learns weights.

Example:

Age      × 0.2
Weight   × 0.3
Sugar    × 0.8

Calculation:

60 × 0.2 = 12

83 × 0.3 = 24.9

273 × 0.8 = 218.4

Total = 255.3

The neuron then applies an activation function, which we’ll study in Lesson 4.


—

Python Example

import numpy as np

patient = np.array([60,83,273])

weights = np.array([0.2,0.3,0.8])

score = np.dot(patient, weights)

print(score)

Output:

255.3

This np.dot() operation is performed millions or even billions of times during the training of large neural networks.


—

5. Why GPUs are important

A CPU is excellent for many general-purpose tasks.

A GPU can perform thousands of matrix calculations simultaneously, making it much faster for training neural networks.

That’s why modern AI systems are trained on GPUs (and sometimes specialized AI accelerators).


—

Real-Life Analogy

Imagine you’re evaluating job applicants.

You might care about:

Experience

Education

Interview performance


Each factor has a different importance.

For example:

Experience × 0.5

Education × 0.2

Interview × 0.3

You combine them into a final score.

A neuron works in a very similar way—it multiplies each input by a learned weight and combines the results.


—

Key Points

✔ Scalar = one number

✔ Vector = one sample with several features

✔ Matrix = many samples

✔ Weight = importance assigned to each feature

✔ Dot product = weighted sum

✔ Neural networks rely heavily on matrix multiplication


—

Assignment

1. Install NumPy if you haven’t already:

pip install numpy


2. Create two vectors and compute their dot product:

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

print(np.dot(a, b))


3. Change the numbers and observe how the result changes.



A question to think about

In today’s example, we manually chose the weights (0.2, 0.3, 0.8).

How does an AI system discover the best weights automatically instead of relying on a human to set them?

That question leads directly into Lesson 3: Gradient Descent and Learning, where you’ll see how neural networks teach themselves by reducing their prediction errors. It’s one of the most important ideas in all of AI.

Lesson 3

That’s great to hear! Since you’ve already done Python exercises, you’re building the right foundation. From this lesson onward, we’ll move from using AI libraries to understanding how AI learns.

AI with Python – Lesson 3

How AI Learns: Gradient Descent

This is one of the most important concepts in machine learning.


—

A Simple Problem

Suppose we want to predict a student’s marks from hours studied.

The actual data is:

Hours Actual Marks

2 40
4 60
6 80


Suppose our model is:

\[
\text{Marks} = \text{Weight} \times \text{Hours}
\]

Initially, the model guesses:

Weight = 5

Prediction

For 4 hours:

Predicted = 5 × 4 = 20

Actual marks:

60

The prediction is far from correct.


—

Step 1: Calculate the Error

Error simply measures how wrong the prediction is.

Error = Actual − Predicted

= 60 − 20

= 40

The model now knows:

> “I’m wrong by 40 marks.”




—

Step 2: Improve the Weight

If the prediction is too low, the weight should increase.

Instead of jumping directly to the perfect value, the model takes small steps.

Example:

Weight = 5.0

↓

5.5

↓

6.2

↓

7.1

↓

8.4

↓

9.3

↓

9.9

↓

10

Each step reduces the error.

This gradual improvement is called Gradient Descent.


—

Mountain Analogy

Imagine standing on a foggy mountain.

Your goal is to reach the lowest point in the valley.

You cannot see the whole mountain.

So you:

Take a small step.

Check if you’re lower.

Take another small step.

Repeat until you reach the bottom.


AI learns in the same way.

Instead of searching for the lowest place on a mountain, it searches for the lowest prediction error.


—

Loss Function

The error is measured by a loss function.

One common example is:

Mean Squared Error (MSE)

\[
MSE=\frac{1}{n}\sum (Actual-Predicted)^2
\]

Squaring ensures that larger errors are penalized more and that negative and positive errors don’t cancel each other out.


—

Learning Rate

How large should each step be?

Suppose you’re walking downstairs.

Too Large

10 → 6 → 2 → -2 → 3 → -1

You overshoot and bounce around.


—

Too Small

10

↓

9.99

↓

9.98

↓

9.97

You’ll eventually reach the goal, but it takes a very long time.


—

A learning rate controls the step size.

It is often represented by the Greek letter α (alpha).

Typical values are:

0.1

0.01

0.001

Choosing a suitable learning rate is an important part of training a model.


—

Python Demonstration

Here’s a simple simulation of weight updates.

weight = 5

for epoch in range(6):
    prediction = weight * 4
    error = 60 – prediction

    print(
        f”Epoch {epoch}: “
        f”Weight={weight:.2f}, “
        f”Prediction={prediction:.2f}, “
        f”Error={error:.2f}”
    )

    weight = weight + 0.2 * error / 4

Notice that:

The prediction gets closer to 60.

The error gets smaller.

The weight gradually approaches the correct value.



—

Why Is It Called “Training”?

Training means repeatedly:

1. Make a prediction.


2. Measure the error.


3. Adjust the weights.


4. Repeat.



This cycle may happen:

Thousands of times

Millions of times

Billions of times (for large AI models)



—

The Big Picture

Training looks like this:

Input Data

↓

Prediction

↓

Calculate Error

↓

Update Weights

↓

Better Prediction

↓

Repeat

This loop is the core of how neural networks learn.


—

Assignment

1. Run the Python example above.


2. Change the initial weight to:

1

15

50



3. Observe:

Does the model still converge?

How many iterations does it take?



4. Try changing the learning rate from 0.2 to:

0.05

0.5

1.2




Ask yourself: Which values make learning smooth, slow, or unstable?


—

Looking Ahead

In Lesson 4, we’ll answer an important question:

> Why isn’t a neuron just a weighted sum?



You’ll learn about activation functions such as Sigmoid, ReLU, and Softmax—the mathematical functions that allow neural networks to learn complex, nonlinear patterns instead of only straight-line relationships.

Once you understand activation functions, you’ll have the core building blocks needed to understand Artificial Neural Networks (ANNs).

Lesson 4

Welcome to Lesson 4! This is an exciting milestone because today we’ll build the basic unit of every neural network—the artificial neuron.

Since you were thinking about whether each input should have its own weight, let’s answer that first.

AI with Python – Lesson 4

The Artificial Neuron

Why one weight per input?

Consider a patient’s data:

Feature Value

Age 60
Weight 83
Blood Sugar 273


Should all these influence the prediction equally?

Probably not.

For predicting diabetes:

Age may be somewhat important.

Weight may be important.

Blood sugar is often much more directly related.


So instead of one weight, we assign one weight to each feature.

Example:

Feature Value Weight

Age 60 0.2
Weight 83 0.4
Blood Sugar 273 0.8



—

Step 1 – Multiply

The neuron multiplies each input by its weight.

Age:          60 × 0.2 = 12.0

Weight:       83 × 0.4 = 33.2

Blood Sugar: 273 × 0.8 = 218.4


—

Step 2 – Add

Now add them together.

12.0 + 33.2 + 218.4 = 263.6

This is called the weighted sum.


—

Step 3 – Add a Bias

Real neurons also have a bias.

Think of bias as an adjustment or offset.

Suppose:

Bias = -30

Then:

263.6 – 30 = 233.6

The bias gives the neuron extra flexibility. It is another value the AI learns during training.


—

Step 4 – Activation Function

At the moment, the neuron outputs:

233.6

But what if we want the answer to be only:

Yes or No

True or False

Diabetic or Not Diabetic


We need a function to transform the weighted sum into a useful output.

This is the activation function.


—

Sigmoid Activation

The sigmoid function produces values between 0 and 1.

Examples:

Input Output

-10 0.000
-2 0.119
0 0.500
2 0.881
10 0.999


If the output is:

0.96

we might interpret it as a 96% confidence for the positive class.


—

Python Example

import numpy as np

inputs = np.array([60, 83, 273])
weights = np.array([0.2, 0.4, 0.8])
bias = -30

weighted_sum = np.dot(inputs, weights) + bias

print(weighted_sum)

Now add the sigmoid function:

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

inputs = np.array([60, 83, 273])
weights = np.array([0.2, 0.4, 0.8])
bias = -30

z = np.dot(inputs, weights) + bias

prediction = sigmoid(z)

print(prediction)


—

What does the neuron really do?

A neuron follows this sequence:

Inputs
   │
   ▼
Multiply by Weights
   │
   ▼
Add Bias
   │
   ▼
Activation Function
   │
   ▼
Output

This is the complete computation performed by a single artificial neuron.


—

Why do we need many neurons?

Can one neuron recognize:

A face?

Speech?

Handwriting?

A language?


Usually not.

One neuron can only learn a relatively simple relationship.

So we connect many neurons together.

Input Layer

Age
Weight
Sugar

      │
      ▼

Hidden Layer

○   ○   ○   ○

      │
      ▼

Output Layer

Diabetic?

Each neuron learns a different aspect of the data, and together they can solve much more complex problems.


—

Biological vs Artificial Neuron

Human Brain Artificial Neuron

Dendrites receive signals Inputs receive data
Cell body processes signals Weighted sum + bias
Axon sends signal Output after activation


Artificial neurons are inspired by biology, but they are much simpler mathematical models.


—

Assignment

1. Run the Python code with the sigmoid function.


2. Change the weights and bias.


3. Observe how the output changes:

Does increasing the blood sugar weight make the prediction larger?

What happens if you make the bias more negative?

What if all three weights are set to zero?





—

Something important to think about

In our examples, we manually chose the weights and the bias.

In a real neural network, the computer starts with random weights and a random bias, then uses backpropagation and gradient descent to improve them over many training iterations.

Looking ahead: Lesson 5

In Lesson 5, we’ll connect several neurons together to build your first Artificial Neural Network (ANN). You’ll see how a network of simple neurons can solve problems that a single neuron cannot.

You’re progressing very naturally through the foundations. Once these concepts become intuitive, reading TensorFlow or PyTorch code will feel much less like “magic” and much more like understanding how the pieces fit together.

Lesson 5

Welcome to Lesson 5! This is where everything you’ve learned so far starts coming together.

So far we’ve learned:

Lesson 1: What AI is

Lesson 2: Vectors, matrices, and dot products

Lesson 3: How AI learns using gradient descent

Lesson 4: How one artificial neuron works


Now let’s connect many neurons together.

AI with Python – Lesson 5

Artificial Neural Networks (ANN)

Why isn’t one neuron enough?

Suppose you want to identify a handwritten digit.

8

One neuron cannot recognize all the patterns that make an “8”.

Instead, different neurons specialize.

For example:

Neuron 1 → Detects vertical lines

Neuron 2 → Detects horizontal lines

Neuron 3 → Detects curves

Neuron 4 → Detects circles

Another neuron combines these observations and concludes:

> “This looks like the digit 8.”



This teamwork is the essence of a neural network.


—

Layers of a Neural Network

A simple ANN has three types of layers.

Input Layer

Age
Weight
Sugar

     │
     ▼

Hidden Layer

○ ○ ○ ○

     │
     ▼

Output Layer

Diabetic?

Input Layer

Receives the data.

Example:

Age = 60

Weight = 83

Sugar = 273

The input layer doesn’t learn. It simply passes the data to the next layer.


—

Hidden Layer

This is where learning happens.

Every neuron:

Receives all the inputs

Multiplies them by weights

Adds a bias

Applies an activation function


Each neuron learns a different pattern.

For example:

Neuron A may learn:

> Older patients tend to have higher risk.



Neuron B may learn:

> High blood sugar is the strongest indicator.



Neuron C may learn:

> High weight and high sugar together increase risk.



No one explicitly programs these rules. The network discovers them from data.


—

Output Layer

Produces the final prediction.

Examples:

0.97

Meaning:

97% probability of diabetes.

or

0.05

Meaning:

Very unlikely.


—

A Small Network

Imagine:

Input

Age
Weight
Sugar

      │

┌────┼────┐

▼    ▼    ▼

○     ○     ○

\   |   /

    ▼

    ○

Prediction

Even this tiny network contains many weights.


—

How Many Weights?

Suppose:

3 input neurons

4 hidden neurons


Each hidden neuron receives all 3 inputs.

Therefore:

3 × 4 = 12 weights

Now suppose:

4 hidden neurons

1 output neuron


4 × 1 = 4 weights

Total:

12 + 4 = 16 weights

The AI learns all 16 weights during training.

Modern AI models can have millions or even billions of weights (often called parameters).


—

Forward Propagation

When you give data to the network, information flows like this:

Input

↓

Hidden Layer

↓

Output

This is called forward propagation.


—

Backpropagation

Suppose the prediction is:

0.35

Actual answer:

1

The network is wrong.

Now it works backwards:

Output

↑

Hidden Layer

↑

Input

It adjusts every weight a little to reduce the error.

This process is called backpropagation.

It combines beautifully with the gradient descent you learned in Lesson 3.


—

Python Example (Using Keras)

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential()

model.add(Dense(4, input_shape=(3,), activation=”relu”))

model.add(Dense(1, activation=”sigmoid”))

model.compile(
    optimizer=”adam”,
    loss=”binary_crossentropy”,
    metrics=[“accuracy”]
)

model.summary()

Let’s understand this.

Dense(4)

Means:

Hidden Layer

○ ○ ○ ○

Four neurons.


—

input_shape=(3,)

Means there are three input features.

Age

Weight

Sugar


—

Dense(1)

Means:

One output neuron.

Diabetic?


—

activation=”relu”

ReLU is the most commonly used activation function in hidden layers because it is simple and effective.


—

activation=”sigmoid”

Produces a value between 0 and 1.

Perfect for binary classification.


—

Real-World Example

Think of a hospital.

Patient data arrives.

Patient

↓

Reception

↓

Doctor

↓

Specialist

↓

Diagnosis

Each person contributes different expertise before the final diagnosis.

An ANN works similarly: each layer processes information before passing it on.


—

Assignment

1. Install TensorFlow if you haven’t already:

pip install tensorflow


2. Run the Keras example above.


3. Execute:

model.summary()


4. Read the summary and answer:

How many layers are there?

How many trainable parameters (weights and biases) does the model have?




Don’t worry if the parameter count looks mysterious—we’ll learn how it’s calculated.


—

A Peek Behind the Curtain

Here’s a question that often surprises people.

Suppose the network has:

100 neurons

10,000 weights


When it makes a mistake…

How does it know which of the 10,000 weights should change, and by how much?

The answer is one of the most elegant ideas in AI: the chain rule from calculus, used by the backpropagation algorithm.

We’ll study it intuitively in Lesson 6—without getting lost in heavy mathematics. Once you understand backpropagation conceptually, you’ll understand why deep learning became so powerful.

Comments

Leave a comment