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

Báo cáo bài tập lớn Đại số tuyến tính

17 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 đề Ứng dụng của mô hình Markov trong thuật toán Google PageRank
Tác giả Nguyễn Hoàng Sơn, Lê Minh Tài, Đoàn Nhật Tân, Lê Duy Tân, Nguyễn Văn Tân, Hoàng Ngọc Thành, Vũ Xuân Thành, Cao Minh Thắng, Hoàng Đức Thắng, Lại Xuân Thắng
Người hướng dẫn Nguyễn Hữu Hiệp
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh, Trường Đại học Bách khoa, Khoa Điện – Điện tử
Chuyên ngành Đại số tuyến tính
Thể loại bài tập lớn
Năm xuất bản 2020
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 1,97 MB

Nội dung

1.2 Xch Markov hữu hạn trạng thái đồng nhất thời gian Xích Markov là một mô hình toán học mô t quá trình chuyển dịch từ một trạng thái sang một trạng thái khác dựa trên một số quy luậ

Trang 1

1

LỚP L10 - NHÓM 9

Ging viên hướ ng d n: Nguy n H u Hi p ẫ ễ ữ ệ

Năm học: 2019-2020

Trang 2

2

DANH SÁCH THÀNH VIÊN MSSV 1 Nguyễn Hoàng Sơn 1914955

2 Lê Minh Tài 1914999

3 Đoàn Nhậ t Tân 1915042

4 Lê Duy Tân 1915048

5 Nguyễn Văn Tân 1915064

6 Hoàng Ng c Thành ọ 1915131 7 Vũ Xuân Thành 1915171

8 Cao Minh Th ng ắ 1915214

9 Hoàng Đứ c Th ng ắ 1915222

10 L i Xuân Th ng ạ ắ 1915224

Trang 3

3

Mục lục:

I Đề tài bài tập lớn 4

II Giới Thi u Google PageRank 4

III. Cơ sở lý thuyế 4 t 1) Xích Markov và phân b dố ừng 4

1.1 Gii thi u v x ch Markov   4

1.2 Xch Markov hữu hạn trạng thái đồng nhất thời gian 5

1.3 Phân b d  ng 5

2) Thuật to n Gooogle Pagerank 7

2.1 Pagerank l g   ? Mô t Pagerank 7

2.2 Một ý tưởng chưa hon tất – BadRank 8

2.3 Thu ật toán PageRank 10

3) Phương php tnh 11

4) Kết luận 13

IV Code MatLab 14

1) Code v  gi i thch code 14

2) Chy th 15

V Ti li u tham kh o 17

Trang 4

4

I Đề tài bài tập l n

1 Ứng d ng cụ ủa mô hình Markov trong thu t toán Google PageRank ậ

2 Viết chương trình dùng thuật toán trên

II Giới Thi u Google PageRank

PageRank là m t thu t toán phân tích liên kộ ậ ết (link) được phát triển tại đạ ọc i h Stanford (M ) bỹ ởi Larry Page (do đó gii thu t mậ ới được đặt tên là PageRank)

và sau đó được Sergey Brin tiếp tục nghiên cứu và ứng dụng trong một dự án nghiên c u v m t loứ ề ộ ại công cụ tìm ki m m i Dế ớ ự án này được bắt đầ ừ năm u t

1995, và k t qu c a nó là sế  ủ ự ra đờ ủa Google vào năm 1998 Không lâu sau i c

đó Page và Brin thành lập công ty Google, cung cấp công cụ tìm kiếm mang tên Google Trong khi ch m t trong nhi u y u tỉ ộ ề ế ố xác định thứ hạng của kết qu tìm ki m thì PageRank tiế ếp t c cung cụ ấp các cơ sở khác ph c v cho công ụ ụ

cụ tìm ki m trên web này PageRank phát tri n d a trên công trình Citation ế ể ự Analysis c a Eugene Garfield vào nhủ ững năm 1950 tại đạ ọi h c Pennsylvania, các nhà sáng lập Google cũmg đã từng trích d n công trình c a Garfield trong ẫ ủ trang g c c a hố ủ ọ

