Artificial Intelligence with PHP
  • Getting Started
    • Introduction
    • Audience
    • How to Read This Book
    • Glossary
    • Contributors
    • Resources
    • Changelog
  • Artificial Intelligence
    • Introduction
    • Overview of AI
      • History of AI
      • How Does AI Work?
      • Structure of AI
      • Will AI Take Over the World?
      • Types of AI
        • Limited Memory AI
        • Reactive AI
        • Theory of Mind AI
        • Self-Aware AI
    • AI Capabilities in PHP
      • Introduction to LLM Agents PHP SDK
      • Overview of AI Libraries in PHP
    • AI Agents
      • Introduction to AI Agents
      • Structure of AI Agent
      • Components of AI Agents
      • Types of AI Agents
      • AI Agent Architecture
      • AI Agent Environment
      • Application of Agents in AI
      • Challenges in AI Agent Development
      • Future of AI Agents
      • Turing Test in AI
      • LLM AI Agents
        • Introduction to LLM AI Agents
        • Implementation in PHP
          • Sales Analyst Agent
          • Site Status Checker Agent
    • Theoretical Foundations of AI
      • Introduction to Theoretical Foundations of AI
      • Problem Solving in AI
        • Introduction
        • Types of Search Algorithms
          • Comparison of Search Algorithms
          • Informed (Heuristic) Search
            • Global Search
              • Beam Search
              • Greedy Search
              • Iterative Deepening A* Search
              • A* Search
                • A* Graph Search
                • A* Graph vs A* Tree Search
                • A* Tree Search
            • Local Search
              • Hill Climbing Algorithm
                • Introduction
                • Best Practices and Optimization
                • Practical Applications
                • Implementation in PHP
              • Simulated Annealing Search
              • Local Beam Search
              • Genetic Algorithms
              • Tabu Search
          • Uninformed (Blind) Search
            • Global Search
              • Bidirectional Search (BDS)
              • Breadth-First Search (BFS)
              • Depth-First Search (DFS)
              • Iterative Deepening Depth-First Search (IDDFS)
              • Uniform Cost Search (UCS)
            • Local Search
              • Depth-Limited Search (DLS)
              • Random Walk Search (RWS)
          • Adversarial Search
          • Means-Ends Analysis
      • Knowledge & Uncertainty in AI
        • Knowledge-Based Agents
        • Knowledge Representation
          • Introduction
          • Approaches to KR in AI
          • The KR Cycle in AI
          • Types of Knowledge in AI
          • KR Techniques
            • Logical Representation
            • Semantic Network Representation
            • Frame Representation
            • Production Rules
        • Reasoning in AI
        • Uncertain Knowledge Representation
        • The Wumpus World
        • Applications and Challenges
      • Cybernetics and AI
      • Philosophical and Ethical Foundations of AI
    • Mathematics for AI
      • Computational Theory in AI
      • Logic and Reasoning
        • Classification of Logics
        • Formal Logic
          • Propositional Logic
            • Basics of Propositional Logic
            • Implementation in PHP
          • Predicate Logic
            • Basics of Predicate Logic
            • Implementation in PHP
          • Second-order and Higher-order Logic
          • Modal Logic
          • Temporal Logic
        • Informal Logic
        • Semi-formal Logic
      • Set Theory and Discrete Mathematics
      • Decision Making in AI
    • Key Application of AI
      • AI in Astronomy
      • AI in Agriculture
      • AI in Automotive Industry
      • AI in Data Security
      • AI in Dating
      • AI in E-commerce
      • AI in Education
      • AI in Entertainment
      • AI in Finance
      • AI in Gaming
      • AI in Healthcare
      • AI in Robotics
      • AI in Social Media
      • AI in Software Development
      • AI in Adult Entertainment
      • AI in Criminal Justice
      • AI in Criminal World
      • AI in Military Domain
      • AI in Terrorist Activities
      • AI in Transforming Our World
      • AI in Travel and Transport
    • Practice
  • Machine Learning
    • Introduction
    • Overview of ML
      • History of ML
        • Origins and Early Concepts
        • 19th Century
        • 20th Century
        • 21st Century
        • Coming Years
      • Key Terms and Principles
      • Machine Learning Life Cycle
      • Problems and Challenges
    • ML Capabilities in PHP
      • Overview of ML Libraries in PHP
      • Configuring an Environment for PHP
        • Direct Installation
        • Using Docker
        • Additional Notes
      • Introduction to PHP-ML
      • Introduction to Rubix ML
    • Mathematics for ML
      • Linear Algebra
        • Scalars
          • Definition and Operations
          • Scalars with PHP
        • Vectors
          • Definition and Operations
          • Vectors in Machine Learning
          • Vectors with PHP
        • Matrices
          • Definition and Types
          • Matrix Operations
          • Determinant of a Matrix
          • Inverse Matrices
          • Cofactor Matrices
          • Adjugate Matrices
          • Matrices in Machine Learning
          • Matrices with PHP
        • Tensors
          • Definition of Tensors
          • Tensor Properties
            • Tensor Types
            • Tensor Dimension
            • Tensor Rank
            • Tensor Shape
          • Tensor Operations
          • Practical Applications
          • Tensors in Machine Learning
          • Tensors with PHP
        • Linear Transformations
          • Introduction
          • LT with PHP
          • LT Role in Neural Networks
        • Eigenvalues and Eigenvectors
        • Norms and Distances
        • Linear Algebra in Optimization
      • Calculus
      • Probability and Statistics
      • Information Theory
      • Optimization Techniques
      • Graph Theory and Networks
      • Discrete Mathematics and Combinatorics
      • Advanced Topics
    • Data Fundamentals
      • Data Types and Formats
        • Data Types
        • Structured Data Formats
        • Unstructured Data Formats
        • Implementation with PHP
      • General Data Processing
        • Introduction
        • Storage and Management
          • Data Security and Privacy
          • Data Serialization and Deserialization in PHP
          • Data Versioning and Management
          • Database Systems for AI
          • Efficient Data Storage Techniques
          • Optimizing Data Retrieval for AI Algorithms
          • Big Data Considerations
            • Introduction
            • Big Data Techniques in PHP
      • ML Data Processing
        • Introduction
        • Types of Data in ML
        • Stages of Data Processing
          • Data Acquisition
            • Data Collection
            • Ethical Considerations in Data Preparation
          • Data Cleaning
            • Data Cleaning Examples
            • Data Cleaning Types
            • Implementation with PHP
          • Data Transformation
            • Data Transformation Examples
            • Data Transformation Types
            • Implementation with PHP ?..
          • Data Integration
          • Data Reduction
          • Data Validation and Testing
            • Data Splitting and Sampling
          • Data Representation
            • Data Structures in PHP
            • Data Visualization Techniques
          • Typical Problems with Data
    • ML Algorithms
      • Classification of ML Algorithms
        • By Methods Used
        • By Learning Types
        • By Tasks Resolved
        • By Feature Types
        • By Model Depth
      • Supervised Learning
        • Regression
          • Linear Regression
            • Types of Linear Regression
            • Finding Best Fit Line
            • Gradient Descent
            • Assumptions of Linear Regression
            • Evaluation Metrics for Linear Regression
            • How It Works by Math
            • Implementation in PHP
              • Multiple Linear Regression
              • Simple Linear Regression
          • Polynomial Regression
            • Introduction
            • Implementation in PHP
          • Support Vector Regression
        • Classification
        • Recommendation Systems
          • Matrix Factorization
          • User-Based Collaborative Filtering
      • Unsupervised Learning
        • Clustering
        • Dimension Reduction
        • Search and Optimization
        • Recommendation Systems
          • Item-Based Collaborative Filtering
          • Popularity-Based Recommendations
      • Semi-Supervised Learning
        • Regression
        • Classification
        • Clustering
      • Reinforcement Learning
      • Distributed Learning
    • Integrating ML into Web
      • Open-Source Projects
      • Introduction to EasyAI-PHP
    • Key Applications of ML
    • Practice
  • Neural Networks
    • Introduction
    • Overview of NN
      • History of NN
      • Basic Components of NN
        • Activation Functions
        • Connections and Weights
        • Inputs
        • Layers
        • Neurons
      • Problems and Challenges
      • How NN Works
    • NN Capabilities in PHP
    • Mathematics for NN
    • Types of NN
      • Classification of NN Types
      • Linear vs Non-Linear Problems in NN
      • Basic NN
        • Simple Perceptron
        • Implementation in PHP
          • Simple Perceptron with Libraries
          • Simple Perceptron with Pure PHP
      • NN with Hidden Layers
      • Deep Learning
      • Bayesian Neural Networks
      • Convolutional Neural Networks (CNN)
      • Recurrent Neural Networks (RNN)
    • Integrating NN into Web
    • Key Applications of NN
    • Practice
  • Natural Language Processing
    • Introduction
    • Overview of NLP
      • History of NLP
        • Ancient Times
        • Medieval Period
        • 15th-16th Century
        • 17th-18th Century
        • 19th Century
        • 20th Century
        • 21st Century
        • Coming Years
      • NLP and Text
      • Key Concepts in NLP
      • Common Challenges in NLP
      • Machine Learning Role in NLP
    • NLP Capabilities in PHP
      • Overview of NLP Libraries in PHP
      • Challenges in NLP with PHP
    • Mathematics for NLP
    • NLP Techniques
      • Basic Text Processing with PHP
      • NLP Workflow
      • Popular Tools and Frameworks for NLP
      • Techniques and Algorithms in NLP
        • Basic NLP Techniques
        • Advanced NLP Techniques
      • Advanced NLP Topics
    • Integrating NLP into Web
    • Key Applications of NLP
    • Practice
  • Computer Vision
    • Introduction
  • Overview of CV
    • History of CV
    • Common Use Cases
  • CV Capabilities in PHP
  • Mathematics for CV
  • CV Techniques
  • Integrating CV into Web
  • Key Applications of CV
  • Practice
  • Robotics
    • Introduction
  • Overview of Robotics
    • History and Evolution of Robotics
    • Core Components
      • Sensors (Perception)
      • Actuators (Action)
      • Controllers (Processing and Logic)
    • The Role of AI in Robotics
      • Object Detection and Recognition
      • Path Planning and Navigation
      • Decision Making and Learning
  • Robotics Capabilities in PHP
  • Mathematics for Robotics
  • Building Robotics
  • Integration Robotics into Web
  • Key Applications of Robotics
  • Practice
  • Expert Systems
    • Introduction
    • Overview of ES
      • History of ES
        • Origins and Early ES
        • Milestones in the Evolution of ES
        • Expert Systems in Modern AI
      • Core Components and Architecture
      • Challenges and Limitations
      • Future Trends
    • ES Capabilities in PHP
    • Mathematics for ES
    • Building ES
      • Knowledge Representation Approaches
      • Inference Mechanisms
      • Best Practices for Knowledge Base Design and Inference
    • Integration ES into Web
    • Key Applications of ES
    • Practice
  • Cognitive Computing
    • Introduction
    • Overview of CC
      • History of CC
      • Differences Between CC and AI
    • CC Compatibilities in PHP
    • Mathematics for CC
    • Building CC
      • Practical Implementation
    • Integration CC into Web
    • Key Applications of CC
    • Practice
  • AI Ethics and Safety
    • Introduction
    • Overview of AI Ethics
      • Core Principles of AI Ethics
      • Responsible AI Development
      • Looking Ahead: Ethical AI Governance
    • Building Ethics & Safety AI
      • Fairness, Bias, and Transparency
        • Bias in AI Models
        • Model Transparency and Explainability
        • Auditing, Testing, and Continuous Monitoring
      • Privacy and Security in AI
        • Data Privacy and Consent
        • Safety Mechanisms in AI Integration
        • Preventing and Handling AI Misuse
      • Ensuring AI Accountability
        • Ethical AI in Decision Making
        • Regulations & Compliance
        • AI Risk Assessment
    • Key Applications of AI Ethics
    • Practice
  • Epilog
    • Summing-up
