1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Công nghệ thông tin: Nghiên cứu và phát triển các thuật toán trên ma trận thưa dùng svd và ứng dụng trong tìm kiếm

87 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và phát triển các thuật toán trên ma trận thưa dùng SVD và ứng dụng trong tìm kiếm
Tác giả Nguyễn Thôn Dã
Người hướng dẫn PGS.TS NGUYÊN ĐÌNH THÚC
Trường học ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH
Chuyên ngành KHOA HỌC MÁY TÍNH
Thể loại LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Năm xuất bản 2013
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 87
Dung lượng 41,02 MB

Nội dung

Trong phạm vi nghiên cứu của luận văn này, tác giả sẽ trình bay vấn đề “Nghiên cứu và phát triển các thuật toán trên ma trận thưa dùng SVD và ứng dụng trong tìm kiếm”.. hiện thực trên cơ

Trang 1

Nguyễn Thôn Dã

NGHIÊN CỨU VÀ PHÁT TRIEN CÁC THUẬT TOÁN TREN MA TRAN

THƯA DUNG SVD VÀ UNG DỤNG TRONG TÌM KIEM

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 60 48 01

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

(đã hiệu chỉnh theo yêu cầu của Hội đồng bảo vệ luận văn ngày 11/01/2013)

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TS NGUYÊN ĐÌNH THÚC

TP Hồ Chí Minh - Năm 2013

Trang 2

Tôi xin cam đoan rằng luận văn thạc sỹ này là công trình nghiên cứu củariêng tôi Các số liệu, kết quá trong luận văn là trung thực và chưa từng được ai khác công bố trong bắt kỳ công trình nào khác.

TP Hồ Chí Minh, ngày 19 tháng 02 năm 2013

Tác giả luận văn

NGUYEN THÔN DA

Trang 3

1.1.Lý do chon đề tài

1.2.Mục tiêu, đối tượng và phạm vi nghiên cứu

1.3.Phương pháp nghiên cứu

1.4.Đóng góp mới và ý nghĩa của dé tài

Chương 2— CƠ SỞ LÝ THUYET

2.1 Lý thuyết Vector

2.2 Lý thuyết Ma trận (đặc biệt là ma tran thưa)

2.3 Mô hình không gian Vector - Vector Space Method (VSM)

2.4 Lý thuyết về Latent Semantic Index

Chương 3 — TÌM HIEU CÁC PHƯƠNG PHÁP/ THUẬT TOÁN CHO MA TRANLON VÀ THƯA

3.1 Thuật toán phân tích LU

3.2 Thuật toán phân tích Cholesky

3.3 Thuật toán phân tích QR ual

Chương 4—- NGHIÊN CỨU VA HIỆN THUC THUẬT TOÁN PHAN RA TRI SUY

BIEN - SVD

4.1 Phan rã trị suy biên — SVD

4.2 Các bước của thuật toán phân rã trị suy biên - SVD

Chương 5 - NGHIÊN CỨU PHƯƠNG PHAP TÌM TÀI LIEU THEO MÔ HÌNH

VECTOR VÀ ÁP DUNG TÌM TAI LIEU THEO PHƯƠNG PHÁP SVD

5.1 Phương pháp tìm tài liệu theo mô hình Vector.

5.2 Áp dụng phương pháp SVD đề tìm kiếm tài

Chương 6 — THỰC NGHIEM VA PHAN TÍCH KET QUA

6.1 Chương trình thực nghiệm tim tài liệu thư viện trường DH Kinh tế Luật

Trang 4

6.1.2 Các giao diện xử lý của chương trình thực nghiệm.

6.2 Chương trình thực nghiệm kiểm tra việc sao chép tài

6.2.1 Các bước thực hiện của chương trình thực nghiệm kiểm tra việc sao chép tàiliệu -68

69

.73

6.2.2 Các giao diện xử lý của chương trình thực nghiệm.

6.3 Chương trình chương trình tìm kiếm các Website

6.3.1 Các bước thực hiện chương trình tìm kiếm các Website

6.3.2 Các giao diện xử lý của chương trình thực nghiệm

6.4 Phân tích kết quả

6.4.1 Phân tích kết quả chương trình thực nghiệm tìm t liệu thư viện.

6.4.2 Phân tích kết quả chương trình thực nghiệm kiểm tra sao chép tà

6.4.3 Phân tích kết quả chương trình thực nghiệm tìm kiếm Website

KET LUẬN VÀ KIEN NGHỊ

+ Phạm vi ứng dụng

+ Kết quả đạt được

+ Hướng phát triển

TÀI LIỆU THAM KHẢO

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TÁT

STT | Từ viết tắt | Chú thích

1 SVD Singular Value Decomposition

2 LSI Latent Sementic Indexing

3 QR Phân tích QR

4 LU Phân tích LU

5 PCA Principal Component Analysis

6 VSM 'Vector Space Method

Trang 5

Bang 5.1: Biéu diễn tài liệu theo mô hình vector

Bang 6.1 : Bảng so sánh các truy van so với tài liệu kỳ vọng 1

Bang 6.2 : Bang so sánh các truy van so với tài liệu kỳ vọng 2

Bảng 6.3 : Bảng so sánh các truy vấn so với tài liệu kỳ vọng 3

DANH MỤC CÁC HÌNH VẼ, ĐÒ THỊ

Hình 2.1: Bảng xếp hạng huy chương Olympic 2012

Hình 2.2: Ma trận thưa biéu diễn ma trận từ khóa - tài liệu

Hình 2.3: Mối quan hệ giữa tần số cục bộ và tổng thể trong cơ sở dữ liệu ý niệmHình 4.1: Các ma trận biểu diễn công thức A = U x S x VỀ