Gii thu t PageRank phát triậ ển d a trên vi c phân tích liên k t giự ệ ế ữa các trang (web link analysis) PageRank c a Google hi n th trên GoogleToolbar là mủ ể ị ột

số nguyên t 0 cừ ho đến 10 Đơn vị PageRank có t l logarithmic d a trên ỷ ệ ự khối lượng link trỏ đến cũng như chất lượng của những trang Web chứ đường link xuất phát này PageRank là thước đo duy nhất mà Google cung cấp cho Webmaster để đánh giá mức độ phổ biến c a trang PageRank sủ ẽ nh hưởng tới th h ng trên trang k t qu tìm kiứ ạ ế  ếm Thường thì trang có PageRank càng cao thì v trí cị ủa nó trên trang k t qu tìm kiế  ếm càng được ưu tiên

III Cơ sở lý thuyết

1) Xích Markov và phân b dố ừng

1.1 Gi i thi u v x ch Markov

Trong toán h c, mọ ột xích Markov, đặt theo tên nhà toán học người Nga Andrei Andreyevich Markov, là m t quá trình ng u nhiên th i gian rộ ẫ ờ ời

Trang 5

5

rạc v i tính ch t Markov Trong mớ ấ ột quá trình như vậy, quá kh không ứ liên quan đến việc tiên đoán tương lai mà việc đó chỉ phụ thuộc theo kiến

thức về hi n tạ ệ i

1.2 Xch Markov hữu hạn trạng thái đồng nhất thời gian

Xích Markov là một mô hình toán học mô t quá trình chuyển dịch từ một trạng thái sang một trạng thái khác dựa trên một số quy luật xác suất nhất định

Nếu gi định rằng biến ngẫu nhiên trạng thái quan sát được là biến ngẫu nhiên rời rạc, hay {1,…,k} trạng thái, lúc này mô hình của chúng ta là X t

xích Markov hữu hạn trạng thái Xác suất có điều kiện chuyển dịch khi biết trạng thái hiện tại P(X t+1 |X t ) có thể viết lại dưới dạng ma trận k×k, được gọi là ma trận chuyển dịch , với P p ij là xác suất chuyển dịch từ trạng thái j sang trạng thái Mỗi cột của ma trận i P có tổng bằng 1, vì vậy ma

trận này được gọi là ma trận ngẫu nhiên

Khi mà ma trận chuyển dịch độc lập với thời gian, nghĩa là quá khứ, hiện tại, tương lai chúng ta chỉ có duy nhất một ma trận chuyển dịch thôi, chúng ta gọi đây là một xích Markov đồng nhất thời gian

1.3 Phân b d  ng

Hệ mà chúng ta đang xét là một xích Markov h u h n ữ ạ trạng thái đồng nhất th i gian Phân b xác su t chuy n trờ ố ấ ể ạng thái có thể được bi u diể ễn dưới d ng m t ma tr n, gạ ộ ậ ọi là ma trận chuy n tr ng th P, v i thành phể ạ ái ớ ần thứ (i,j) là xác su t chuy n d ch t ấ ể ị ừ trạng thái j sang tr ng thái i ạ

P ij =P(X =i|X t+1 t =j)

π =P×π t+1 t

( π à l ma tr n bi u di n theo vector cậ ể ễ ột, kích thước k×1 )

Nếu lP à ma trận chuy n c a m t xể ủ ộ ích Markov, thì phần t thứ (i,j) c a

ma trận P n cho x c ta á suất chuy n d ch tể ị ừ trạng thái sang tr ng thái sau ji

n thực hi n

π1 = P× π0

π2 = P× = P×Pπ1 × π0 = P2× π0

πn = Pn× π0

Ví d :Cho ma trụ ận chuy n tr ng th i P v ma tr n gi ể ạ á à ậ á trị ban đầu X 0

Trang 6

6

