Professional Documents
Culture Documents
2023 Kursova Kapinus
2023 Kursova Kapinus
КУРСОВА РОБОТА
на тему:
"Матричнi розкладання в рекомендацiйних системах"
Виконала:
студентка групи МТА-41с
Капiнус Катерина
Керiвник:
к. ф.-м. н., доц. Домша О. В.
Львiв - 2022
Змiст
1 Деякi елементи з теорiї графiв 2
2 Алгебраїчне пiдґрунтя 3
2.1 Матриця сумiжностi . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Матрицi перестановок . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Власнi значення та власнi вектори . . . . . . . . . . . . . . . . 6
2.4 Домiнуюче власне значення . . . . . . . . . . . . . . . . . . . . 7
4 PageRank алгоримт 17
4.1 Степеневий метод . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 PageRank алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . 19
5 Практична частина 21
6 Висновок 22
Вступ
PageRank — це алгоритм, який використовує Google Search для ранжування
веб-сайтiв у результатах пошуку. Його розробили у Стенфорскьому унiвер-
ситетi засновники Google: Леррi Пейдж та Сергiй Брiн, у 1996 роцi, як ча-
стину дослiдницького проекту про новий вид пошукових систем. PageRank
був названий в честь Леррi Пейджа. Головна iдея, що мiститься в оригi-
нальнiй роботi Пейджа та Брiна, полягає в тому, щоб вимiряти важливiсть
веб-сторiнок, зважаючи на кiлькiсть i актуальнiсть iнших зв’язаних сторi-
нок. Згiдно Google: PageRank пiдраховує кiлькiсть та якiсть посилань на
сторiнку, для грубої оцiнки важливостi веб-сайту. Основне припущення:
на важливiшi веб-сайти частiше посилаються iншi.
PageRank — це перший алгоритм, який використовувала компанiя i най-
популярнiший. Протягом останнiх рокiв його покращили та поєднали з iн-
шими методами.
Якщо бiльш детально, то PageRank — це алгоритм аналiзу посилань,
що призначає числове значення кожному елементу з гiперзв’язаного на-
бiру документiв, наприклад, Всесвiтньої павутини, з метою "вимiрюван-
ня"вiдносної елементiв множини. Алгоритм може бути використаний для
будь-якого набору суб’єктiв зi зворотнiми посиланнями та цитатами. Число-
ве значення, що присвоюється кожному елементу називають PageRank’ом
цього елементу.
PageRank отримується з математичного алгоритму, що базується на так
званому веб-графi, де усi сторiнки Всесвiтньої мережi - вузли, а гiперзв’язки
- гранi. Значення рангу показує важливiсть конкретної сторiнки. Гiперпо-
силання на сторiнку вважається голосом пiдтримки. PageRank сторiнки ви-
значається рекурсивно i залежить вiд кiлькостi i значенню PageRank’у усiх
сторiнок, якi посилаються на нього. Сторiнка, що посилається на багато
iнших з високим PageRank’ом також отримує високе значення.
1
Багато дослiджень проводилося над PageRank методом, також для ви-
значення помилково визначених PageRank значень. Керуючись цими до-
слiдженнями Googlе шукали, як покращити алгоритм, щоби знайти ефе-
ктивний метод iгнорування посилань з документами, що мiстили помилковi
PageRank’и.
У цьому робочому документi, ми хочемо представити пiдсумок усього
математичного пiдґрунтя, що має певне вiдношення до PageRank алгори-
тму. Насправдi, залучено достатньо багато математики, в основному, покри-
ваючи три великi математичнi сфери: теорiю графiв, трохи лiнiйної алгебри,
переважно власнi значення, i декiлька простих задач з ланцюгiв Маркова.
Першi три роздiли присвячнi цим темам. У четвертому роздiлi ми пред-
ставимо степеневий метод, iтеративний метод для розрахунку дрмiнуючих
власних значень та власного вектору, що є фундаментальною частиною
PageRank алгоритму, i сам оригiнальний алгоритм.
v1 v4 v1 v4
v2 v3 v2 v3
Рис. 1: Графи
2
Означення 3. У контекстi попереднього Означення, неорiєнтований мар-
шрут в G це послiдовнiсть вузлiв (v0 , v1 , ..., vk ), таких, що (vi , vi+1 ) або
(vi+1 , vi ) належить E для всiх i = 0, 1, ...k − 1.
Означення 4. Орiєнтований граф є зв’язним, якщо для кожної пари ву-
злiв (vi , vj ) в V iснує неорiєнтований маршрут, що з’єднює їх. Орiєнтова-
ний граф є сильно зв’язним, якщо для кожної пари вузлiв (vi , vj ) в V iснує
орiєнтований маршрут, що з’єднює їх.
2 Алгебраїчне пiдґрунтя
Важливi аспекти PageRank алгоритму зв’язанi з домiнантним власним зна-
ченнями Google матрицi та її вiдповiдним власним вектором.
Ми нагадаємо деякi теми з лiнiйної алгебри, що важливi у продовженнi.
v1 v4 v1 v4
v2 v3 v2 v3
Рис. 2: Зв’язнiсть
1, if (vi , vj ) ∈ E
aij =
0, if (vi , vj ) ∈
/ E.
Приклад. Ось приклад орiєнтованого графа та його матрицi сумiжностi.
v6 v5
0 1 0 1 0 1
0 0 0 0 1 1
v1 v4 0 1 0 0 0 0
0 0 1 0 1 0
0 1 0 0 0 0
v2 v3
0 0 0 0 1 0
Граф Матриця зв’язностi
3
2.2 Матрицi перестановок
Означення 6. n × n матриця P , рядки якої отримуються будь-якою пе-
рестановкою рядкiв одиничної матрицi називається матрицею переста-
новок.
Приклад. Прикладом матрицi перестановок є
0 0 1
P = 1 0 0
0 1 0
4
v1 v4
0 1 0 1
1 0 0 0
A=
1
1 0 0
v2 v3 0 0 1 0
0 1 0 0
v1 v4
v2 v3
0 1 0 0 0 0 1 0 1 0 0 0
5
v1 v4 v1 v4
v2 v3 v2 v3
Av = λv.
wT A = λwT .
Позначимо за допомогою:
• Vλ власний простiр власного значення λ, тобто пiдпростiр Rn , охопле-
ний власними векторами, пов’язаними з λ.
6
Iнодi спектральним колом називають коло в комплекснiй площинi з цен-
тром у початку координат i радiусом, рiвним спектральний радiус. Очеви-
дно, що всi власнi значення належать спектральному колу.
Зауваження. Якщо λ є власним значенням A, його пов’язаний власний
простiр Vλ є множиною розв’язкiв лiнiйної однорiдної системи (A − I)v = 0.
Розмiрнiсть Vλ як пiдпростору Rn є так званою геометричною кратнiстю
mg (λ) вiд λ. Для кожного власного значення λ маємо, що mg (λ) ≤ ma (λ).
Означення 9. Якщо A є симетричною матрицею n × n, а x є ненульовим
вектором у Rn , то частка Релея R(A, x) визначається як
xT Ax
R(A, x) = .
xT x
Можна показати, що
xT Ax
minn = λmin
x∈R xT x
це найменше власне значення A. Мiнiмум досягається при x = vmin , де vmin
— власний вектор, пов’язаний з λmin . Аналогiчно
xT Ax
maxn = λmax
x∈R xT x
найбiльше власне значення A. Максимум досягається при x = vmax , де vmax
— власний вектор, пов’язаний з λmax .
Частка Релея використовується в алгоритмах власних значень для отри-
мання наближення власного значення з власного вектора наближення. Не-
забаром ми побачимо це в алгоритмi степеневого методу.
7
Теорема 1 (Перрона-Фробенiуса для додатних матриць). Нехай A
— додатна матриця n × n. Тожi наступнi твердження справджуються.
8
теорему Перрона-Фробенiуса, яка, звичайно, задовольняється значеннням
−v1 . Зауважте також, що два iнших нормалiзованих власних вектора v2 i v3
мають одночасно позитивнi та негативнi компоненти i тодi вони не мають
додатних кратних.
Ми можемо отримати лiвi власнi вектори за допомогою тих самих ко-
манд вище, застосованих до матрицi транспонування A (A′ в Scilab). Ось
Scilab:
9
Крiм того, невiд’ємнi матрицi можуть мати максимальне власне значе-
ння, яке не є строго додатним i не є простим коренем характеристичного
полiнома. Вiзьмемо для прикладу матрицю
0 1
,
0 0
єдине власне значення якого дорiвнює 0 з алгебраїчною кратнiстю 2.
Основнi властивостi максимального власного значення, здається, зазна-
ють невдачi без жодної надiї.
Iдея Фробенiуса полягала в тому, щоб розглянути обмеження на клас
невiд’ємних матриць, щоб узагальнити в максимальнiй мiрi. У будь-якому
випадку, як ми побачимо, деякi властивостi власного значення позитивних
матриць Перрона втраченi.
Матрицi, для яких Фробенiус змiг розширити результати Перрона, є так
званими незводними матрицями. Вони можуть бути визначенi за допомогою
однiєї з кiлькох еквiвалентних властивостей, деякi чисто алгебраїчнi, iншi
пов’язанi з теорiєю графiв. Ми повiдомляємо про деякi з цих властивостей.
Нехай A — квадратна матриця n × n. A є незвiдною, якщо виконується
будь-яка з наступних еквiвалентних властивостей 1 − 2 − 3 − 4.
Перше — це геометрична властивiсть, пов’язана з лiнiйним перетворен-
ням на Rn , пов’язаною з матрицею A. Зробимо спочатку зауваження.
Координатним пiдпростором ми називаємо будь-який лiнiйний пiдпро-
стiр Rn , що складається з правильної нетривiальної пiдмножини Rn кано-
нiчного основи {e1 , e2 , ..., en }.
Властивiсть 1. A не має iнварiантних координатних пiдпросторiв.
Бiльш точно, для кожного координатного пiдпростору своє зображення
через лiнiйне перетворення, пов’язане з матрицею A не є самим пiдпросто-
ром чи його пiдмножиною.
Приклади. Матриця
1 1
0 1
не є незвiдним, оскiльки в R2 координатному пiдпростiрi, охоплений e1 , є
iнварiантним. Фактично
1 1 x1 x1
=
0 1 0 0
I навпаки, матриця
0 1
1 0
є незвiдною. Оскiльки єдиними координатними пiдпросторами в R2 є або
промiжок e1 , або промiжок e2 , легко бути переконаним, що жоднен з двох
не є iнварiантним.
Щоб прояснити, як задумана iнварiантнiсть, варто розглянути насту-
пний приклад. З матрицею
0 0 0
A = 1 0 0
1 0 0
10
зображенням координатних пiдпросторiв є
x1 0 0 0 0 0
A 0 = x1 , A x2 = 0 , A 0 = 0
0 x1 0 0 x3 0
i
x1 0 x1 0 0 0
A x2 = x1 , A 0 = x1 , A x2 = 0
0 x1 x3 x1 x3 0
Матриця не є незводною, оскiльки є три випадки, коли зображення є пiд-
простором координатного пiдпростору.
Властивiсть 2. A не може бути перетворена у верхню трикутну форму
блоку за допомогою матрицi перестановок P , тобто
B11 B12
P AP −1 не може мати форму ,
0 B22
11
Зауваження. Повертаючись до попереднього прикладу, матриця
1 1
0 1
0 1 0 1 v1 v4
1 0 0 0
A=
1
1 0 0
0 0 1 0
v2 v3
з вiдповiдним графом
0 0
12
0 1 0 1 v1 v4
0 0 0 1
A=
0
1 0 0
0 0 1 0
v2 v3
з вiдповiдним графом
13
Характеристика така:
Теорема 2. Матриця A є примiтивною тодi i тiльки тодi, коли A є не-
вiд’ємною, незвiдною та апериодичною.
Останнiй приклад показує примiтивну матрицю.
Ось теорема Перрона-Фробенiуса для невiд’ємних незвiдних матриць.6
Теорема 3 (Перрона-Фробенiуса для невiд’ємних незвiдних ма-
триць). Нехай A — невiд’ємна незвiдна n × n матриця з перiодом p i спе-
ктральним радiусом ρ(A) = r. Тодi мають мiсце наступнi твердження.
(i) r додатне i є власним значенням матрицi A, яке називається вла-
сним значенням Перрона-Фробенiуса.
(ii) r просте. I правий, i лiвий власнi простори, пов’язанi з r, є однови-
мiрними.
(iii) A має лiвий власний вектор v i правий власний вектор w, пов’язанi з
r, компоненти яких додатнi для обох i єдиними власними векторами
з усiма додатними компонентами є тi, якi пов’язанi з r.
(iv) Матриця A має саме p (перiод) комплексних власних значень з моду-
лем r. Кожен з них є простим коренем характеристичного полiнома
i є добутком r з p-им комплексним коренем з одиницi.
k
(v) lim Ar = vwT , де правий i лiвий власнi вектори нормованi, так
k→+∞
що wT v = 1. Крiм того, матриця vwT — це проекцiя на власний
простiр Vr , так звана проекцiя Перрона.
У цьому випадку
k
A pq T
lim = T ,
k→+∞ r q p
де p i q T — вiдповiдно правий i лiвий вектори Перрона-Фробенiуса.
6 Насправдi iснують деякi iншi можливi твердження, пов’язанi з теоремою Перрона-
14
3 Деякi елементи теорiї ланцюгiв Маркова
Для використання моделi ланцюга Маркова в алгоритмi PageRank вико-
ристовуємо достатнiй пiдхiд до ланцюгiв Маркова. Тому ми пропустимо
загальне визначення, яке включає iмовiрнiсну концепцiю загального випад-
кового процесу. Ми можемо просто подумати про n можливих станiв систе-
ми, для яких часи t = 1, 2, 3, ... є актуальними. Кожного разу система може
перебувати в одному (i тiльки в одному) зi своїх станiв.
Щоб дати трохи формалiзацiї, ми можемо подумати про випадковi ве-
личини Xt , t = 1, 2, 3, ..., де кожен може приймати його значення в множинi
станiв E = {1, 2, ..., n}. Ми вважаємо, що в момент часу t система перебу-
ває у своєму k-му станi, якщо випадковa змiнна Xt приймає значення k.
Звичайно, це станеться з ймовiрнiстю P rob(Xt = k).
Наша система є ланцюгом Маркова, якщо виконується наступна власти-
вiсть: для кожного t = 1, 2, 3, ..., для кожної пари станiв i, j та для кожної
послiдовностi станiв v0 , v1 , ..., vt−1 ∈ E
15
iнформацiєю: вона говорить не тiльки про можливi переходи, але й про те,
яка ймовiрнiсть будь-якого окремого переходу.
Враховуючи квадратну матрицю переходiв P = (pij ) порядку n, асоцi-
йований граф має n вузлiв {v1 , ..., vn } i має ребро (vi , vj ) тодi i тiльки тодi,
коли pij > 0. Це те, що називається зваженим графом, графом, у якому ко-
жне ребро є позитивно зважененим, у цьому випадку ваги є ймовiрностями.
Звичайно, стан j доступний iз стану i тодi i тiльки тодi, якщл на графiку
iснує прямий шлях вiд vi до vj .
pT P = pT
16
pj (t + 1) = P rob(Xt+1 = j) = P rob (Xt+1 = j) ∩ (Xt = 1 ∪ ... ∪ Xt = n)
= P rob (Xt+1 = j ∩ Xt = 1) ∩ ... ∩ (Xt+1 = j ∩ Xt = n)
n
X
= P rob(Xt+1 = j ∩ Xt = i)
i=1
Xn
= P rob(Xt+1 = j | Xt = i) · P rob(Xt = i)
i=1
Xn
= pij · pi (t).
i=1
pT (t + 1) = pT (t)P.
pT (t) = pT (0)P t
4 PageRank алгоримт
Основним кроком алгоритму Google PageRank є iтерацiя методу, який ми
описуємо в наступному пiдроздiлi.
Av i = λi v i , i = 1, 2, ..., n.
17
Нехай x(0) є довiльним вектором у Rn . Ми можемо записати x(0) як
лiнiйну комбiнацiю v1 , v2 , ..., vn що, тому що гiпотеза лiнiйної незалежностi,
є основою Rn .
Xn
x(0) = αi v i i α ̸= 0.7
i=1
Починаючи з x (0)
, ми можемо побудувати послiдовнiсть
(1)
x = Ax(0) , x(2) = Ax(1) , ..., x(k) = Ax(k−1) , ...
Справедливий наступний результат:
Теорема 5. Для послiдовностi {x(k) }k∈N маємо що
xj (k+1) x(k)
lim = λ1 lim = cv 1 (1)
k→+∞ xj (k) k→+∞ xj (k)
Зiбравши λ k
1 отримуємо
n k !
(k) k 1
X λi i
x = λ1 α1 v + αi v
λ1
i=2
i потiм !
n k+1
(k+1) k+1 1
X λi i
x = λ1 α1 v + αi v
λ1
i=2
xj (k+1)
= λ1 lim
k→+∞ xj (k)
n (k) o
Тепер розглянемо послiдовнiсть векторiв xxj (k) , взявши знову, для ко-
жного значення k, x(k) j компонент вiдмiнний вiд нуля. Тодi
Pn k+1
1 λi
x(k+1) α 1 v + α
i=2 i λ1 vi
= λ1 k
xj (k) Pn
α1 vj 1 + i=2 αi λλ1i vj i
7 Умова означає, що нам не потрiбно починати з точки в пiдпросторi, охопленої вла-
сними векторами v 2 , v 3 , ..., v n . Нам потрiбно x(0) , щоб мати компонент у пiдпросторi,
охопленому v 1 .
18
i знову, взявши границю при k → +∞, отримуємо
x(k+1) v1
lim (k)
= 1 ,
k→+∞ xj v j
це «нормалiзацiя» власного вектора v1 .
Зауваження. Власне значення можна отримати також як границю iншої
послiдовностi, а саме як
T
x(k) Ax(k)
lim
k→+∞ x(k) T x(k)
19
Звичайно, цей параметр передбачає, що якщо Pj пов’язаний з Pi , перехiд
вiд Pj до Pi є лише одним iз |Pj | можливих переходiв, кожен з яких має
однакову ймовiрнiсть.
Причина, чому домiнантне власне значення та вiдповiдний йому власний
вектор є важливими в алгоритмi PageRank зараз стане явною. Припустимо,
що ми збираємо ранги всiх веб-сторiнок у векторi r i припустимо, що ми
хочемо це зробити iтерацiйним способом, починаючи з попередньої оцiнки
самого r. На початку найрозумнiший або, можливо, єдино можливий спосiб,
полягає в припущеннi, що всi сторiнки мають однаковий ранг i, оскiльки
ймовiрностi є неявно задiянi, r = r(0) є «вектором рiвномiрного розподiлу»
1 1 1 T 8
r(0) =
, , ..., .
n n n
Давайте перепишемо рiвняння (3) у термiнах n сторiнок P1 , P2 , ..., Pn
мережi, i зокрема для i-ї сторiнки Pi , пiсля першого переходу:
X r(0) j X 1 Xn
ri (1) (P ) = = · r(0) j = aij · r(0) j i = 1, 2, ..., n
|Pj | |Pj |
Pj →Pi Pj →Pi j=1
20
5 Практична частина
Можна iмплементувати цей алгоритм за допомогою Python-у.
21
6 Висновок
Алгоритм PageRank, ядро методу, що використовує Google Search, щоб да-
вати нам вiдповiдi на запитання, якi ми ставимо в мережi, мiстить багато
математики. Можна було б сказати, що графи та Ланцюги Маркова на за-
дньому планi, у той час як найважливiшi кроки про- ходять в контекстi лi-
нiйної алгебри, оскiльки у розра- хунки залученi власнi значення матриць.
У цiй роботi ми будемо мали справу з усiєю потрiбною математикою для
пояснення принципу роботи PageRank методу та втiлили цей метод за до-
помогою мови програмування Python.
Лiтература
[1] Ван Лоан Г. Г. Голуб. 1996.
[2] Л. Р. Фолдс. Застосування теорiї графiв. Шпрингер-Верлаг, 1992.
22