<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Machine Learning on Arshad Siddiqui</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/</link><description>Recent content in Machine Learning on Arshad Siddiqui</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 08 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://arshadhs.github.io/docs/ai/030-machine-learning/index.xml" rel="self" type="application/rss+xml"/><item><title>Supervised Learning</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/ml-supervised/</link><pubDate>Sat, 03 Jan 2026 10:29:52 +0100</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/ml-supervised/</guid><description>&lt;h1 id="supervised-learning">
 Supervised Learning
 
 &lt;a class="anchor" href="#supervised-learning">#&lt;/a>
 
&lt;/h1>
&lt;p>Trained using &lt;strong>labelled data&lt;/strong>.&lt;br>
Each example in the training set includes the &lt;strong>correct output&lt;/strong>.&lt;br>
The algorithm learns to &lt;strong>generalise&lt;/strong> and make predictions on unseen data.&lt;br>
Generally more &lt;strong>accurate&lt;/strong> than unsupervised methods.&lt;br>
Requires &lt;strong>human intervention&lt;/strong> for labelling and setup.&lt;br>
Widely used due to its &lt;strong>accuracy and efficiency&lt;/strong>.&lt;br>
Produces &lt;strong>highly accurate results&lt;/strong> when trained on good-quality labelled data.&lt;/p>
&lt;hr>
&lt;h2 id="classification">
 Classification
 
 &lt;a class="anchor" href="#classification">#&lt;/a>
 
&lt;/h2>
&lt;p>Output is &lt;strong>discrete&lt;/strong> (e.g. Yes/No, Spam/Not Spam).&lt;br>
Used for &lt;strong>categorising data&lt;/strong> into predefined classes.&lt;br>
Support Vector Machine (SVM) is a common classifier (a linear classifier with margin-based separation).&lt;/p></description></item><item><title>Semi-Supervised Learning</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/ml-semi-supervised/</link><pubDate>Sat, 03 Jan 2026 10:29:52 +0100</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/ml-semi-supervised/</guid><description>&lt;h1 id="semi-supervised-learning">
 Semi-Supervised Learning
 
 &lt;a class="anchor" href="#semi-supervised-learning">#&lt;/a>
 
&lt;/h1>
&lt;ul>
&lt;li>A combination of &lt;strong>labelled&lt;/strong> and &lt;strong>unlabelled data&lt;/strong>.&lt;/li>
&lt;li>Useful when labelling large datasets is &lt;strong>expensive or time-consuming&lt;/strong>.&lt;/li>
&lt;li>Works well with &lt;strong>high-volume datasets&lt;/strong> (e.g. millions of images).&lt;/li>
&lt;li>Only a &lt;strong>small fraction of data&lt;/strong> is labelled (e.g. a few thousand).&lt;/li>
&lt;li>The algorithm learns from both labelled examples and structure in unlabelled data.&lt;/li>
&lt;li>&lt;strong>Ideal for medical imaging&lt;/strong> where labelled data is limited.&lt;/li>
&lt;li>For example, a &lt;strong>radiologist&lt;/strong> can label a small set of medical scans,&lt;br>
and the model uses that to learn from thousands of unlabelled scans.&lt;/li>
&lt;li>Helps improve &lt;strong>accuracy and generalisation&lt;/strong> with minimal manual effort.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>&lt;a href="https://arshadhs.github.io/">Home&lt;/a> | &lt;a href="https://arshadhs.github.io/docs/ai/030-machine-learning/">
 Machine Learning
&lt;/a>&lt;/p></description></item><item><title>Reinforcement Learning</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/ml-reinforcement/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/ml-reinforcement/</guid><description>&lt;h1 id="reinforcement-learning-rl">
 Reinforcement Learning (RL)
 
 &lt;a class="anchor" href="#reinforcement-learning-rl">#&lt;/a>
 
&lt;/h1>
&lt;p>RL is learning by &lt;strong>trial and error&lt;/strong>.&lt;/p>
&lt;p>Reinforcement Learning (RL) is a type of machine learning where an &lt;strong>autonomous agent learns to make decisions by interacting with an environment&lt;/strong>.&lt;/p>
&lt;p>Instead of being told the correct answer, the agent:&lt;/p>
&lt;ul>
&lt;li>takes actions&lt;/li>
&lt;li>observes outcomes&lt;/li>
&lt;li>receives rewards or penalties&lt;/li>
&lt;li>gradually learns a strategy that maximises long-term reward&lt;/li>
&lt;/ul>

