Articles

Accessing Modifying Elements

EN

Indexing answers two questions: which values are selected, and whether the selection shares storage with the original. The second question determines whether a later assignment changes your input...

Creating Arrays

EN

An array has three separate properties: its shape says how values are indexed, its dtype says how each value is represented, and its data contains the values. Choosing the wrong dtype can change an answer even when the shape is right...

Matrix Operations

EN

A real matrix A ∈ ℝ^(m×n) maps n-component input vectors to m-component output vectors. The formula...

Statistics and Random Numbers

EN

A statistic summarizes the data you actually have. A probability model describes how data might be generated. A sample's mean is not required to equal its model's mean, and changing an axis, denominator, or weighting rule can change which quantity you are computing...

Vector Operations

EN

A real coordinate vector v = (v₀,…,vₙ₋₁) is an ordered list of n components. A NumPy array of shape (n,) is a convenient representation, but NumPy's shape rules are part of the calculation: they are not mathematical row/column notation inferred from how an array is printed...

Git Server

EN

Running your own Git server is about owning your source of truth. Your repos live where you decide, under rules you set, at a pace you control. That means you decide who can read and write, how code moves to production, and how the system grows as your team and projects grow. It’s pure Git under the...

Git Internals

EN

Git stores your project as a graph of immutable objects. Instead of storing changes as a sequence of file diffs, Git stores snapshots of your project. Each snapshot is built from content-addressed objects, meaning each object is identified by a hash of its contents (more precisely, a hash of a short...

Dangerous Commands

EN

Some git commands are powerful but risky because they can rewrite history, move branch tips, or discard work. Used carelessly, they break open reviews, hide teammates’ changes, and make it hard to trace what actually shipped. Treat history edits as exceptional: prefer additive fixes for shared code...

Tags

EN

Tags mark exact commits. They’re perfect for releases, rollbacks, changelogs, and CI/CD triggers. Unlike branches, tags don’t move—ever—so you can always point to the exact build you shipped...

Head

EN

HEAD is Git’s pointer to the snapshot you’re currently working on—the bookmark of your checkout. Most of the time, HEAD points to the tip of a branch (like master or main). When you commit, HEAD (and that branch) advance to the new commit...

Working with Branches

EN

Git branches are lightweight names that point to commits. Think of them as parallel timelines: you can try ideas on a branch without touching main, then merge back when you’re happy...

Synchronization

EN

When collaborating on a project, it's essential to keep your local repository updated with changes made by others in the team. Git provides powerful commands to facilitate this process...

Stashing Files

EN

In Git terminology, "stashing" refers to temporarily saving changes that are not ready to be committed. This allows you to switch branches or make other changes without losing your work...

Making Changes

EN

The three core actions you’ll perform most often in Git are staging, committing, and undoing changes...

Squashing Commits

EN

In Git, you might accumulate multiple small commits over the course of developing a new feature, fixing small bugs, or refactoring code. While these incremental commits are crucial during active development, they can clutter the project history in the long term. This clutter becomes especially evide...

Regularization

EN

Regularization adds a preference among fitted models through a penalty or constraint. It can reduce sensitivity to training noise by accepting bias in exchange for lower variability. Its predictive value depends on the data, representation, and penalty strength, so it is assessed using validation da...

Clustering

EN

Clustering summarizes inputs by assigning observations to groups under a chosen notion of similarity. K-means represents each group by a centroid and minimizes squared Euclidean reconstruction distance. Its groups depend on feature scaling, the number of centroids, and initialization; they need a su...

Recommendation Systems

EN

Recommendation systems are a fundamental component in the interface between users and large-scale content providers like Amazon, eBay, and iTunes. These systems personalize user experiences by suggesting products, movies, or content based on past interactions and preferences...

Linear Regression Multiple Variables

EN

Multiple linear regression extends the concept of simple linear regression to multiple independent variables. This technique models a dependent variable as a linear combination of several independent variables...

Machine Learning System Design

EN

These notes outline the key strategies and considerations for developing a spam classification system. This process involves several steps, from feature selection to error analysis, and addresses the challenges of working with skewed datasets...

Review of Linear Algebra

EN

Linear Algebra forms the backbone of many machine learning algorithms, including linear regression. Understanding matrices and vectors is fundamental in this context...

Applying Machine Learning Advice

EN

When facing high error rates with a machine learning model, especially when tested on new data, various strategies can be employed to diagnose and address the problem...

Anomaly Detection

EN

Anomaly detection involves identifying data points that significantly differ from the majority of the data, often signaling unusual or suspicious activities. This technique is widely used across various domains, such as fraud detection, manufacturing, and system monitoring...

Introduction to Machine Learning

EN

Machine Learning (ML), a subset of artificial intelligence, is the scientific study of algorithms and statistical models that computer systems use to effectively perform a specific task without using explicit instructions. It relies on patterns and inference instead. ML algorithms build a mathematic...

Support Vector Machines

EN

Support vector machines fit a decision score using a margin-based loss and a coefficient norm penalty. Comparing hinge with logistic loss explains their objectives. The SVM construction also leads to kernels that can represent nonlinear boundaries...

Neural Networks Learning

EN

Learning minimizes an explicit loss over network parameters. Forward propagation calculates predictions; backpropagation applies the chain rule to calculate derivatives of that loss. An optimizer then uses those derivatives to update weights and biases. Keeping these operations separate makes their ...

Large Scale Machine Learning

EN

Training machine learning models on large datasets poses significant challenges due to the computational intensity involved. To effectively handle this, various techniques such as stochastic gradient descent and online learning are employed. Let's delve into these methods and understand how they fac...

Logistic Regression

EN

Logistic regression is a statistical method used for classification in machine learning. Unlike linear regression, which predicts continuous values, logistic regression models a conditional class probability. A separate decision rule turns that probability into a label, such as spam or non-spam...

Neural Networks Representation

EN

A neural network composes parameterized transformations of its input. A hidden layer can learn combinations of features, and a nonlinear activation prevents the entire network from collapsing into one linear map. The appropriate architecture depends on the task, sample size, and computational constr...

Linear Regression

EN

Linear Regression is a fundamental type of supervised learning algorithm in statistics and machine learning. It's utilized for modeling and analyzing the relationship between a dependent variable and one or more independent variables. The goal is to predict continuous output values based on the inpu...

Dimensionality Reduction

EN

Principal Component Analysis (PCA) is a widely used technique in machine learning for dimensionality reduction. It simplifies the complexity in high-dimensional data while retaining trends and patterns...

Photo Ocr

EN

Optical Character Recognition (OCR) enables computers to interpret text within images. This process involves a machine learning pipeline comprising several steps, each focused on a specific aspect of OCR, such as locating text, separating characters, and classifying their images. The pipeline integr...

Selinux

EN

SELinux stands for Security-Enhanced Linux...

Logical Volume Management

EN

Storage devices such as HDDs, SSDs, USB drives, and virtual disks provide raw space. Before that space can be used conveniently, it usually needs to be divided, organized, formatted, and mounted...

Encryption

EN

Encryption is one of the main tools used to protect digital information. It keeps data private by changing readable information into an unreadable form. The readable version is called plaintext, and the unreadable version is called ciphertext...