Hình 4.2 Mối quan hệ giữa các vector tài liệu và Vector truy vấn

Hình 5.1: Minh họa tiến trình giảm số chiều trong SVD : Am © Umi SixVin

Hình 5.2: Ma trận Từ khóa — Tài liệu (Term Document Matrix)

Hình 5.3: Ma trận trận xấp xỉ Amn U„xSw.Vụ„' (m=12, n=9)

Hình 5.4: Minh họa vector tài liệu khái niệm

Hình 5.5 : Minh họa công thức q = quis"

Hình 5.6 : Minh họa kết quả độ tương tự của truy van với các tài liệu

Hình 6.1 : Danh sách các tài liệu trong thư viện

Hình 6.2 : Kết quả truy vấn 1

Hình 6.3 : Kết quả truy vấn 2

Hình 6.4 : Kết quả truy vấn 3

Hình 6.5: Giao diện kiểm tra việc sao chép tài liệu

Hình 6.6: Giao diện liệt kê danh sách tài liệu

Hình 6.7: Giao diện upload tài liệu

Hình 6.8: Giao diện xóa các tài u

Hình 6.9 : Giao điện Upload và kiểm tra tài liệu sao chép 1

Trang 6

Kết quả các tập tin có độ tương tự với tập tin truy vấn 2

Giao diện danh sách các chủ đề Website cần thu thậpGiao diện chọn các chủ đề dé thu thập các WebsiteGiao diện thể hiện danh sách các chủ đề được chọnGiao diện thể hiện danh sách Website thu thập đượcGiao diện thể hiện danh sách toàn bộ các WebsiteGiao diện xóa các Website

Giao diện tìm kiếm các WebsiteGiao diện tìm Website theo truy vấn 1Kết quả các Website có độ tương tự với truy vấn 1

Giao diện tìm Website theo truy vấn 2

Kết quả các Website có độ tương tự với truy van 2

Trang 7

Trong thời đại hiện nay, với sự phát triển như vũ bão của ngành công nghệthông tin, cũng như ngành Khoa học máy tính đặc biệt là khai thác tri thức trên tất cảcác lãnh vực đòi hỏi con người phải không ngừng cầu tiến, học tập, nâng cao trình độ,tìm hiểu không ngừng dé thích nghỉ với cái mới, tri thức mới, giải quyết vấn đề mộtcách tối ưu với hiệu quả cao nhất, chúng ta đều biết rằng thế giới môn màu muôn vẻ,

cả thế giới chứa cả một kho dữ liệu khổng lồ, nhưng lại thiếu tri thức, vì thế nghiêncứu khoa học về khai thác dữ liệu đã trở thành khoa học không thể thiếu đối với mộtngười học tập, nghiên cứu Trong đó việc tìm tòi, tối ưu hóa việc tìm kiếm tài liệu làmột vấn đề rất cần thiết và hữu ích

Trong phạm vi nghiên cứu của luận văn này, tác giả sẽ trình bay vấn đề “Nghiên

cứu và phát triển các thuật toán trên ma trận thưa dùng SVD và ứng dụng trong tìm

kiếm” Trên nền tảng lý thuyết của thuật toán Singular Value Decomposition, tác giả

sẽ nghiên cứu và cài đặt thực nghiệm việc tìm kiếm tối ưu tài liệu (sách tham khảo,sách giáo trình, luận án, luận văn, khóa luận ) hiện thực trên cơ sở dữ liệu trựctuyến của thư viện trường đại học Kinh tế - Luật mà tác giả đang công tác, cài đặtthực nghiệm chương trình kiêm tra việc sao chép nội dung tập tin tài liệu, cài đặt thựcnghiệm ứng dụng tìm kiếm Website dựa trên mô hình tính toán vector, ma trận thưa

và thuật toán phân rã trị suy biến SVD

Tác giả xin được gửi lời tri ân sâu sắc đến thay Phó Giáo su.Tién sỹ NguyễnĐình Thúc, người thầy đã gợi ý đề tài, tận tâm chỉ dạy, hướng dẫn tận tinh dé giúpcho tác giả hoàn thành luận văn này, tác giả cũng chân thành biết ơn Giáo sư Tiến sỹBùi Doãn Khanh đã cung cấp các bài báo và tài liệu tham khảo hữu ích liên quan đếnluận văn Bên cạnh đó tác giả cũng không thé không nhắc đến công lao trợ giúp rấtnhiều của các thầy cô giảng viên, các thầy cô phòng sau đại học, các thầy cô cố vanhọc tập, các chuyên gia có vấn qua mạng của trường đại học Công nghệ thông tin, các

anh chị khóa trên và cùng ban cùng lớp không tiếc mồ hôi, công sức giúp đỡ tác giả

trong suốt quá trình học chương trình đào tạo Thạc sỹ khoa học máy tính tại trường

Trang 8

1.1 Lý do chọn đề tài

Trong đại số tuyến tính, ma trận thưa là ma trận rất đặc biệt, đó là ma trận mà hầuhết các phần tử đều bằng 0, rất thích hợp dé biểu diễn ma trận Terms — Document,trong đó câu truy van chứa một số từ khóa Bên cạnh đó SVD, thuật toán phân rã trịsuy biế , là một thuật toán rất mạnh dùng trên ma trận kiếm tài liệu tương ứng vớibiểu diễn ma trận Terms — Document

SVD, còn được hiểu với tên là Singular Value Decomposition, là một thuật toánkhông mới, tuy nhiên SVD có lịch sử phát triển từ lâu đời và không ngừng được ápdụng rộng rãi cho đến ngày nay

1.2 Mục tiêu, đối tượng và phạm vi nghiên cứu

+ Mục tiêu của đề tài :