Powered by GitBook
On this page
  • 1. What Are Eigenvalues and Eigenvectors?
  • 2. Finding Eigenvalues and Eigenvectors
  • 3. Applications in Machine Learning
  • 4. Geometric Intuition
  • 5. Eigenvalues and Eigenvectors in Practice (PHP Example)
  • 6. Conclusion
  1. Machine Learning
  2. Mathematics for ML
  3. Linear Algebra

Eigenvalues and Eigenvectors

Eigenvalues and eigenvectors are fundamental concepts in linear algebra, with wide applications in machine learning, artificial intelligence, and data science. Understanding these concepts helps in grasping various algorithms, such as Principal Component Analysis (PCA) and Singular Value Decomposition (SVD). This chapter introduces eigenvalues and eigenvectors, explains their mathematical foundation, and demonstrates their relevance to machine learning.

1. What Are Eigenvalues and Eigenvectors?

Eigenvalues and eigenvectors are properties of square matrices. They provide insight into the behavior of linear transformations represented by these matrices.

Given a square matrix , an eigenvector v\mathbf{v}v is a non-zero vector that, when multiplied by AAA, results in a scaled version of itself. The scaling factor is called the eigenvalue λ (lambda). Mathematically, this is expressed as:

Av=λvA \mathbf{v} = \lambda \mathbf{v}Av=λv

where:

  • is the square matrix (n ×\times× n),

  • v\mathbf{v}v is the eigenvector (n ×\times× 1),

  • λ is the eigenvalue (a scalar).

Key Points:

  • Eigenvectors point in a direction that remains unchanged (apart from scaling) when transformed by AAA.

  • Eigenvalues tell us how much the eigenvector is stretched or shrunk.

2. Finding Eigenvalues and Eigenvectors

To compute eigenvalues and eigenvectors, the following steps are taken:

Step 1: The Characteristic Equation

The eigenvalues of a matrix are determined by solving the characteristic equation:

det(A−λI)=0{det}(A - \lambda I) = 0det(A−λI)=0

where:

  • III is the identity matrix of the same size as AAA,

  • det()det()det() is the determinant of the matrix.

Step 2: Solving for Eigenvalues

The characteristic equation yields a polynomial equation in λ\lambdaλ (called the characteristic polynomial). The roots of this polynomial are the eigenvalues of AAA.

Step 3: Finding Eigenvectors

Once eigenvalues λ\lambdaλ are known, eigenvectors are computed by solving the equation:

(A−λI)v=0(A - \lambda I) \mathbf{v} = 0(A−λI)v=0

where v\mathbf{v}v is the eigenvector corresponding to the eigenvalue .

