Chuyển đến phần nội dung
center-gradient-cover-bg
right-gradient-cover-bg
background gradient desk
Bài viết

Eigenvalues và Eigenvectors là gì? Cách tính, tính chất và ứng dụng trong AI

Tháng Tám 27, 2026

Chia sẻ với:

Để phân tích dữ liệu hiệu quả và tối ưu các mô hình AI, hiểu cách dữ liệu được biểu diễn và biến đổi là rất quan trọng. Eigenvalues và Eigenvectors là hai khái niệm nền tảng của đại số tuyến tính, giúp mô tả những hướng đặc biệt của một phép biến đổi tuyến tính và mức độ biến đổi theo các hướng đó. Hãy cùng FPT.AI tìm hiểu Eigenvalues và Eigenvectors là gì, cách tính, tính chất và ứng dụng của chúng trong AI và Machine Learning.

Eigenvalues và Eigenvectors là gì?

Eigenvalues và Eigenvectors là hai khái niệm dùng để mô tả cách một ma trận biến đổi dữ liệu. Với ma trận vuông A, một số λ được gọi là Eigenvalue nếu tồn tại vector khác 0 v sao cho Av = λv. Vector v khi đó là Eigenvector ứng với λ.

Eigenvalue là gì?

Eigenvalue λ là hệ số mà phép biến đổi A nhân lên Eigenvector tương ứng. Với λ thực: |λ| thể hiện hệ số thay đổi độ lớn; λ âm đồng thời đảo chiều vector; λ = 0 đưa vector về vector 0.

Eigenvector là gì?

Eigenvector là vector khác 0 mà sau phép biến đổi tuyến tính vẫn nằm trên cùng đường thẳng do vector ban đầu sinh ra. Phép biến đổi chỉ nhân vector với hệ số λ; nếu λ âm, hướng hình học của vector bị đảo ngược.

Eigenvalues và Eigenvectors là gì
Eigenvalue là hệ số λ mô tả cách Eigenvector được nhân lên dưới phép biến đổi Av = λv

Vì sao Eigenvalues và Eigenvectors quan trọng?

Eigenvalues và Eigenvectors là công cụ toán học quan trọng để mô tả cấu trúc và sự biến đổi của dữ liệu. Trong AI và Machine Learning, chúng thường được dùng để:

  • Phân tích phép biến đổi tuyến tính: Xác định các hướng đặc trưng được giữ nguyên phương và mức độ thay đổi theo từng hướng.
  • Làm nền tảng cho PCA và spectral methods: Hỗ trợ giảm chiều, phân tích cấu trúc dữ liệu và các bài toán dựa trên phổ.
  • Phân tích hệ động, graph và ma trận: Giúp nghiên cứu tính ổn định, cấu trúc liên kết và một số bài toán phân rã ma trận.
Vai trò của Eigenvalues và Eigenvectors
Eigenvalues và Eigenvectors giúp AI phân tích cấu trúc bên trong của dữ liệu

Các bước tính Eigenvalues và Eigenvectors đơn giản

Để tìm Eigenvalues (giá trị riêng) và Eigenvectors (vector riêng) của một ma trận, cần bắt đầu từ phương trình riêng cơ bản, sau đó biến đổi thành phương trình đặc trưng để tìm Eigenvalue. Khi đã xác định được Eigenvalue, tiếp tục giải hệ phương trình tuyến tính để tìm Eigenvector tương ứng.

Bước 1: Thiết lập phương trình riêng

Bắt đầu bằng việc xác định mối quan hệ giữa ma trận A, Eigenvector v và Eigenvalue λ:

Công thức: Av=λv

Trong đó:

  • A là ma trận vuông.
  • v là Eigenvector khác 0.
  • λ là Eigenvalue tương ứng.

Bước 2: Chuyển về phương trình đặc trưng

Biến đổi phương trình riêng về dạng có thể tìm Eigenvalue:

Công thức: (A−λI)v=0

Trong đó I là ma trận đơn vị có cùng kích thước với ma trận A.

Bước 3: Tính định thức

Thiết lập điều kiện để phương trình có nghiệm v ≠ 0 bằng cách tính định thức.

Công thức: det(A−λI)=0

Bước 4: Tìm Eigenvalues (λ)

Tìm Eigenvalues (λ) bằng cách giải phương trình đặc trưng.

Công thức: det(A−λI)=0

Bước 5: Tìm Eigenvectors (v)

Thay từng Eigenvalue λ vào phương trình, Giải hệ phương trình để tìm các vector v tương ứng, đây chính là các Eigenvector.

Công thức: (A−λI)v=0
Các bước tính Eigenvalues và Eigenvectors
Người dùng bắt đầu quá trình tính toán bằng phương trình riêng Av = λv

Cách tính Eigenvalues và Eigenvectors bằng phần mềm