e _ Nghiên cứu phương pháp phân rã trị suy biến kích thước ma trận lớn và minhhoạ trong tìm kiếm tài liệu

e Ap dụng dé xây dựng công cụ tìm kiếm tài liệu trực tuyến tại thư viện trường

DH Kinh tế - Luật

e Ap dụng dé xây dựng công cụ phát hiện sao chép tài liệu

© Ap dụng dé xây dựng công cụ tìm kiếm các Website theo từ khóa

+ Đối tượng nghiên cứu : Ma trận thưa, trị riêng, vector riêng và phân rã trị suy biến

+ Phạm vi nghiên cứu : Các thuật toán liên quan đến không gian Vector, ma trận

thưa, thuật toán phân rã trị suy biến SVD có thể ứng dụng cho bài toán tìm tài liệu, xử

lý tín hiệu, nén dữ liệu, nhận dang

1.3 Phương pháp nghiên cứu

Đề tài vận dụng các phương pháp như phương pháp nghiên cứu định tính,phương pháp nghiên cứu định lượng, quan sát, xử lý thông tin, so sánh, phân tích tổng

hợp.

1.4 Đóng góp mới và ý nghĩa của đề tài

Hiện thực hóa thuật toán phân rã trị suy biến trên ma trận thưa áp dụng cho tìm kiếm hiệuquả tài liệu tại thư viện trường, nơi tác giả đang công tác.

Trang 9

2.1 Lý thuyết Vector

2.1.1 Khái niệm Vector

Vector thường được ký hiệu bằng một ký tự chữ thường với một mũi tên bên trên ky

tự đó, ví dụ y Những con số chứa trong Vector được gọi là các thành phan, và số các

thành phan bằng với số chiều của Vector Chúng ta dùng một chỉ số dưới bên cạnh

tên của Vector đề đề cập đến thành phần ở vị trí tương ứng Ví dụ bên dưới, x là một

Vector có số chiều là 6 (theo [11, tr 3])

Các Vector có thé được trình bày tương đương theo chiều ngang dé tiết kiệm không

gian, chẳng hạn = (4,3,2,8,5,7) là một Vector tương đương với Vector ở trên

2.1.2 Chiều dài Vector

Chiều dài Vector được xác định bằng căn bậc 2 của tổng bình phương tất cả các thànhphan của Vector đó (theo [11, tr 5])

Nếu vià một Vector, chiều dài của nó được ký hiệu là | ỳ |, một cách ngắn gọn hơn,

ta ký hiệu như sau :

trong đó vj; là thành phần của vector ở vị trí i của vector v

Ví dụ nếu ve (2,9,3,7,3,4,5,2,8,2,6,11) thì

lols VP40 +P 4743 4445424842 46 +10 = 20.54

Trang 10

thành phần của vector thứ hai ở các vị trí tương ứng (Hai vector có cùng số lượng

thành phần, tức cùng số chiều) (theo [11, tr 6])

Ví dụ x = (8,6,3,5,-3,7,8,5,2-9) 5 y = (-5,3,6,7,4,-8,3,2,6-1)

Hai vector này có cùng số lượng thành phan là 10

thì + F = (8-5,6+3,3+6,5+7,-3+4,7-8,8+3,5+2,2+6,-9- 1) = (3,9,9,12,1,1,11,7,8,-10)

Tổng quát hơn nếu x = (Xị, X, Xạ:: Xn) 3» = (VI, Yo, Y3:.: Yo)

thi x + y = (K+ VI, Xo Yas Xot Vy Xu# Yo)

2.1.4 Tích vô hướng Vector với một số thực

Tích vô hướng của một số thực với một vector là nhân lần lượt số thực đó với từngthành phần của vector đó kết quả là một vector (theo [11, tr 6])

Vi dụ cho số thực a = 1.2; xs (16,13,15,-13,17,18,15,12,-19)

thì a* x = (1.2*16,1.2*13,1.2*15,1.2*(-13),1.2*17,1.2*18,1.2*15,1.2*12,1.2*(-19))

= (19.2, 15.6, 18, -15.6, 20.4, 21.6, 18, 14.4, -22.8)Một cách tổng quát, nếu a là một số thực, x = (x), Xa, Xạ Xa) là một vector thì

Bos =(a*Xi, a*X;, a*X a*X,)

2.1.5 Tích vô hướng hai Vector

Tích vô hướng 2 vector được xác định bằng tổng các phép nhân mỗi thành phần

vector thứ nhất với mỗi thành phần của vector thứ hai ở các vị trí tương ứng (Haivector có cùng số lượng thành phan, tức cùng số chiều) (theo [11, tr 7])

Ví dụ x = (5,6,3,5,-3,7,6,5,2,-2) ; y = (-1,3,6,7,3,-2,3,2,4,-1)

Hai vector nay có cùng số lượng thành phan là 10

thì Tích vô hướng của vector x VỚi vector y được ký hiệu bằng (x,y) hay x y

ky = 5S*(-1) + 6*3 + 3*6 + 5*7 4(-3)*3 + 7*(-2) + 6*3 + 5*2 + 2*4 +(-2)*(-1)

=-5 + 18+ 18 + 35 -9-14+ 18+ 10+8+2=81

Trang 11

2.1.6 Tính trực giao của Vector

Hai vector được gọi là trực giao với nhau nếu tích vô hướng của chúng bằng 0 Trongkhông gian 2 chiều điều này tương đương với việc chúng vuông góc với nhau hay góc

giữa hai vector là 90° (theo [11, tr 7])

Ví dụ vector F = (5,2,-5,2,6,2,-2,-1) ; vector y = (-3,4,5,2,6,3,5,4) Hai vector F và

y là trực giao với nhau vi

x.y = 5(-3)+2*4-5(5)+2*2+6*6+2#3-2*5-1*4