P= (0,0,8515 0,0,0595.); X0= (300

X n = P × X n

0

X1= (280 X6= (226,21 X21= ( 200.92 599 08 )

X 2= (264 X7= (220,97 X22= ( 200.74 599 26 )

X3= (251,2548,8) X8= (216,77583 22, ) X23= ( 200.59

X4= (240,96559 04, ) X9= (213,42586 57, ) X24= ( 200.47 599 53 )

X5= (231,76567 23, ) ……… X25= ( 200.38 599 62 )

Ta nh n th y rậ ấ ằng khi c ng ln à ớn, các ma trận π n dường như hội tụ d n về ầ một ma tr n c ậ ó giá trị ổn định

- Định l Perron Frobenius:

“Nu ma trận P l ma trận ngu nhiên cột (tng thnh phn tng cột

b ng 1) v P l ma tr ận dương (c  t ng th nh ph n pij > 0) th ma  

tr ận P ch c duy nh t m t phân b d ng (duy nh t m t vector riêng   ấ ộ   ấ ộ

ng v i tr  riêng bng 1) Tất c các tr riêng cn lại nh hơn 1.”

Ta nhận th y r ng nấ ằ ếu ma tr n chuy n trậ ể ạng th i P c a xích Markov h u há ủ ữ ạn trạng thái đồng nhất th i gian ờ thỏa các điều ki n cệ ủa định l thì ma tr n P tậ ồn tại duy nh t m t phân b d ng Hay n i c ch kh c, ấ ộ ố ừ ó á á πn = P n × π 0 (khi n → ∞)

hội tụ d n v duy nh t m t ma trầ ề ấ ộ ận π*

lim

𝑛→∞𝑃𝑛× πo = 𝜋∗

- Phân b dố ừng là m t vector thộ ỏa mãn phương trình

Pπ*=π*

Người ta gọi đây là trạng thái cân bằng, và phân bố lúc này là phân bố dừng của xích Markov h u hữ ạn trạng thái đồng nh t th i gian ấ ờ

 đây ta quay về bài toán trị riêng, vector riêng của ma tr n P với trị ậ riêng λ=1 Trong bài toán tr riêng, vector riêngị , một tr riêng có th có rị λ ể ất nhiều vector riêng, hơn nữa P chưa chắc có trị riêng λ=1 Nhưng định l

Trang 7

7

Perron Frobenius ở trên đã chứng minh r ng, nh ng ma tr n thằ ữ ậ ỏa điều kiện trên thì sẽ chắc chắn có tr riêng là 1 và duy nh t m t vector riêng ị ấ ộ ứng với λ=1

2) Thuật to n Gooogle Pagerank

2.1 Pagerank l g   ? Mô t Pagerank

a) Khái ni m thut to n pagerank á

PageRank là thu t toán tìm kiậ ếm được phát tri n bể ởi hai nhà đồng sáng lập Google là Larry Page và Sergey Brin v i gi thuyớ  ết: “Sự ớ l n m nh c a mạ ủ ột trang web có thể được đánh giá bở ối s hyperlink (siêu liên kết) được trỏ đến trang web”

Thuật toán PageRank là m t thu t toán h c x p h ng dộ ậ ọ ế ạ ựa trên phân tích đồ thị liên k t giế ữa các trang web, mỗi trang web sẽ được xem như một đỉnh, mỗi liên kết s ẽ được xem như một cạnh của đồ thị

b)  tưởng th nh l p page rank  ậ

- Gi s chúng ta có t ập k trang web được đánh số từ 1,…k, PageRank của

trang web i được tính d a trên các liên kự ết trang web khác đến nó (trang web

j liên k t trế ỏ đến i), nhưng không phi bất kì liên kết nào cũng cũng được tính điểm như nhau, chúng ta mong muốn một thuật toán th t công bậ ằng Thuật toán PageRank được xây d ng dự ựa trên hai  tưởng cơ bn như sau:

+ Trang web A tr liên kỏ ết đến B, n u A là m t trang web x p h ng cao thì ế ộ ế ạ phi giúp B có x p hế ạng cao hơn ( Rank B đồng biến với Rank A)

+ Trang web A tr liên kỏ ết đến B, lượng trang web mà A trỏ đến càng nhiều thì giúp B tăng thứ hạng càng ít(Rank B ngh ch bi n v i s link tr ị ế ớ ố ỏ đi của A)

- Thuật toán PageRank giống như mộ ớp h c nho nh vt l ọ ỏ ậy vậy, khi đó giáo viên chính là thu t toán cuậ ối cùng đánh giá lớp học đó, các bạn trong lớp viết

ra tên những người bạn mà mình đánh giá cao kèm theo tên của mình Kết qu cuối cùng công b cho c l p công bố  ớ ằng nhất là khi:

+ Một bạn trong lớp được đánh giá cao, bạn ấy đánh giá cao mộ ạt b n khác trong lớp thì điều đó phi đáng tin cậy hơn một bạn khác ít được đánh giá cao hơn

+ Một bạn đánh giá quá nhiều bạn thì có v lẻ ập trường không v ng, chúng ta ữ

sẽ gim b t m t ni m tin vào nhớ ộ ề ững đánh giá này

c) Mô t

Trang 8

8

- Pagerank là phân b xác suố ất, được s d ụng để thể hiện kh năng khi một người click chu t ngộ ẫu nhiên vào đường link và s tẽ ới được trang web c ụ thể

- Pagerank có thể được tính cho t t c cấ  ác trang web Khi bắt đầu tính toán thì

sự phân b ổ đó được chia đều cho tất c các trang web trong h ệ thống

- Các tính toán Pagerank c n m t s l n ầ ộ ố ầ “lặp đi lặ ại” qua các trang web để p l

có th ể đạt được giá trị ự th c tế m t cách thi t thộ ế ực hơn

- Xác su t có giá tr t ấ ị ừ 0 đến 1 V i giá tr ớ ị 0.5 được hiểu là “50% xác suất” của

một việc gì đó có thê xy ra Trong Pagerank, 0.5 có nghĩa là 50% ác su t x ấ một người nào đó click vào một link ngẫu nhiên để ó thể c chuyển đến trang web đó (giá trị pagerank của trang web đó là 0.5)

2.2 Một ý tưởng chưa hon tất – BadRank

a) Thuật toán BadRank

Đặt L =1 nij ếu như trang web j có liên kết đến trang web i, ngược lại L =0 ij

Ta coi như không có liên kết từ trang web n chj đế ính nó ( p ij = 0 v i i=jớ ) Lúc này ta có m j là tổng s liên k t mà web ố ế j trỏ đến các trang web khác

Với hai  tưởng xây dựng thuật toán được nêu trên, chúng ta có thể “tạm” định nghĩa độ đo BadRank như sau:

𝑅 = ∑𝑖 𝑚𝑙𝑖𝑗

𝑗𝑅𝑗 𝑘

𝑖=1

Công thức trên thỏa mãn hai  tưởng về thuật toán ban đầu:

- Nó đồng biến với p j: nếu như trang web j là m t trang web n i ti ng và có ộ ổ ế liên kết đến với i thì s ẽ tăng mức xếp hạng của i

- Nghịch biến với m j: nếu như trang web j có quá nhiều liên kết tới các trang

web khác thì uy tín mà j đóng góp cho i càng ít

b) Thuật toán được đơn gin hóa