Example:

Let A=[4123]A = \begin{bmatrix} 4 & 1 \\ 2 & 3 \end{bmatrix}A=[42​13​]

  1. Compute: det(A−λI)=det[4−λ123−λ]=0.{det}(A - \lambda I) = \text{det}\begin{bmatrix} 4 - \lambda & 1 \\ 2 & 3 - \lambda \end{bmatrix} = 0.det(A−λI)=det[4−λ2​13−λ​]=0.

  2. Expand: (4−λ)(3−λ)−2=λ2−7λ+10=0.(4 - \lambda)(3 - \lambda) - 2 = \lambda^2 - 7\lambda + 10 = 0.(4−λ)(3−λ)−2=λ2−7λ+10=0.

  3. Solve for roots: λ1=5,λ2=2.\lambda_1 = 5, \lambda_2 = 2.λ1​=5,λ2​=2.

  4. For each λ\lambdaλ, solve: (A−λI)v=0(A - \lambda I) \mathbf{v} = 0(A−λI)v=0 to find the eigenvectors.

Step-by-step explanation

Let's solve for the eigenvectors step by step. We'll solve (A−λI)v=0(A−λI)\mathbf{v} =0(A−λI)v=0 for each eigenvalue.

For λ1=5λ_1 = 5λ1​=5:

  1. Set up (A−5I)v=0(A - 5I)\mathbf{v} = \mathbf{0}(A−5I)v=0 : [4−5123−5][v1v2]=[00]\begin{bmatrix} 4-5 & 1 \\ 2 & 3-5 \end{bmatrix} \begin{bmatrix} \mathbf{v}_1 \\ \mathbf{v}_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}[4−52​13−5​][v1​v2​​]=[00​]\

    Simplifies to: [−112−2][v1v2]=[00]\begin{bmatrix} -1 & 1 \\ 2 & -2 \end{bmatrix} \begin{bmatrix} \mathbf{v}_1 \\ \mathbf{v}_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}[−12​1−2​][v1​v2​​]=[00​]\

  2. This gives us system of equations: −v1+v2=0-v_1 + v_2 = 0−v1​+v2​=0 2v1−2v2=02v_1 - 2v_2 = 02v1​−2v2​=0 These equations are equivalent (second is just -2 times the first) So v1=v2\mathbf{v}_1 = \mathbf{v}_2v1​=v2​ If we let v1=1\mathbf{v}_1 = 1v1​=1, then v2=1\mathbf{v}_2 = 1v2​=1 Therefore eigenvector for λ1=5  is  v1=[11]⊤\lambda_1 = 5 \ \ \text{is} \ \ \mathbf{v}_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix}^\topλ1​=5  is  v1​=[11​]⊤

