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 1Nguyễ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 2Tô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 31.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 46.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 5Bang 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 6Kế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 7Trong 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 81.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 92.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 10thà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 112.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 12y 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 1388 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 14Ví 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 15cộ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 172.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 18Ma 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 219) 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 22Cho 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 232.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 25930 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 26Và 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 28Bả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 29Sắ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 31cấ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 32Chươ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 33Ap 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 34Hệ 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 35Ta 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 36mĩ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 37Ai =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 391 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 40110 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