- Gi s m t nhóm g m 4 trang web: A, B, C, D nh ng liên k ộ ồ ữ ết t m t trang ừ ộ đến chính nó không được tính, mỗi trang web có 1 đường dẫn duy nhất đến 1 trang web khác Giá tr Pagerank cị ủa các trang ban đầu được cho là bằng nhau T ng giá tr Pagerank trên tổ ị ất c các trang là t ng s trang web tổ ố ại thời điểm đó, do đó mỗi trang trong ví d này s có mụ ẽ ột pagerank ban đầu tương đương với 1 Tuy nhiên trong phần còn lại và các ví dụ của bài này s có giá ẽ trị tương đối từ 0 đến 1 Do đó giá trị ban đầu cho mỗi trang là 0.25 Pagerank chuy n t mể ừ ột trang đến các trang khác bằng các đường link, trong

Trang 9

9

những bước tính tiếp theo giá trị sẽ được chia đều cho tất c các liên kết đi Nếu các liên k t duy nh t trong hế ấ ệ thống t các trang B, C và D t i A, mừ ớ ỗi liên k t s chuy n giá tr b ng 0.25 Pagerank A khi tính trong l n ti p theo, ế ẽ ể ị ằ ầ ế tổng c ng là 0,75 ộ

R(A)=R(B) + R(C) + R(D)= 0,75