For λ2=2λ_2 = 2λ2​=2:

  1. Set up (A−2I)v=0(A - 2I)\mathbf{v} = \mathbf{0}(A−2I)v=0 [4−2123−2][v1v2]=[00]\begin{bmatrix} 4-2 & 1 \\ 2 & 3-2 \end{bmatrix} \begin{bmatrix} \mathbf{v}_1 \\ \mathbf{v}_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}[4−22​13−2​][v1​v2​​]=[00​] Simplifies to: [2121][v1v2]=[00]\begin{bmatrix} 2 & 1 \\ 2 & 1 \end{bmatrix} \begin{bmatrix} \mathbf{v}_1 \\ \mathbf{v}_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}[22​11​][v1​v2​​]=[00​]\

  2. This gives us system of equations: 2v1+v2=02\mathbf{v}_1 + \mathbf{v}_2 = 02v1​+v2​=0 2v1+v2=02\mathbf{v}_1 + \mathbf{v}_2 = 02v1​+v2​=0\

    From either equation: v2=−2v1\mathbf{v}_2 = -2\mathbf{v}_1v2​=−2v1​ If we let v1=1\mathbf{v}_1 = 1v1​=1, then v2=−2\mathbf{v}_2 = -2v2​=−2 Therefore eigenvector for λ2=2λ_2 = 2λ2​=2 is v2=[1 −2]⊤\mathbf{v}_2 = \begin{bmatrix} 1 \ -2 \end{bmatrix}^\topv2​=[1 −2​]⊤

Final result:

  • For λ1=5λ_1 = 5λ1​=5, eigenvector v1=[1 1]⊤\mathbf{v}_1 = \begin{bmatrix} 1 \ 1 \end{bmatrix}^\topv1​=[1 1​]⊤

  • For λ2=2λ_2 = 2λ2​=2, eigenvector v2=[1 −2]⊤\mathbf{v}_2 = \begin{bmatrix} 1 \ -2 \end{bmatrix}^\topv2​=[1 −2​]⊤

Note: Eigenvectors can be scaled by any nonzero constant and remain valid eigenvectors. These are just one possible normalized representation.

3. Applications in Machine Learning

3.1 Principal Component Analysis (PCA)

PCA uses eigenvalues and eigenvectors to reduce the dimensionality of data while retaining as much variance as possible. Steps include:

  • Compute the covariance matrix of the data.

  • Find the eigenvalues and eigenvectors of the covariance matrix.

  • Select the top eigenvectors corresponding to the largest eigenvalues (principal components)