Khi làm việc với các ma trận lớn hoặc cần kết quả có độ chính xác cao, các phần mềm và thư viện tính toán khoa học như Python (NumPy) và MATLAB hỗ trợ tìm Eigenvalues, Eigenvectors nhanh chóng thông qua các hàm có sẵn.

Tính bằng Python và NumPy

Khi cần tính toán tự động, lặp lại nhiều lần hoặc xử lý ma trận lớn hơn, có thể sử dụng các thư viện số như NumPy. Người dùng chỉ cần khai báo ma trận và sử dụng hàm phù hợp để nhận kết quả. Cách này phù hợp khi xử lý dữ liệu lớn trong các lĩnh vực như Machine Learning, phân tích dữ liệu và khoa học máy tính.

Ví dụ, hàm numpy.linalg.eig() giúp trả về:

  • Eigenvalues của ma trận.
  • Eigenvectors tương ứng với từng Eigenvalue.

Nếu A là ma trận đối xứng thực hoặc Hermitian, nên cân nhắc numpy.linalg.eigh(), được thiết kế riêng cho trường hợp này.

Tính Eigenvalues và Eigenvectors bằng phần mềm Python và NumPy
Python cung cấp thư viện NumPy để xử lý phép tính Eigenvalues và Eigenvectors

Tính bằng MATLAB

MATLAB là công cụ phổ biến trong toán học kỹ thuật, đặc biệt khi làm việc với đại số tuyến tính và ma trận. MATLAB phù hợp với các bài toán mô phỏng, xử lý tín hiệu, tối ưu hóa và nghiên cứu khoa học nhờ khả năng tính toán chính xác và trực quan.

Công thức: A*V = V*D

Hàm eig() trong MATLAB giúp tính nhanh:

  • Các Eigenvalue của ma trận.
  • Các Eigenvector tương ứng.
Tính Eigenvalues và Eigenvectors bằng phần mềm MATLAB
MATLAB hỗ trợ tính Eigenvalues và Eigenvectors bằng hàm eig()

Các thuật toán tính Eigenvalues và Eigenvectors cho ma trận lớn

Khi kích thước ma trận tăng lên, việc tính Eigenvalues và Eigenvectors bằng phương pháp trực tiếp sẽ tốn nhiều tài nguyên tính toán. Vì vậy, các thuật toán lặp được sử dụng để tìm nghiệm gần đúng với tốc độ và hiệu suất cao hơn:

  • QR Algorithm: Ở mỗi bước, phân rã Aₖ = QₖRₖ rồi tạo Aₖ₊₁ = RₖQₖ; với các biến thể thích hợp, quá trình hội tụ tới dạng cho phép đọc các eigenvalues.
  • Power Iteration: Power Iteration có thể hội tụ về eigenvector ứng với eigenvalue có trị tuyệt đối trội nhất khi các điều kiện hội tụ phù hợp được thỏa mãn, chẳng hạn dominant eigenvalue đủ tách biệt và vector khởi tạo có thành phần theo eigenvector đó.
  • Arnoldi Iteration: Arnoldi Iteration xây dựng một Krylov subspace để xấp xỉ một số eigenvalues/eigenvectors của ma trận lớn, đặc biệt hữu ích với ma trận thưa không đối xứng.
  • Lanczos Algorithm: Lanczos Method xây dựng Krylov subspace và đưa bài toán về ma trận tam đường chéo nhỏ hơn; phương pháp đặc biệt phù hợp với ma trận lớn, thưa và đối xứng/Hermitian.
Thuật toán tính Eigenvalues và Eigenvectors
Thuật toán QR giúp tìm Eigenvalue bằng cách phân rã và biến đổi ma trận liên tục

Các tính chất quan trọng của Eigenvalues và Eigenvectors 

Eigenvalues và Eigenvectors có nhiều tính chất quan trọng giúp phân tích cấu trúc và đặc điểm của ma trận, được ứng dụng rộng rãi trong đại số tuyến tính, khoa học dữ liệu, Machine Learning và xử lý tín hiệu:

  • Một Eigenvalue có thể tương ứng với nhiều Eigenvectors: Các Eigenvectors khác vector 0 thỏa mãn cùng một Eigenvalue λ thuộc cùng một eigenspace; nếu eigenspace có số chiều lớn hơn 1 thì có thể tồn tại nhiều Eigenvectors độc lập tuyến tính.
  • Eigenvalues có thể là số thực hoặc số phức: Tùy thuộc vào đặc điểm của ma trận, các Eigenvalue có thể nhận giá trị thực hoặc giá trị phức.
  • Eigenvalue có thể bằng 0: Khi một ma trận có Eigenvalue bằng 0, ma trận đó không khả nghịch và có định thức bằng 0.
  • Tổng các Eigenvalues bằng Trace của ma trận: Tổng các eigenvalues, tính theo bội đại số, bằng trace(A); tích các eigenvalues, cũng tính theo bội đại số, bằng det(A)
  • Tích các Eigenvalues bằng Determinant của ma trận:  Tích của toàn bộ Eigenvalue bằng định thức của ma trận λ1​×λ2​×…×λn​=det(A)
  • Eigenvectors thường được chuẩn hóa trước khi sử dụng: Trong nhiều ứng dụng, Eigenvector được chuẩn hóa về dạng vector đơn vị có độ dài bằng 1 nhằm giúp quá trình tính toán, phân tích và so sánh trở nên thuận tiện hơn.