- Khác v i ví dớ ụ trên, B có liên kết đến trang C và A, trong khi D có các link đến c ba trang Như vậy trong bước tiếp theo, trang B sẽ chuyển t i m t n ộ a giá tr cị ủa mình, tương đương với 0.125 t i trang A và 0.125 t i trang C Khi ớ ớ trang D có 3 liên k t trế ỏ đi, có nghĩa nó sẽ chuy n 1/3 giá tr cể ị ủa mình, tương đương với 0.083 t i A ớ

R(A)=𝑅(𝐵)

2 +𝑅(𝐶)1 +𝑅(𝐷)3

PageRank c a trang s bủ i ẽ ằng PageRank R j của trang web j trỏ đến i chia cho

số link trỏ đi cL j ủa trang web j

R(A)=𝑅(𝐵) 𝐿(𝐵)+𝑅(𝐶)𝐿(𝐶)+𝑅(𝐷)𝐿(𝐷) Công th c chung, giá tr ứ ị Pagerank đối v i b t k trang i có th ớ ấ ỳ ể tính như sau:

𝑅 = ∑𝑖 𝑚𝑙𝑖𝑗

𝑗𝑅𝑗

𝑘

𝑖=1

c) Diễn gii BadRank dưi dạng xích Markov

Mỗi trang web có thể xem như một tr ng thái T i m i trang web ạ ạ ỗ j có m j liên kết khác nhau, xem xác su t mà chúng ta chuy n sang trang web khác là ấ ể 𝟏

𝒎 𝒋 Giờ chúng ta có th ể diễn gii BadRank dưới dạng xích Markov h u h n tr ng ữ ạ ạ thái đồng nhất th i gian: ờ

Ma tr n chuy n dậ ể ịch P v i xác su t chuy n d ch tr ng thái: ớ ấ ể ị ạ

- Nếu có liên k t t sang ế ừj i, P ij = 𝒎𝟏

𝒋

Trang 10

10

- Ngược lại, P ij =0

Khi đó, ma trận chuy n x c ể á suất P được tính bằng công thức: P=LxM -1

Trong đó:

• L l à ma trận kích  c k×k l à ma trận k v i ề ớ phần t 

+ l =1 nij ếu trang web j có link đến trang web i

+ l =0 n u trang web j không cij ế ó link đến trang web i

+ Trang web j không c ó link đến ch nh n (l =0 khi i=j) í ó ij

• M là ma trậ chén o kích  c k×k v i c c ớ á phầ  mj à ốn t l s liên k t ế trỏ đi c a ủ trang web j

a) Mô t  dưi dạng công thc

Thuật toán PageRank ch nh sỉ a nho nh lỏ ại  tưởng ban đầ –u BadRank, b ng cách thêm m t tham sằ ộ ố d (được g i là Damping ọ Factor)

- Nếu có liên k t t ế ừ j đến i:𝑃𝑖𝑗=1−𝑑𝑘 +𝑚𝑑𝑗

- Ngượ ạc l i: P =ij 1−𝑑

𝑘

Với k l t ng s trang web, 0<d<1 Google s d ng à ổ ố  ụ d=0,85