&lt;blockquote class='book-hint '>
 &lt;p>&lt;strong>Reinforcement Learning teaches an agent how to act, not what to predict.&lt;/strong>&lt;/p></description></item><item><title>ML Workflow</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/02-ml-workflow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/02-ml-workflow/</guid><description>&lt;h1 id="machine-learning-workflow">
 Machine learning Workflow
 
 &lt;a class="anchor" href="#machine-learning-workflow">#&lt;/a>
 
&lt;/h1>
&lt;p>Data is the foundation of any machine learning system.
Quality of data matters more than model complexity.&lt;/p>
&lt;h3 id="role-of-data">
 Role of Data
 
 &lt;a class="anchor" href="#role-of-data">#&lt;/a>
 
&lt;/h3>
&lt;p>Data determines:&lt;/p>
&lt;ul>
&lt;li>What patterns the model can learn&lt;/li>
&lt;li>How well it generalises&lt;/li>
&lt;li>Whether bias or noise is introduced&lt;/li>
&lt;/ul>
&lt;p>Bad data → bad model (even with perfect algorithms).&lt;/p>
&lt;hr>
&lt;h3 id="data-preprocessing-wrangling">
 Data Preprocessing, wrangling
 
 &lt;a class="anchor" href="#data-preprocessing-wrangling">#&lt;/a>
 
&lt;/h3>
&lt;p>Raw data is never ready for training.&lt;/p>
&lt;p>&lt;strong>Data Issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Noise
&lt;ul>
&lt;li>For &lt;strong>objects&lt;/strong>, noise is an &lt;strong>extraneous object&lt;/strong>&lt;/li>
&lt;li>For &lt;strong>attributes&lt;/strong>, noise refers to &lt;strong>modification of original values&lt;/strong>&lt;/li>
&lt;li>Use Log or Z Transfer to convert to mean&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Outliers
&lt;ul>
&lt;li>Data objects with characteristics that are considerably different than most of the other data objects in the data set&lt;/li>
&lt;li>Handle: Use &lt;strong>IQR&lt;/strong> method&lt;/li>
&lt;li>Find Lower and Upper Bound and &lt;strong>replace Outlier with Lower or Upper Bound&lt;/strong>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Missing Values
&lt;ul>
&lt;li>Eliminate data objects or variables&lt;/li>
&lt;li>Handle: Estimate missing values
&lt;ul>
&lt;li>&lt;strong>Mean, Median or Mode&lt;/strong>&lt;/li>
&lt;li>Prefer &lt;strong>Median&lt;/strong> if there are missing &lt;strong>outliers&lt;/strong>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Ignore the missing value during analysis&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Duplicate Data
&lt;ul>
&lt;li>Major issue when merging data from heterogeneous sources&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Inconsistent Codes
&lt;ul>
&lt;li>Find all Unique and transfer all inconsistent to&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Data Preprocessing techniques&lt;/strong>&lt;/p></description></item><item><title>Regression (Linear)</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/03-linear-models-regression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/03-linear-models-regression/</guid><description>&lt;h1 id="linear-regression">
 Linear Regression
 
 &lt;a class="anchor" href="#linear-regression">#&lt;/a>
 
&lt;/h1>
&lt;p>Linear Regression is a supervised 
&lt;span style="color: blue;">
 ML
&lt;/span> method used to predict a &lt;strong>numerical&lt;/strong> target by fitting a model that is &lt;strong>linear in its parameters&lt;/strong>.&lt;/p>
&lt;p>In 
&lt;span style="color: blue;">
 ML
&lt;/span>, linear models are a core baseline:
they’re fast, often surprisingly strong, and usually easy to interpret.&lt;/p>
&lt;blockquote class="book-hint info">
&lt;p>Key takeaway:
Linear Regression learns parameters by minimising a squared-error cost.
You can solve it directly (closed form) or iteratively (gradient descent),
and you can extend it using basis functions and regularisation.&lt;/p></description></item><item><title>Ordinary Least Squares</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/03-ordinary-least-squares/</link><pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/03-ordinary-least-squares/</guid><description>&lt;h1 id="direct-solution-method---ordinary-least-squares-and-the-line-of-best-fit">
 Direct solution method - Ordinary Least Squares and the Line of Best Fit
 
 &lt;a class="anchor" href="#direct-solution-method---ordinary-least-squares-and-the-line-of-best-fit">#&lt;/a>
 