3.2 Spectral Clustering

Spectral clustering leverages the eigenvalues and eigenvectors of graph Laplacian matrices to perform clustering on non-linear data.

3.3 Singular Value Decomposition (SVD)

SVD is a matrix factorization technique that involves eigenvalues and eigenvectors, widely used in recommender systems and image compression.

3.4 Stability Analysis

In optimization problems, eigenvalues of the Hessian matrix are used to determine whether a critical point is a maximum, minimum, or saddle point.

  • Neural Networks: Weight matrices' eigenvalues impact the network's stability and convergence.

  • Markov Chains: Eigenvalues of transition matrices help analyze long-term behavior.

4. Geometric Intuition

Eigenvectors represent directions that remain invariant under the transformation defined by AAA. Eigenvalues indicate the factor by which vectors along these directions are stretched or compressed. For instance:

  • In PCA, eigenvectors point in the directions of maximum variance.

  • In physical systems, eigenvalues often represent natural frequencies of vibration.

Eigenvalues and eigenvectors provide a deeper understanding of matrix transformations:

  • Scaling: Eigenvalues indicate the magnitude of stretching.

  • Rotation: Eigenvectors define invariant directions.

For example, in 2D, a matrix might rotate and stretch a vector. Eigenvectors point along axes that remain aligned, while eigenvalues specify how much they stretch.

Visual Example

Consider a 2D transformation matrix applied to a circle. The eigenvectors indicate axes along which the transformation scales the circle, and eigenvalues represent the scaling factors.

5. Eigenvalues and Eigenvectors in Practice (PHP Example)

5.1. Rubix ML Example

Using Rubix ML, we can also compute eigenvalues and eigenvectors. Rubix ML is a machine learning library for PHP designed to handle such mathematical operations effectively.

require 'vendor/autoload.php';

use Rubix\ML\Transformers\PolynomialExpansion;
use Rubix\ML\Transformers\MatrixNormalizer;
use Rubix\ML\Other\Helpers\Stats;
use Rubix\ML\Datasets\Unlabeled;

// Define a dataset as a matrix
$dataset = new Unlabeled([
    [4, 1],
    [2, 3]
]);

// Normalize the matrix
$normalizer = new MatrixNormalizer();
$normalizer->fit($dataset);
$dataset = $normalizer->transform($dataset);

// Compute eigenvalues and eigenvectors
list($eigenvalues, $eigenvectors) = Stats::eigen($dataset->samples());

// Output the results
print_r($eigenvalues); // Eigenvalues
print_r($eigenvectors); // Eigenvectors

Output:

Eigenvalues: [5, 2]
Eigenvectors: [[1, 1], [2, -1]]

5.2. PHP-ML Example

Let’s compute eigenvalues and eigenvectors of a 2 ×\times× 2 matrix using PHP and the PHP-ML library.

require_once 'vendor/autoload.php';

use Phpml\Math\LinearAlgebra\Matrix;

// Define a matrix
$matrix = new Matrix([
    [4, 1],
    [2, 3]
]);

// Eigenvalue decomposition
list($eigenvalues, $eigenvectors) = $matrix->eigenDecomposition();

// Output the results
print_r($eigenvalues); // Eigenvalues

print_r($eigenvectors); // Eigenvectors

Output:

Eigenvalues: [5, 2]
Eigenvectors: [[1, 1], [2, -1]]

6. Conclusion

Eigenvalues and eigenvectors form the backbone of many machine learning techniques, providing tools to analyze and simplify complex problems. Mastering these concepts equips you to understand advanced algorithms, optimize computations, and uncover patterns in data. Whether you’re working on dimensionality reduction, clustering, or optimization, eigenvalues and eigenvectors will inevitably be a part of your toolkit.

PreviousLT Role in Neural NetworksNextNorms and Distances

Last updated 1 month ago

To try this code yourself, install the example files from the official GitHub repository:

https://github.com/apphp/ai-with-php-examples