Các tính chất quan trọng của Eigenvalues và Eigenvectors
Ma trận vuông có thể sở hữu nhiều Eigenvalue khác nhau tùy theo kích thước

Các ứng dụng của Eigenvalues và Eigenvectors trong thực tế

Eigenvalues và Eigenvectors được sử dụng để tìm cấu trúc, hướng chính và trạng thái ổn định của các hệ thống. Hai khái niệm này đóng vai trò quan trọng trong nhiều lĩnh vực như khoa học dữ liệu, trí tuệ nhân tạo, xử lý tín hiệu và phân tích mạng lưới:

  • Thuật toán PageRank của Google: PageRank có thể được biểu diễn thông qua eigenvector ứng với eigenvalue 1 của Google matrix; các phần tử của eigenvector này tạo thành PageRank vector.
  • Xử lý và nén ảnh: Eigenvalues và Eigenvectors hỗ trợ giảm chiều, nén ảnh, đồng thời được ứng dụng rộng rãi trong nhận diện khuôn mặtphân loại ảnh.
  • Principal Component Analysis (PCA): Eigenvectors của covariance matrix xác định các principal directions; eigenvalues tương ứng cho biết lượng phương sai được giải thích theo từng hướng.
  • Xử lý ngôn ngữ tự nhiên (NLP): Trong NLP, các phương pháp phân rã ma trận như LSA sử dụng Truncated SVD để xây dựng biểu diễn không gian tiềm ẩn. SVD có liên hệ chặt với eigen-decomposition, nhưng không nên nói mọi topic model hoặc word embedding đều sử dụng eigenvalues/eigenvectors.
  • Phân tích phổ đồ thị (Spectral Graph Analysis): Spectral graph methods khai thác eigenvalues và eigenvectors của graph Laplacian hoặc các ma trận liên quan để nghiên cứu cấu trúc graph và thực hiện các tác vụ như spectral clustering
Ứng dụng của Eigenvalues và Eigenvectors
Google sử dụng Eigenvector trong thuật toán PageRank để xếp hạng website

Giải đáp những câu hỏi thường gặp về Eigenvalues và Eigenvectors

Eigenvalue có thể bằng 0 không?

Nếu λ = 0 thì tồn tại v ≠ 0 sao cho Av = 0, vì vậy A có null space khác 0, không khả nghịch và det(A)=0. Phép biến đổi làm mất ít nhất một chiều độc lập.

Eigenvector có duy nhất không?

Không. Nếu v là eigenvector thì mọi k·v với k ≠ 0 cũng là eigenvector cùng λ. Ngoài ra, nếu eigenspace ứng với λ có số chiều lớn hơn 1 thì còn tồn tại các eigenvectors độc lập tuyến tính, không nhất thiết cùng phương với v.

Khi nào ma trận không có Eigenvectors?

Một ma trận thực có thể không có eigenvector thực, ví dụ phép quay 2D với góc không phải 0 hoặc π. Khi xét trên trường số phức, mọi ma trận vuông kích thước dương đều có ít nhất một eigenvalue và eigenvector.

Vì sao PCA sử dụng Eigenvalues và Eigenvectors?

PCA chọn các hướng có phương sai lớn nhất; eigenvalues cho biết phương sai được giải thích bởi từng thành phần. Khi giữ k thành phần đầu, PCA giữ lại tối đa phương sai theo tiêu chí tuyến tính của phương pháp.

Kết luận

Eigenvalues và Eigenvectors giúp mô tả tác động của phép biến đổi tuyến tính, trong đó Eigenvalue thể hiện mức độ thay đổi và Eigenvector thể hiện hướng không đổi của vector. Bạn có thể khám phá thêm các công nghệ và sản phẩm AI của FPT.AI để tìm hiểu cách các nền tảng toán học được ứng dụng trong những hệ thống AI thực tế!

Bài viết liên quan

Cập nhật mọi tin tức mới nhất về công nghệ AI

Đăng ký nhận bản tin của FPT.AI để được phủ sóng mọi xu hướng công nghệ, câu chuyện thành công và phân tích của chuyên gia.