&lt;/h1>
&lt;blockquote class="book-hint success">
&lt;p>&lt;strong>Revision:&lt;/strong>&lt;br>
OLS is the direct method for linear regression. It finds the best-fit line by minimising the sum of squared residuals without iterative updates.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="direct-method-vs-iterative-method-">
 Direct Method vs Iterative Method ☆
 
 &lt;a class="anchor" href="#direct-method-vs-iterative-method-">#&lt;/a>
 
&lt;/h2>
&lt;p>Linear regression parameters can be found in two main ways.&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Method&lt;/th>
 &lt;th>Main idea&lt;/th>
 &lt;th>When used&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Ordinary Least Squares&lt;/td>
 &lt;td>Compute the best parameters directly&lt;/td>
 &lt;td>Small or moderate datasets&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Gradient Descent&lt;/td>
 &lt;td>Start with parameters and update repeatedly&lt;/td>
 &lt;td>Large datasets or many features&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>


&lt;pre class="mermaid">
flowchart LR
 A[&amp;#34;Linear Regression&amp;#34;] --&amp;gt; B[&amp;#34;Direct Solution&amp;lt;br/&amp;gt;OLS&amp;#34;]
 A --&amp;gt; C[&amp;#34;Iterative Solution&amp;lt;br/&amp;gt;Gradient Descent&amp;#34;]

 B --&amp;gt; B1[&amp;#34;Normal Equation&amp;#34;]
 B --&amp;gt; B2[&amp;#34;No learning rate&amp;#34;]
 B --&amp;gt; B3[&amp;#34;One-shot solution&amp;#34;]

 C --&amp;gt; C1[&amp;#34;Learning rate&amp;#34;]
 C --&amp;gt; C2[&amp;#34;Repeated updates&amp;#34;]
 C --&amp;gt; C3[&amp;#34;Stops after convergence&amp;#34;]

 style A fill:#E1F5FE,stroke:#5b7db1,color:#000
 style B fill:#C8E6C9,stroke:#5f8f6a,color:#000
 style C fill:#FFF9C4,stroke:#b59b3b,color:#000
 style B1 fill:#EDE7F6,stroke:#8a6fb3,color:#000
 style B2 fill:#EDE7F6,stroke:#8a6fb3,color:#000
 style B3 fill:#EDE7F6,stroke:#8a6fb3,color:#000
 style C1 fill:#EDE7F6,stroke:#8a6fb3,color:#000
 style C2 fill:#EDE7F6,stroke:#8a6fb3,color:#000
 style C3 fill:#EDE7F6,stroke:#8a6fb3,color:#000
&lt;/pre>

&lt;hr>
&lt;h2 id="why-it-is-called-least-squares-">
 Why It Is Called “Least Squares” ☆
 
 &lt;a class="anchor" href="#why-it-is-called-least-squares-">#&lt;/a>
 
&lt;/h2>
&lt;p>OLS is called &lt;strong>least squares&lt;/strong> because it chooses parameters that make the squared residual errors as small as possible.&lt;/p></description></item><item><title>Cost Function</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/03-cost-function/</link><pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/03-cost-function/</guid><description>&lt;h1 id="cost-function">
 Cost Function
 
 &lt;a class="anchor" href="#cost-function">#&lt;/a>
 
&lt;/h1>
&lt;blockquote class="book-hint success">
&lt;p>&lt;strong>Revision:&lt;/strong>&lt;br>
A cost function converts model error into a single number. Training means changing the model parameters until this number becomes as small as possible.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="why-cost-function-matters-in-ml-">
 Why Cost Function Matters in ML ☆
 
 &lt;a class="anchor" href="#why-cost-function-matters-in-ml-">#&lt;/a>
 
&lt;/h2>
&lt;p>A machine learning model needs a way to decide whether one set of parameters is better than another.&lt;/p>
&lt;p>For linear regression, every possible value of the parameters gives a different line.
The cost function tells us which line is better by measuring how far the predictions are from the true values.&lt;/p></description></item><item><title>Gradient Descent</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/03-gradient-descent-linear-regression/</link><pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/03-gradient-descent-linear-regression/</guid><description>&lt;h1 id="gradient-descent-for-linear-regression">
 Gradient Descent for Linear Regression
 
 &lt;a class="anchor" href="#gradient-descent-for-linear-regression">#&lt;/a>
 
&lt;/h1>
&lt;blockquote class="book-hint success">
&lt;p>&lt;strong>Revision:&lt;/strong>&lt;br>
Gradient descent is the step-by-step method for reducing the cost function when a direct closed-form solution is not convenient.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="where-gradient-descent-fits-in-ml-">
 Where Gradient Descent Fits in ML ☆
 
 &lt;a class="anchor" href="#where-gradient-descent-fits-in-ml-">#&lt;/a>
 
&lt;/h2>
&lt;p>Gradient descent is used when we want the model to learn parameters by repeatedly improving them.&lt;/p>
&lt;p>For linear regression, it adjusts the slope and intercept until the prediction error becomes small.&lt;/p>


&lt;script src="https://arshadhs.github.io/mermaid.min.js">&lt;/script>

 &lt;script>mermaid.initialize({
 "flowchart": {
 "useMaxWidth":true
 },
 "theme": "default"
}
)&lt;/script>




&lt;pre class="mermaid">
flowchart LR
 A[&amp;#34;Initial Parameters&amp;#34;] --&amp;gt; B[&amp;#34;Make Predictions&amp;#34;]
 B --&amp;gt; C[&amp;#34;Compute Cost&amp;#34;]
 C --&amp;gt; D[&amp;#34;Compute Gradient&amp;#34;]
 D --&amp;gt; E[&amp;#34;Update Parameters&amp;#34;]
 E --&amp;gt; B

 style A fill:#E1F5FE,stroke:#5b7db1,color:#000
 style B fill:#C8E6C9,stroke:#5f8f6a,color:#000
 style C fill:#FFF9C4,stroke:#b59b3b,color:#000
 style D fill:#EDE7F6,stroke:#8a6fb3,color:#000
 style E fill:#C8E6C9,stroke:#5f8f6a,color:#000
&lt;/pre>

&lt;hr>
&lt;h2 id="core-idea-">
 Core Idea ☆
 
 &lt;a class="anchor" href="#core-idea-">#&lt;/a>
 
&lt;/h2>
&lt;p>The gradient tells us the direction in which the cost increases fastest.&lt;/p></description></item><item><title>Classification (Linear)</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/04-linear-models-classification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/04-linear-models-classification/</guid><description>&lt;h1 id="linear-models-for-classification">
 Linear models for Classification
 
 &lt;a class="anchor" href="#linear-models-for-classification">#&lt;/a>
 
&lt;/h1>
&lt;ul>
&lt;li>categorises data by finding a linear boundary (hyperplane) that separates classes&lt;/li>
&lt;li>calculating a weighted sum of input features plus bias&lt;/li>
&lt;/ul>


&lt;script src="https://arshadhs.github.io/mermaid.min.js">&lt;/script>

 &lt;script>mermaid.initialize({
 "flowchart": {
 "useMaxWidth":true
 },
 "theme": "default"
}
)&lt;/script>




&lt;pre class="mermaid">
flowchart TD
T[&amp;#34;Linear&amp;lt;br/&amp;gt;classification&amp;lt;br/&amp;gt;models&amp;#34;] --&amp;gt; P[&amp;#34;Perceptron&amp;#34;]
T --&amp;gt; LR[&amp;#34;Logistic&amp;lt;br/&amp;gt;regression&amp;#34;]
T --&amp;gt; SVM[&amp;#34;Linear&amp;lt;br/&amp;gt;SVM&amp;#34;]

P --&amp;gt;|uses| STEP[&amp;#34;Step&amp;lt;br/&amp;gt;activation&amp;#34;]
LR --&amp;gt;|uses| SIG[&amp;#34;Sigmoid&amp;lt;br/&amp;gt;+ log loss&amp;#34;]
SVM --&amp;gt;|uses| HNG[&amp;#34;Hinge&amp;lt;br/&amp;gt;loss&amp;#34;]

style T fill:#90CAF9,stroke:#1E88E5,color:#000

style P fill:#C8E6C9,stroke:#2E7D32,color:#000
style LR fill:#C8E6C9,stroke:#2E7D32,color:#000
style SVM fill:#C8E6C9,stroke:#2E7D32,color:#000

style STEP fill:#CE93D8,stroke:#8E24AA,color:#000
style SIG fill:#CE93D8,stroke:#8E24AA,color:#000
style HNG fill:#CE93D8,stroke:#8E24AA,color:#000
&lt;/pre>

&lt;ul>
&lt;li>Discriminant Functions&lt;/li>
&lt;li>Decision Theory&lt;/li>
&lt;li>Probabilistic Discriminative Classifiers&lt;/li>
&lt;li>Logistic Regression&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="logistic-regression">
 Logistic Regression
 
 &lt;a class="anchor" href="#logistic-regression">#&lt;/a>
 
&lt;/h2>
&lt;ul>
&lt;li>Supervised machine learning algorithm&lt;/li>
&lt;li>Binary &lt;strong>classification&lt;/strong> algorithm&lt;/li>
&lt;li>requires data to be linearly separable&lt;/li>
&lt;li>predicts the probability that an input belongs to a specific class&lt;/li>
&lt;li>uses &lt;strong>Sigmoid function&lt;/strong> to convert inputs into a probability value between 0 and 1&lt;/li>
&lt;/ul>
&lt;blockquote class="book-hint info">
&lt;p>Key takeaway:
Logistic regression predicts $P(y=1\mid x)$ using a sigmoid of a linear score $z=w\cdot x+b$,
then learns $w,b$ by maximising likelihood (equivalently minimising log-loss).&lt;/p></description></item><item><title>Decision Tree</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/05-decision-tree/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/05-decision-tree/</guid><description>&lt;h1 id="decision-tree">
 Decision Tree
 
 &lt;a class="anchor" href="#decision-tree">#&lt;/a>
 
&lt;/h1>
&lt;p>A decision tree classifies an example by asking a sequence of questions about its attributes until it reaches a leaf (final decision).&lt;/p>
&lt;blockquote class="book-hint info">
&lt;p>Key takeaway:
A decision tree grows by repeatedly splitting the training data into &lt;strong>purer&lt;/strong> subsets using an impurity measure
(Entropy / Gini / Classification Error).&lt;/p>
&lt;/blockquote>
&lt;ul>
&lt;li>Information Theory&lt;/li>
&lt;li>Entropy Based Decision Tree Construction&lt;/li>
&lt;li>Avoiding Overfitting&lt;/li>
&lt;li>Minimum Description Length&lt;/li>
&lt;li>Handling Continuous valued attributes, missing attributes&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="information-theory">
 Information Theory
 
 &lt;a class="anchor" href="#information-theory">#&lt;/a>
 
&lt;/h2>
&lt;p>Decision trees need a way to measure:
“How mixed are the class labels at a node?”&lt;/p></description></item><item><title>Instance-based Learning</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/06-instance-based-learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/06-instance-based-learning/</guid><description>&lt;h1 id="instance-based-learning">
 Instance-based Learning
 
 &lt;a class="anchor" href="#instance-based-learning">#&lt;/a>
 
&lt;/h1>
&lt;p>Instance-based learning is a family of methods that &lt;strong>do not build one explicit global model during training&lt;/strong>. Instead, they &lt;strong>store training examples&lt;/strong> and delay most of the work until a new query arrives.&lt;/p>
&lt;p>When a new point must be classified or predicted, the algorithm compares it with previously seen examples, finds the most relevant neighbours, and uses them to produce the answer.&lt;/p>
&lt;p>Instance-based Learning covers three linked ideas:&lt;/p></description></item><item><title>Support Vector Machine</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/07-support-vector-machines/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/07-support-vector-machines/</guid><description>&lt;h1 id="support-vector-machine-svm">
 Support Vector Machine (SVM)
 
 &lt;a class="anchor" href="#support-vector-machine-svm">#&lt;/a>
 
&lt;/h1>
&lt;p>&lt;strong>Support Vector Machine (SVM)&lt;/strong> is a &lt;strong>supervised machine learning algorithm&lt;/strong> used for:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Classification&lt;/strong> (most common)&lt;/li>
&lt;li>&lt;strong>Regression&lt;/strong> (SVR – Support Vector Regression)&lt;/li>
&lt;/ul>
&lt;p>It connects many earlier ideas:&lt;/p>
&lt;ul>
&lt;li>classification and decision boundaries&lt;/li>
&lt;li>linear classifiers&lt;/li>
&lt;li>margins&lt;/li>
&lt;li>optimisation&lt;/li>
&lt;li>constrained optimisation&lt;/li>
&lt;li>kernels for non-linear data&lt;/li>
&lt;/ul>
&lt;p>SVM is a &lt;strong>discriminative classifier&lt;/strong>.&lt;/p>
&lt;p>That means it does not try to model how each class is generated.&lt;/p>
&lt;p>Instead, it tries to find the &lt;strong>best separating boundary&lt;/strong> between classes.&lt;/p></description></item><item><title>Bayesian Learning</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/08-bayesian-learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/08-bayesian-learning/</guid><description>&lt;h1 id="bayesian-learning">
 Bayesian Learning
 
 &lt;a class="anchor" href="#bayesian-learning">#&lt;/a>
 
&lt;/h1>
&lt;p>Bayesian Learning is a probabilistic approach to machine learning.&lt;/p>
&lt;p>Instead of only asking, “Which output should the model predict?”, Bayesian Learning asks:&lt;/p>

&lt;blockquote class='book-hint '>
 &lt;p>Given the data we have observed, how likely is each hypothesis, class, or parameter value?&lt;/p>
&lt;/blockquote>&lt;p>This makes Bayesian Learning useful when uncertainty matters.&lt;/p>
&lt;p>It is especially important in classification, probabilistic modelling, generative models, and situations where we want to combine prior knowledge with observed data.&lt;/p></description></item><item><title>Ensemble Learning</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/09-ensemble-learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/09-ensemble-learning/</guid><description>&lt;h1 id="ensemble-learning">
 Ensemble Learning
 
 &lt;a class="anchor" href="#ensemble-learning">#&lt;/a>
 
&lt;/h1>
&lt;p>Ensemble Learning is a machine learning approach where we combine &lt;strong>multiple models&lt;/strong> to produce a stronger final prediction.&lt;/p>
&lt;p>Instead of depending on one model, an ensemble uses a group of models and combines their outputs.&lt;/p>
&lt;p>The main idea is simple:&lt;/p>

&lt;blockquote class='book-hint '>
 &lt;p>Many weak or moderately good models can work together to produce a better and more stable model.&lt;/p>
&lt;/blockquote>&lt;blockquote class="book-hint info">
&lt;p>&lt;strong>Key takeaway:&lt;/strong>&lt;br>
Ensemble Learning improves prediction by combining several models.&lt;/p></description></item><item><title>Unsupervised Learning</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/10-unsupervised-learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/10-unsupervised-learning/</guid><description>&lt;h1 id="unsupervised-learning">
 Unsupervised Learning
 
 &lt;a class="anchor" href="#unsupervised-learning">#&lt;/a>
 
&lt;/h1>
&lt;p>Unsupervised Learning is used when we have input data but no target labels.&lt;/p>
&lt;p>The model is not told the correct answer. Instead, it tries to discover hidden structure in the data.&lt;/p>
&lt;ul>
&lt;li>K-means Clustering and variants&lt;/li>
&lt;li>Review of EM algorithm&lt;/li>
&lt;li>GMM based Soft Clustering&lt;/li>
&lt;li>Applications&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="supervised-vs-unsupervised-learning">
 Supervised vs Unsupervised Learning
 
 &lt;a class="anchor" href="#supervised-vs-unsupervised-learning">#&lt;/a>
 
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Aspect&lt;/th>
 &lt;th>Supervised Learning&lt;/th>
 &lt;th>Unsupervised Learning&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Data contains target label?&lt;/td>
 &lt;td>Yes&lt;/td>
 &lt;td>No&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Learns from&lt;/td>
 &lt;td>Input-output pairs&lt;/td>
 &lt;td>Input features only&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Main goal&lt;/td>
 &lt;td>Predict output&lt;/td>
 &lt;td>Discover structure&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Example task&lt;/td>
 &lt;td>Classification, regression&lt;/td>
 &lt;td>Clustering&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Example algorithm&lt;/td>
 &lt;td>Logistic regression, decision tree&lt;/td>
 &lt;td>K-means, GMM&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;ul>
&lt;li>Works on &lt;strong>unlabelled raw data&lt;/strong>.&lt;/li>
&lt;li>The algorithm &lt;strong>discovers hidden patterns&lt;/strong> without prior knowledge of outcomes.&lt;/li>
&lt;li>Requires &lt;strong>no human intervention&lt;/strong> during training.&lt;/li>
&lt;li>Does not make direct predictions — it &lt;strong>groups or organises data&lt;/strong> instead.&lt;/li>
&lt;li>Carries a &lt;strong>higher risk&lt;/strong> because there’s no ground truth to verify results.&lt;/li>
&lt;li>Common techniques include &lt;strong>Clustering&lt;/strong>, &lt;strong>Association&lt;/strong>, and &lt;strong>Dimensionality Reduction&lt;/strong>.&lt;/li>
&lt;/ul>
&lt;p>The most common example is &lt;strong>clustering&lt;/strong>, where similar records are grouped together.&lt;/p></description></item><item><title>Evaluation/Comparison</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/11-ml-model-evaluation-comparison/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/11-ml-model-evaluation-comparison/</guid><description>&lt;h1 id="machine-learning-model-evaluationcomparison">
 Machine Learning Model Evaluation/Comparison
 
 &lt;a class="anchor" href="#machine-learning-model-evaluationcomparison">#&lt;/a>
 
&lt;/h1>
&lt;h2 id="comparing-machine-learning-models">
 Comparing Machine Learning Models
 
 &lt;a class="anchor" href="#comparing-machine-learning-models">#&lt;/a>
 
&lt;/h2>
&lt;h2 id="emerging-requirements-eg-bias-fairness-interpretability-of-ml-models">
 Emerging requirements e.g., bias, fairness, interpretability of ML models
 
 &lt;a class="anchor" href="#emerging-requirements-eg-bias-fairness-interpretability-of-ml-models">#&lt;/a>
 
&lt;/h2>
&lt;hr>
&lt;p>&lt;a href="https://arshadhs.github.io/">Home&lt;/a> | &lt;a href="https://arshadhs.github.io/docs/ai/030-machine-learning/">
 Machine Learning
&lt;/a>&lt;/p></description></item><item><title>ML Pipeline</title><link>https://arshadhs.github.io/docs/ai/030-machine-learning/99-ml-pipeline-model/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/030-machine-learning/99-ml-pipeline-model/</guid><description>&lt;h1 id="machine-learning-pipeline-preprocessing--models">
 Machine Learning Pipeline: Preprocessing &amp;amp; Models
 
 &lt;a class="anchor" href="#machine-learning-pipeline-preprocessing--models">#&lt;/a>
 
&lt;/h1>
&lt;p>This page explains both &lt;strong>data preprocessing&lt;/strong> and &lt;strong>model development concepts&lt;/strong> in a clear, structured way to support understanding.&lt;/p>
&lt;blockquote class="book-hint info">
&lt;p>A complete ML pipeline includes preprocessing, feature engineering, feature selection, and model training.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="1-data-preprocessing-overview">
 1. Data Preprocessing Overview
 
 &lt;a class="anchor" href="#1-data-preprocessing-overview">#&lt;/a>
 
&lt;/h1>
&lt;p>Raw data is often:&lt;/p>
&lt;ul>
&lt;li>Noisy&lt;/li>
&lt;li>Incomplete&lt;/li>
&lt;li>Inconsistent&lt;/li>
&lt;/ul>
&lt;p>Preprocessing ensures data is suitable for machine learning.&lt;/p>
&lt;hr>
&lt;h1 id="2-missing-values">
 2. Missing Values
 
 &lt;a class="anchor" href="#2-missing-values">#&lt;/a>
 
&lt;/h1>
&lt;p>&lt;strong>Why they occur&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Sensor errors&lt;/li>
&lt;li>Data collection issues&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Methods&lt;/strong>&lt;/p></description></item></channel></rss>