=-154+8- 25+4+36 +6- I0—4=0

2.1.7 Vector trực giao (Vector đơn vị)

Vector trực giao (hay còn gọi là vector đơn vị) là một vector có chiều dài là 1 Bất kỳmột vector có chiều dài dương (>0) có thể được trực giao hóa bằng cách chia mỗithành phan trong vector cho chiều đài của vector đó

Ví dụ với vector x = (1,2,4,6,7,3,5,2),IxI= VI? +2? +4? +6? +72 +32 +5 +2? =12

Khi đó » ` ' 5 là một vector trực giao vì

12632124126

2 12

x=(wir"S557 Vos V65" Jos’ 65124), (26H) like

F và yla hai vector trực chuân với nhau bởi :

x là vector đơn vị với | xl =

Trang 12

y là vector don vị với | yl = (

Ti 6

va x.y = —=-——-——8 5465 we “s8

2.2 Lý thuyết Ma trận (đặc biệt là ma trận thưa)

Một ma trận thì tương tự như một bang dữ liệu, giống như hình 2.1, trình bày tổng số

huy chương vàng, bạc, đồng của 10 quốc gia (country)

HE United states of America 46 29 29 104

SHE Great Britain 29 7 19 65

Một bảng chứa các dòng (danh sách theo chiều ngang liên quan đến từng quốc gia, và

các cột (danh sách theo chiều dọc liên quan đến số lượng từng loại huy chương và cột

cuối cùng là tổng số huy chương các loại của một quốc gia)

Chúng ta có thể biểu diễn bảng dữ liệu trên bằng ma trận như sau :

Trang 13

88 65 82 28 44 34 28 17 35

Kích cỡ của ma trận được thé hiện dưới đạng số hàng nhân với số cột Với ma trận ởtrên chúng ta viết là ma trận 10 x 4

Thông thường để biểu thị tên ma trận người thường dùng kí hiệu chữ hoa, ví dụ như

ma trận A Số dong lớn nhất của ma trận được ký hiệu bằng m, số cột lớn nhất của ma

trận được ký hiệu bằng n Các phần tử của ma trận (còn gọi là các thành phần của ma

trận) được ký hiệu bằng một ky tự chữ thường đi kèm theo đó là chỉ số dong và chỉ sốcột Chẳng hạn, trong ma trận ở trên số 32 nằm ở hàng 4 và cột 3, một cách khác

chúng ta có thể biểu diễn phan tử 32 là a¿s = 32 Tổng quát hơn, nếu một phan tử ở

hàng ¡ và cột j được biểu diễn bằng aj và được gọi là phan tử ij hay thành phan ij

in) là hang thứ i của ma tran A.

Day sé AG) = (aij, aạj amj) là cột thứ j của ma tran A

Xét trường hợp đặc biệt khi ma trận là ma trận thưa : Ma trận có các phần tử chủ yếu

là các phần tử bằng 0

Trang 14

Ví dụ một ma trận thưa : Ta xét các tài liệu sau :

Tài liệu I : Shipment of gold damaged in a fire

Tai liêu 2 : Delivery of silver arrived in a silver truck

Tài liệu 3 : Shipment of gold arrived in a truck

Ma trận thưa mô tả số lượng từng từ khóa có trong từng tài liệu (Hình 2.2)

Theo Dr Garcia trong tài liệu [6, tr 1] , các từ khóa theo hình 2.2 được xây dựng như

sau:

+ Không phớt lờ các Stop word (các từ quá phô biến) - tham khảo [21]

+ Chỉ sử dụng từ đơn lẻ (bỏ qua các cụm từ có nghĩa)

+ Tập hợp các từ khóa là các từ đơn lẻ khác nhau từng đôi một lấy trong 3 tài liệu trên

[my |Từkhóa Ps : P? P?

vân j|L J 1

—llel—=l—lelel-lel=l-

—lol—=l—l=l-lelelel-l-TERS ERP Ey

Jelel—=l-l—=l-l-lel-lel-Hình 2.2: Ma trận thưa biểu diễn ma trận từ khóa — tài liệu

Nguồn : Tài liệu [6] và chương trình ví dụ về SVD của tác giả

2.2.2 Ma trận vuông

Một ma trận được gọi là vuông nếu nó có cùng số đỏng và số cột Ma trận vuông cấp

n được kí hiệu là A„xạ với A là tên của ma trận, n là kích cỡ cua ma trận đó (n là sốnguyên >1)

Vi dụ một ma trận vuông cấp 12

Trang 15

cột n Phép chuyển vị của ma trận được kí hiệu tên ma trận đi kèm với chữ T (HOA)

viết ở đạng chỉ số trên Với ma trận A, ma trận chuyền vị của A là AT, Ví dụ

Ma trận đơn vị là một ma trận vuông trong đó các phần tử nằm trên đường chéo chính

là I và các phân tử còn lại là 0 Đường chéo chính của ma trận vuông là tập hợp cácphần tử ay tại đó i=j, chẳng hạn như aj), 22, 433, amm Ma trận vuông cấp n được kýhiện bằng nhiều cách khác nhau như Inn , I, hoặc đơn giản là I Ma trận đơn vị đượcxem tương tự như số | trong phép nhân thông thường, nghĩa là AI = A

Ví dụ :

Trang 16

> II aa wo l “

0 1 0 0

0 cooroo orooo

2.2.5 Cac phép toan trén ma tran

2.2.5.1 Phép nhân ma trận cùng cấp

Phép nhân ma trận chỉ được thực hiện khi số dong của ma trận thứ hai bằng voi

số cột của ma trận thứ nhất Kết quả của phép nhân hai ma trận là một ma trận có sốđòng là số dòng của ma trận thứ nhất và số cột bằng với số cột của ma trận thứ hai

Nói cách khác, nếu A là một ma trận mxn và B là một ma trận nxk thì ma trận AB là

một ma trận mxk.

Mỗi phan tử của ma trận AB được xác định bằng tích vô hướng của từng dòng

của ma trận A nhân với từng cột của ma trận B Như vậy, nếu Ay, Ay Am là cácvector dòng của ma trận A, và Bị, Bo B, là các vector cột của ma trận B thì abj

(phan tử của ma trận AB ở hàng i, cột j) là AB;

Trang 17

2.2.5.2 Phép nhân một số với một ma trận

Cho ma trận A(aij)mn, 4e Rthì 2 A=B = (bi)mxn © by = ay, Vij

Chú ý : Phép trừ hai ma trận cùng cấp như sau :

Trang 18

Ma trận tam giác là ma trận vuông có tất cả các phần tử nằm về một phía của đườngchéo chính bằng 0.

a, a, cà Ay a, 0 0

A= 0 ay ay, hoặc đại Ay 0

0 4, a, 4, q,

Với ma trận A có m dòng, n cột,

+ Khi m= I, A được gọi là ma trận dong

A = lãi ap ay ân]

+ Khin= I, A được gọi là ma trận cột A =

Ma trận chéo là ma trận vuông trong đó tat cả các phan tử aij đều bằng 0 khi ¡ # j

hay nói cách khác chỉ có các giá trị khác 0 xuất hiện từ góc trái phía trên đến góc phảiphía dưới của ma trận.

Trang 19

Đặc biệt aj, = a;› = = 33 = 1 lúc đó ma trận chéo gọi là ma trận đơn vị cấp n.

Cho ma trận vuông cấp n : A = (ain

Dinh thức cấp n của ma trận A, kí hiệu detA hoặc |A|, được định nghĩa :

+ Với A cấp I(n= 1); A =[ai] : detA =a,

+ Với A cấp 3 (n=8) A =| |

Coy CB

thi detA = a;,detMj, - ay,detM 2 = ay 1422 - A282

(Ghi chú : ai,a¡; là các phan tử nằm trên dong 1 của A)

+ Với A cấp n:

detA = a;,detM), - ajadetMz+ + (1)? aindetMIạ

(Ghi chú : ai, a;, aia , ain là các phan tử nằm trên dòng 1 của A)

Từ định nghĩa, bằng chứng minh quy nạp ta cũng có :

detA = aidetMii — aadetMại + + (S1)? andetM,y

(Ghi chú : ay), ai, ai; , ain là các phần tử nằm trên dong 1 của A)

Trang 20

* Định thức của ma trận tích : Cho hai ma trận vuông cùng cấp A, B, khi đó :

+ detAB = detA.detB

+ detA" = (detA)"

2.2.6.3 Các tính chất của định thức

1) Tính chất 1 : detAT = detA

2) Tính chất 2 : Đồi chỗ hai dòng (hai cột) cho nhau thì định thức đổi dấu

3) Tính chất 3: Định thức có hai dòng (hai cột) giống nhau thì bằng 0

4) Tính chất 4: Gọi phần bù đại số của các phần tử ay là :

Aj =(-1)'?detMụ , ở đây Mj là ma trận con cap n-1 ứng với aj

Ta có

detA khi i=k

* ai Aur + aiAja + 8Á + -† ainAkn = { 0 khi i#k

* aijAik + A2jÄ2k + AajÃäk + anj Ân = k j R k

4) Hệ qua : Dinh thức của ma trận A được :

Khai triển theo dòng i : detA = a;,Ajy + A2Aja+ aj3Ajz + + ainAin

Khai trién theo cộtj :detA = aijAij + agjAgj + a3jAgj + + agjAnj

5) Tinh chất 5 : Nếu tat cả các phần tử của một dòng (một cột) là tông của hai số hạngthì định thức có thé phân tích thành hai định thức

Trang 21

9) Tinh chất 9 : Lay một dòng (cột) nhân với một số rồi cộng vào dòng (cột) khác thìđịnh thức không đổi

Trang 22

Cho ma trận vuông cấp n, nếu tổn tại ma trận vuôn B cấp n sao cho AB = BA =I, thì

ta nói A khả đảo và gọi B là ma trận nghịch đảo của A, kí hiệu A!

Vay AA=AA=lạ

Trang 23

2.2.7.2 Điều kiện tổn tai

+ Ma trận vuông A gọi là không suy biến nếu detA # 0

+ Ma trận vuông A có ma trận nghịch đảo (khả đảo) khi và chỉ khi A không suy biến2.2.7.3 Tính chất của ma trận nghịch đảo

1) Nếu A không suy biến thì (A“)"! =A

2) Nếu A, B là các ma trận vuông cùng cấp không suy biến thì A.B có ma trận nghịchđảo (AB)! =B! A"

Aj =(-1)“detM;; , ở đây Mỹ là ma trận con cấp n-1 ứng với aij

13 6

Vi du tìm ma trận nghịch dao A'' của ma trận A=|1 4 10

1 BI:

1 3 6 detA =|I 4 10

Trang 24

+ Các dòng khác không nằm phía trên các dòng bằng 0 (nếu có)

+ Phần tử khác không đầu tiên ở dòng dưới bao giờ cũng nằm bên phải cột chứa phần

tử khác không đầu tiên của dòng trên

Ví dụ :

Trang 25

930 4 930 4

A=|0 0 7 -2|;B=|0 0 7 -2

000 8 000 0

Định lý 1 : Các phép biến đổi sơ cấp không làm thay đổi hạng của ma trận

Định lý 2 : Hạng của ma trận bậc thang dòng bằng số dòng khác không của nó

Ở ví dụ trên : r(A) = 3; r(B) =2

2) Quy tắc thực hành tìm hạng ma trận bằng các phép biến đồi sơ cấp

+ Hạng của ma trận bậc thang dòng bằng số dòng khác không của nó

+ A biến đổi sơ cấp trên dòng hoặc trên cột +B ( B là ma trận bậc thang dòng)

=> 1(A) = số dòng khác không của B

Biến đổi dong 4 = dong 4 — $ dong 23> —=———— coon o}-b Vw“ oletò

Trang 26

Và B có số dòng khác không là B do đó r(A) = 3, tức hạng của ma trận A là 3

2.3 Mô hình không gian Vector - Vector Space Method (VSM)

Mô hình Vector Space Model kết hợp thông tin cục bộ và tổng thể

© df,=tan suất hay số lần tài liệu chứa từ khóa

© D=s6 tài liệu có trong cơ sở đữ liệu.

Tỷ số df; /D là xác suất trong việc chọn một tài liệu chứa một từ khóa đã được truyvấn từ tập hợp các tài liệu Điều này có thể được xem như một xác suất tổng thểthông qua toàn bộ tập hợp Như vậy, /og(D/df) là tần số tài liệu nghịch đảo, IDF; vàcác thông số này đành cho thông tin tổng quát Hình 2.3 mô tả mối quan hệ giữa tần

số cục bộ và tổng thể trong tập hợp cơ sở dữ liệu ý niệm chứa 5 tài liệu DI, D2, D3,D4, và D5 Chỉ có 3 tài liệu chứa từ khóa “CAR” Truy vấn hệ thống cho từ khóanày cho một IDF vo giá trị là log(5/3) = 0.2218.

Trang 27

Đề hiểu công thức 1, chúng ta xét một ví dụ Để cho đơn giản, giả sử rằng chúng ta

giải quyết một mô hình vector từ khóa đơn giản trong đó :

¢ _ Không quan tâm đến nơi từ khóa xuất hiện trong tài liệu

© Ding tat cả các từ khóa , bao gồm các từ khóa phé biến và quá chung chung.

¢ Không quan tâm đến từ đồng nghĩa

Giả sử chúng ta vấn tin một hệ IR (Information Retrival) cho truy vấn " English for

students " Cơ sở dữ liệu chứa 3 tài liệu (D=3) cụ thể như sau :

Truy vấn : English for students

Tài liệu 1 (DI) : “English for teacher and students”

Tài liệu 2 (D2) : “English for teachers”

Tài liệu 3 (D3) : “IELTS for students”

Kết quả rút trích dữ liệu được tóm tắt 6.3 :

Trang 28

Bảng 2.1: Mô hình Term —Vector dựa trên w, =f, KH

Mô hình Term —Vector dựa trên w, = #f, “inf 2}

Truy van : English for students

Tai ligu 1 (D1) : English for teacher and students

Tài liệu 2 (D2) : English for teachers

Tài liệu 3 (D3) : IELTS for students

D =3; IDF, = log(D/df,)

So lan Trọng sô từ khóa.

xuât hiện, tf 0 Me “tof 2.)

= of,* IDF

Từ khóa | Q | DI | D2 | D3 | df; | D/df; | IDF, Q DI D2 D3

English | 1} 1 | 1 | 0 | 2 | 3/2 | 0.1761 | 0.1761 | 0.1761 | 0.1761 0 For | 1 | Fi A373 0 0 0 0 0 Teacher | 0 | 1 1 0 |2 | 3⁄2 |0.1761 0 0.1761 | 0.1761 0 Students} I1 | 1 | 0 | 1 | 2 | 3/2 | 0.1761 | 0.1761 | 0.1761 0 | 0.1761 And 0; 1) 0) 04 1) 3/1 | 04771 0 | 0.4771 0 0

Bay giờ chúng ta xem các trọng số (weights) như là các thành phan trong không gianvector, xem câu truy vấn và tài liệu như là các vector Để khám phá xem vector tàiliệu nào an với vector truy vấn hơn, chúng ta khảo sát việc phân tích độ tương tựđược giới thiệu dưới đây :

Đầu tiên, đối với mỗi tài liệu và truy vấn, chúng ta tính tất cả các chiều dài vector

Vector Dị = (0.1761, 0, 0.1761, 0.1761, 0.4771)

Vector Dạ = (0.1761, 0, 0.1761, 0, 0)

Vector Dạ = (0, 0, 0, 0.1761, 0)

Vector Q = (0.1761, 0, 0, 0.1761, 0)

Trang 29

Sắp xếp các tài liệu theo độ tương tự của truy van ta có :

Độ tương tự cao nhất Cosin OD, = 0.7070 ứng với tài liệu “IELTS for students”

Độ tương tự thứ nhì CosinđD, = 0.4999 ứng với tai liệu “English for teachers”

Trang 30

Độ tương tự thấp nhất Cosin OD,= 0.4398 ứng với tài liệu “English for teacher and

mà những từ này nằm trong hoặc được chỉ định trong một cơ sở dữ liệu Vì tính đa

dang trong từ vựng người ta dùng phương pháp này dé mô tả tài liệu như nhau Sử

dụng phân rã trị suy biến, ta có thé có nhiều thuận lợi trong cấu trúc quan hệ tiềm antrong việc kết hợp giữa các từ khóa với các tài liệu bằng cách xác định ma trận từ

khóa - tài liệu lớn và thưa với SVD Các từ khóa và tài liệu được biéu diễn bằng rất

nhiều những vector giá trị lớn nhất mà khớp với những câu vấn tin của người dùng.Chúng ta gọi phương pháp tìm kiếm này là “lập chỉ mục ngữ nghĩa tiềm an” - LatentSementic Indexing (LSI) vì không gian con biểu diễn những mối quan hệ mật thiết

quan trọng giữa các từ khóa và các tài liệu mà không rõ ràng trong các tài liệu cụ thê

[12, tr.2].

LSI vẫn là một phương pháp lập chỉ mục thông minh tự động và hoàn chỉnh, khảnăng ứng dụng rộng rãi, và là một cách rất hứa hẹn đê cải tiến việc truy xuất nhiềuloại tài liệu văn bản khác nhau của người dùng, hay truy xuất đến những tài liệu vàcác dịch vụ dùng cho việc mô tả từ vựng sẵn có [12, tr.2]

Thông thường, thông tin được tìm kiếm bằng cách so khớp các từ khóa từng từmột trong những tài liệu với những từ khóa của truy van Tuy nhiên, việc so khớp từ

vựng có thể sẽ không chính xác với truy vấn từ người dùng vì từ đồng nghĩa hay đa

nghĩa đề trình bày khái niệm (từ đồng nghĩa), những từ khóa trong câu truy vấn có lẽkhông khớp với những tài liệu liên quan Hơn nữa, hau hết các từ là đa nghĩa, vì thếcác từ khóa trong một câu truy vấn của người dùng nhiều khi sẽ khớp với những tàiliệu không liên quan Một cách tiếp cận phép người dùng trích lọc thông tin dựa trên

chủ đề mang tính khái niệm hay ý nghĩa của một tài liệu là LSI [12, tr.2]

Latent Semantic Indexing có gắng tránh những vấn đề của so khớp từ vựngbằng cách tiếp cận thống kê thay vì tìm theo từng từ LSI xác định rằng có một số

Trang 31

cấu trúc tiềm ẩn hoặc một số cấu trúc ẩn trong cách dùng từ cách độc lập với việcchọn lựa từ ngữ Một SVD thu gọn được dùng đề giới hạn cấu trúc trong cách dùng từqua các tài liệu Việc rút trích thông tin được thực thi khi dùng cơ sở dữ liệu chứa các giá trị và các vector nhận được từ SVD thu gọn (truncated SVD) Thực thi dữ liệu chothấy những vector xây dung từ thống kê rõ nghĩa hon so với từ khóa riêng lẻ (theo[12, tr.2])

2.4.2 Kiến thức nền tảng

LSI là một biến thể của mô hình không gian Vector - Vector Space Method(VSM) mà ánh xạ một không gian tuyến tính có số chiều cao vào một không giantuyến tinh có số chiều thấp hơn nhiều [16, tr.5] Ý tưởng của LSI là nếu hai vector tailiệu có cùng chủ đề, chúng sẽ có cùng những từ với một từ khóa và những vector tàiliệu nay sẽ rất gần cấu trúc ngữ nghĩa của nhau sau khi giảm số chiều thông quaphương pháp SVD [16, tr.2]

LSI thay thế ma trận gốc bằng một ma trận khác mà không gian cột của nó (matrận mới) chỉ là không gian con của không gian cột của ma trận cũ (ma trận góc).Trong mô hình VSM, ma trận tài liệu thường có số chiều lớn và thưa, vì rất nhiều từkhông xuất hiện trong mỗi tài liệu Ma trận có số chiều lớn và thưa như thế dễ dẫn

đến việc nhiễu dữ liệu (noise) và gặp khó khăn trong việc năm bắt cấu trúc ngữ nghĩa

bên trong Hơn nữa, việc lưu trữ và thực thi dữ liệu như vậy đòi hỏi chỉ phí tài nguyên

và bộ nhớ rất lớn (theo [16, tr.47])

Mô hình giảm số chiều là một cách rất khả thi đề giải quyết vấn đề này Phươngpháp phân rã trị suy biến (SVD) có nhiều thuận lợi trong việc xử lý cấu trúc từ ngữtiềm ân trong sự kết hợp những từ khóa nằm trong những tài liệu bằng những vectorgiá trị đơn lớn nhất Những vector mà biểu diễn những tài liệu và các câu truy van sẽđược chiếu lên trên không gian mới có số chiều thấp hơn để được SVD thu gọn(truncated SVD) [12, tr.2].

Trang 32

Chương 3 — TÌM HIỂU CAC PHƯƠNG PHÁP/ THUAT TOÁN CHO MATRAN LỚN VA THƯA

3.1 Thuật toán phân tích LU

3.1.1 Khái niệm phân tích LU

Mỗi ma trận A có thể được phân tích thành tích của một ma trận tam giác dưới và một

ma trận tam giác trên (theo [13]) Công thức được biểu diễn như sau : A = LU

+ Nếu một phân tích LU tồn tại thì nó là duy nhất

+ Một ma trận khả nghịch A cho phép một phân tích LU nếu và chỉ nếu những địnhthức con chính của nó là khác 0 (định thức con chính bậc k là một định thức của ma.

trận

(A) 1 <ijck

+ Nếu A là ma tran khả nghịch duy nhất, thi A có thé viết là A = PLU, trong đó P là

ma trận chuyền VỊ

3.2.3 Nội dung thuật toán phân tích LU

Giả sử A cho phép một phân tích LU, chúng ta có giải thuật sau :

Trang 33

Ap dụng giải thuật trên

Ly = Lạ = Laš = l;U¡¡ = An Ủj¿ = Az Ủ = Aia;

Lyi = Aai / U1 ; Una = Aa — Lại*Uz ; Uy = Aas Lại#U; ;

Lại = Agi / Ui ; Lạ = Aa¿ - L3i*U 2 ; Uss = Ag3 — L31*U 13 — Lạa*ŠU¿;

Vi dụ cho ma trận A3x3 :

12 0 1 0 0 UY, Uy Us

3 6 -lI|matrậnL:|L, 1 0|matrậnU:| 0 U,, U,;

12 1 mal, 1 0 0 Uy

Ta tinh được các phan tử còn lại trong ma tran L và ma trận U như sau

Un=An = 1;Up= Ai; =2; Uy = Ap =0; Lại=3/1=3;U,;=6— 332 =0

Ứ¿ = -1 — 3*0 = -1;Lại = Az) /Uy, =1/1= 1;La¿= Asz- Lạ*Uj¿ =2— 1*2=0

Ủạ; = Ag3 — La1*U 13 — LạŸU¿š = 1 1*0 - 0#-1) = 1

Giải hệ phương trình tuyến tính

Để giải hệ phương trình tuyến tính Ax =b, với A=LU, ta có

Ly=b () Ux=y (2)

LUx=b© {

Giải phương trình (1) ta tim được vector y, tương tự giải phương trình (2) ta xác địnhđược vector x Cách giải quyết trở nên thuận tiện hơn với cách biểu diễn các ma trậntam giác :

Trang 34

Hệ phương trình tuyến tính có dang A.x = b (với x, b là các vector, A là ma trận)

Ta có A, ta suy ra được L và U như phương pháp trên

Trang 35

Ta giải hệ phương trình tuyến tính sau

x, +2x,+3x, =14

—5x; =5x, =~25 -8x, =-24

Bài toán giải hệ ban đầu (Hệ phương trình *), với x; = -5 ; xạ =2 ; xạ = 5

3.2 Thuật toán phân tích Cholesky

3.2.1 Khái niệm phân tích Cholesky

Cho ma trận đối xứng xác định đương A, phân tích Cholesky xây dựng một ma trậntam giác dưới L, mà có tính chất A = LL" (theo [14]) Một ma tran A là đối xứng xác

định đương nếu, với bat kỳ vector x nào, tích x"Ax luôn mang giá trị đương

Ma trận L thường được gọi là “square root” của ma trận A ( căn bậc 2 của ma trận A).

Phân tích Cholesky thường được dùng để tính ma trận nghịch đảo AT và định thức

của A ( bằng căn bậc 2 của tích các phần tử trên đường chéo chính của L)

3.2.2 Các định lý

+ Nếu A là ma trận đối xứng xác định dương thì có ít nhất một ma trận thực tam giác

dưới L để A =LLT

+ Chúng ta có thể buộc ma trận các phần tử trên đường chéo chính của L là dương,

mà phân tích tương ứng khi đó là duy nhất

3.2.3 Nội dung thuật toán phân tích Cholesky

Ma trận tam giác dưới L được xác định bằng cách :

Đẳng thức A=LLT cho :

Trang 36

mĩnG, j)

a, =(LỦ), = Dhl = PY ly, l<ij<n

ri

Ij nếu 1<i<j<n

Ma trận A đang là ma trận đối xứng, điều này đủ để những quan hệ trên được kiểm

tra cho i<j, chăng hạn, những phần tử lj của ma trận L phải thoả :

*ứ=j+l) đứa = labia tilings €> la, =

*ứ=n) ay, = Til tet baling Shy

Ap dung giai thuat trén

Aya l= (LU? & Ly =1; Ag = LiL ® Lại = An / Ly = 2/1 =2

Trang 37

Ai =LiiŸLái ® Lại = Aig / Li = 3/1 =3

Ago = (Lại)”, (ạ)” > Lạ; = Ay — (Ly)? = Ý20—4 =4

3.1.4 Các áp dung của phân tích Cholesky

+ Giải hệ phương trình tuyến tính

Để giải hệ phương trình tuyến tính : Ax=b, với A=LL", ta có :

Ly=b_ ()

Ux=y (2

Ta giải phương trình (1) để tìm vector y, sau đó tiếp tục giải phương trình (2) dé tìmvector x Cách giải quyết trở nên thuận tiện hơn với cách biểu diễn các ma trận tamgiác

Hệ phương trình tuyến tinh có dạng A.x = b (với x, b là các vector, A là ma tran)

Ta tính được L và L theo kết quả trên

Trang 39

1 2 3 100

3 26 70 3 5 6

Ta tính được A thông qua L, det(A) = (1.4.6) = 576

3.3 Thuật toán phân tích QR

3.3.1 Khái niệm phân tích QR

Phân tích ma trận QR của một ma trận là phân tích ma trận đó thành một ma trận trực

giao và một ma trận tam giác Một phân tích QR của ma trận vuông A được viết :

A=QR.

Trong đó Q là ma trận trực giao (QQ” = 1) và R là ma trận tam giác trên

3.3.2 Các định lý

Nếu ma trận A là ma trận không suy biến thì phép phân tích là duy nhất

3.3.3 Nội dung thuật toán phân tích QR

Có nhiều phương pháp phân dé tính toán phân tích QR, một trong những phươngpháp phân tích QR là áp dụng phương pháp Gram-Schmidt (theo [10])

Ma trận A được viết lại như sau :

Kí hiệu || || là chuẩn 2 (hay còn gọi là chuẩn Euclide), cụ thé

Ixi=(ŸI xP) ax? tad + + x2 ave

Kết quả của phép phân tích QR là :

Trang 40

110 ae, ae, aye,

1 0 1|=[eile;les]| 0 ae, aye,

0 1 1 0 0 a,e;

yep 92€alaaey Q=lelele;];R=] 0 ae, ase,

0 0 ayes

Với a =(1,1,0);aa=(1,0,1); a3 =(0, 1, 1) lần lượt là các cột của ma trận A

Ta sẽ xác định các vector e}, e2, €3

Ngày đăng: 08/11/2024, 17:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN