Учите матчасть
Учите матчасть. Поскольку PageRank, имеет отношение к вероятности просмотра страниц, то для лучшего понимания, стоит обратиться к такому разделу теории случайных процессов как теории Марковских процессов. Под Марковским процессом подразумевается процесс, для которого вероятность находиться в данном состоянии, на данном этапе процесса можно вывести из информации о предшествующем состоянии. Цепью Маркова называется Марковский процесс, для которого каждое конкретное состояние зависит только от непосредственно предыдущего. Число состояний цепи Маркова конечно, а вероятности перехода из одного состояния в другое не зависят от времени. Следуя из определения можно сказать, что рассматриваемый нами процесс поведения абстрактного пользователя сети является Марковским, и даже более того, является Цепью Маркова. Теперь рассмотрим, какие условия определяют цепь Маркова: Во-первых, у цепи имеется матрица вероятностей перехода:
P= | p11 | p12 | …… | p1N |
p21 | p22 | …… | p2N | |
………………………………………….. | ||||
pN1 | pN2 | …….. | pNN |
(3). где pij – вероятность перехода из состояния i в состояние j за один шаг процесса. Матрица (3) обладает следующими свойствами: а) ∑pij = 1 j=1…N. (свойство, вытекающее из замкнутости системы); б) pij ³ 0 ” i, j. Во-вторых, у цепи Маркова имеется вектор начальных вероятностей, который описывает начальное состояние системы: P(0) = < P01, P02,..,P0n > (4) Обозначим шаги (этапы) процесса за t = 0, 1,….. Если P(0) это вектор начальных вероятностей, то P(t) – это вероятностный вектор на шаге t. Значение P(t+1) зависит от P(t). Формула расчета в матричном виде выглядит следующим образом: P(t+1) = P(t) ∙P (5). Отсюда следует, что: P(t) = P(0) ∙Pt (6). В теории цепей Маркова показано, что в пределе, при t стремящемся к бесконечности, вероятности состояний стремятся к определенным предельным значениям, которые удовлетворяют соотношению: P(*)=P(*)∙P (7). Из (7) становится очевидным, следующее важное свойство предельных векторов вероятностей P(*). Заключается оно в том, что P(*) является единственным и не зависит от вектора начальных вероятностей P(0) и определяются только матрицей вероятностей перехода. Теперь рассмотрим применение данной теории для системы из нашего примера (Рис. 1. Часть I). Матрица вероятностей перехода будет выглядеть следующим образом, т. е. также как и матрица при расчете PageRank матричным способом:
P= | A | B | C | D |
0 | 1/3 | 1/3 | 1/3 | |
1 | 0 | 0 | 1 | |
1 | 0 | 0 | 0 | |
0 | 1 | 0 | 0 |
(9) Первая строка матрицы свидетельствует о следующем: со страницы A можно перейти на B, C, и D. Вероятность того, что после A пользователь выберет C равна 1/3. Вероятность выбора D или C тоже равна 1/3. Вторая строка значит, что со страницы B можно попасть только на A, вероятность этого перехода равна 1. Третья строка – с C можно попасть только на A, вероятность перехода равна 1. Четвертая строка – с D можно попасть только на B, вероятность перехода равна 1. Для нашей системы вектор начальных вероятностей выглядит следующим образом (поскольку в нашей сети четыре страницы и пользователь может оказаться на люьбой из них с одинаковой вероятностью): P(0) = < 1/4, 1/4, 1/4, 1/4>. Для расчета вектора P(1) применим формулу (5), т. е. P(0) умножим на матрицу вероятностей перехода. Получим P(1) = <0,5; 0,3333; 0,0833; 0,0833>. Для вектора P(2) формула (5) имеет следующий вид: P(2) = P(1) ∙P. После расчета получаем значения P(2) = <0,4167; 0,25; 0,167; 0,167>. Рассчитывая значения P(t) по формуле (5) мы найдем t, для которого выполняется равенство (7). Т. е. мы рассчитаем значение предельного вектора вероятностей P(*), который не зависит от вектора начальных вероятностей P(0) и определяется только матрицей вероятностей перехода. В нашем случае P(*) = <0,429; 0,286; 0,143; 0,143>. Таким образом, после достаточно большого количества переходов со страницы на страницу уже не имеет значения с какой страницы пользователь начал просмотр, поскольку в результате он окажется на странице A с вероятностью 0,429, на странице B с вероятностью 0,286, на страницах C и D с вероятностями 0,143 (или можно сказать, что 42% пользователей будут на странице A, 29% будут на странице B и на страницах C и D будет по 14% посетителей). Теперь с полученным вектором P(*) произведем следующие действия: 0.85∙4P(*) + (1-0,85) Проведем расчеты: Для А: 0,85∙4∙0,429 + 0,15 = 1,607. Для B: 0,85∙4∙0,286 + 0,15 = 1,12. Для C: 0,85∙4∙0,143 + 0,15 = 0,635. Для D: 0,85∙4∙0,143 + 0,15 = 0,635. Получается что, рассчитав предельный вектор вероятностей P(*), умножив его на единичный вектор, умноженный на 4d, и прибавив к нему единичный вектор, умноженный на (1-d), мы получили значении практически равные значениям PR, рассчитанным в первой части статьи. Сравним два алгоритма (расчет PageRank матричным способом и нахождение предельного вектора P(*) Цепи Маркова) в общем случае. Различие заключается лишь в том, что при расчете значений PR за начальный берется единичный вектор и вводится зависимость PR от коэффициента затухания.
А для расчета P(*) начальный вектор состоит из значений 1/N, где N – количество страниц. Именно поэтому, умножив полученный вектор P(*) на N и d, а также прибавив (1-d) мы получили значения близкие к значениям PR. Статья любезно предоставлена mediacraft. ru
другие статьи |