• Lý thuy t PageRank cho rế ằng, ngay c m ột người dùng gi thi t click  ế ngẫu nhiên vào các trang web cuối cùng cũng sẽ ừ d ng lại Xác suất người dùng ti p t c click trong b t cế ụ ấ ứ bước nào được gọi là yếu tố damping Có nhiều nghiên cứu đã th các giá tr yị ếu t damping, giá trố ị ước lượng bằng 0.85 là người dùng sẽ tiếp tục lướt web Công th c tính Pagerank có ứ tính đến yếu tố damping s dụng mô hình khi người dùng bất kỳ sẽ cm thấy chán sau m t vài l n click và chuyển đến vài trang web khác một ộ ầ cách ngẫu nhiên Như vậy:

R(A)= 1 − 𝑑

𝑘 + 𝑑 (𝑅(𝐵)𝐿(𝐵)+𝑅(𝐶)𝐿(𝐶)+𝑅(𝐷)𝐿(𝐷)+ )

• Công th c trên s dứ  ụng mô hình khi người dùng ng u nhiên c m thẫ  ấy chán sau khi click và được chuyển đến m t s trang ng u nhiên Giá tr ộ ố ẫ ị Pagerank thể hiện những cơ hội mà người dùng ng u nhiên sẫ ẽ được chuyển đến trang đó bằng cách click vào các đường link Mô hình này có thể được hiểu tương tự như Markov chain, trong đó các tỉnh là các trang web, quá trình di chuy n có xác suể ất ngang nhau được coi như các link

Trang 11

11

giữa các trang web Nếu như trang web không có đường link đến các trang khác, nó s thành ngõ cẽ ụt và vi c truy c p ng u nhiên s d ng l i ệ ậ ẫ ẽ ừ ạ Nhưng nếu người dùng đến trang không có các link khác, thì người dùng

sẽ chọn ng u nhiên mẫ ột trang khác để tiếp t c truy c p Khi tính ụ ậ Pagerank, nh ng trang không có link trữ ỏ đi các trang khác sẽ được gi đnh có link trỏ đến tất c các trang c n l ại Và như vậy giá tr Pagerank ị

sẽ được chia đều cho các trang khác Nói một cách khác, để công bằng với nh ng trang web có link ữ trỏ đi, thì các truy c p ng u nhiên sậ ẫ ẽ được thêm vào t t c ấ  những trang trong Web, v i xác ớ suất d=0.85

b) Mô t  dưi d ng ma tr n ạ ậ

- Từ công th c trên, ta cứ ó thể ì t m ra ma tr n chuy n x c suậ ể á ất Q có chứa yếu tố damping như sau:

Q = 1−𝑑

𝑘 𝐸 + 𝑑𝐿𝑀−1

Trong đó:

+ E l ma à trận vuông c vk ới c c ph n t á ầ  đều b ng ằ 1

+ L, M l 2 ma trà ận được định ngh a giĩ ống như ở phần BadRank + k l t ng s trang web à ổ ố

- Chứng minh công thức:

+ d l x c su t m à á ấ à ngườ ùi d ng ti p t c click v o link c a c c trang web ế ụ à ủ á + 1-d l x c suà á ất người d ng c m th y chán sau m t vài l n click và ù  ấ ộ ầ chuyển đến trang web khác m t cách ng u nhiên X c su t nộ ẫ á ấ ày được chia đều cho tất c các trang web (k trang web)

+ P=LxM -1 l ma trà ận chuyển x c suá ất khi chưa có yếu tố damping + Ta đã biết, khi thêm y u t damping v o th x c suế ố à ì á ất ngườ ùi d ng click vào link trên trang web ch c n l 85% , 15% c n lỉ  à  ại người dùng s ẽ chuyển đến 1 trang web ng u nhiên trên tẫ ổng số k trang web

+ vậy phần t p ij (xác xu t t trang sang trang ) trong ma tr n chuyấ ừ j i ậ ển trạng thái P s nhân v i xác su t 0,85 vẽ ớ ấ à được c ng thêm xộ ác suất ngẫu nhiên có giá trị 0,15

𝑘 Ta sẽ được ma trận Q à l ma tr n chuy n tr ng thậ ể ạ ái khi c y u t damping ó ế ố

3) Phương php tnh

Ngày đăng: 13/11/2024, 13:55

w