MACM 316 - Calcular Atribuição


MACM 316 - Computação Assignment 6
Devido Data: Sexta-feira 20 de Março às 11:00.
Instruções para Submissão: Você deve fazer upload de um arquivo .pdf no Crowdmark que consiste em duas páginas:
Página 1 é o seu relatório, que deve caber todas as discussões, dados e figuras em uma única página; e página 2 é uma
listagem de seu código. O prazo é de 23:00 na data do vencimento. O devido tempo real está definida para 11:05
e se Crowdmark indica que você enviou tarde, você será atribuída uma nota de 0 a essa atribuição.
Seu TA tem lhe enviou um link Crowdmark que você deve guardar uma vez que irá permitir que você envie seus
trabalhos concluídos.
❼ Reveja as Diretrizes para Atribuições de cuidado.
❼ reconhecer qualquer colaborações ou assistência de colegas / AT / instrutor.
❼ Se você tem dúvidas sobre Matlab ou aspectos desta atribuição, então você é fortemente encorajado
a tutoriais participar e drop-in workshops.
Antecedentes sobre Google PageRank (resumido de palestras)
Quando você faz uma pesquisa no Google, as páginas web resultantes são listadas em uma ordem classificada de importância ou
significado. O método utilizado para calcular este ranking é chamado o algoritmo PageRank, e é a
base para o sucesso financeiro do Google. Na sua essência, esse algoritmo leva o n × n conectividade matriz G para
todas as páginas da web na internet (atualmente numeradas em n> 60 bilhões de páginas) e calcula um autovetor
x que contém as fileiras de cada página. Na atribuição de computação desta semana, você vai explorar o processo
de computar o vetor de PageRank por alguns gráficos web simples.
Ranking páginas Web
em palestras que viu uma descrição breve de como o PageRank é calculado, que é repetido aqui. Imaginem
代写MACM 316作业,代做Matlab实验作业
navegar na web de página para página, escolhendo aleatoriamente uma ligação de saída a partir de sua página atual para mover
para o próximo. Ocasionalmente, poderá ficar preso em um beco sem saída (sem links de saída) ou dentro de um ciclo de
páginas conectadas. Nestes casos, você pode simplesmente “socorrer”, escolhendo alguma outra página ao acaso, e
, em seguida, continuar a partir daí. Grosso modo, uma página é considerada como tendo alto escalão se outras páginas com alta classificação
conectar-se a ele. Vamos expandir o que entendemos por rank.
O n × n matriz de conectividade web G tem entradas definidas como
Gij = (1, se há um link para a página i a partir da página j0, caso contrário,
G é enorme, mas extremamente escassa. Suponha que os pontos de página j a um total de cj outras páginas, então é
claro que cj = Pn
i = 1 gij (o número de outlinks) é apenas o j
th soma coluna de G. da mesma forma, a soma fileira
ri = Pn
j = 1 gij dá o número de inlinks a página i. Uma pequena exemplo, com n = 6 páginas é mostrado abaixo.
em seguida, definir a posição de uma página j para ser xj e propor um sistema de classificação no qual a página j contribui
uma parte igual do seu posto, xj
cj, para cada uma das páginas que aponta para . Nós denotar para qualquer página i o conjunto de páginas
que apontam para ele por Bi. Em seguida, a patente de esta página é apenas
xi = Xj∈Bixjcj
que pode ser escrito na forma de uma matriz como x = GDX em que D é o nxn matriz diagonal com entradas
djj = 1cj. A matriz A = GD com entradas aij =
gij
cj
é mostrado para o exemplo pequeno-web acima. A
equação x = Ax tem uma forma familiar, em que o nosso PageRank vetor x é um vector próprio de um correspondente
para o valor próprio 1!
Esta é a situação mais simples apenas, e ainda precisamos explicar como lidar com as duas problemáticas
casos mencionados anteriormente:
nós Dead-end: No exemplo à direita, não há como escapar página 3,
o que corresponde a uma coluna de zero ( não outlinks, c3 = 0). Uma razoável
solução é simplesmente para saltar para uma página aleatória, o que significa substituir todas as
entradas na coluna por um
n. Em seguida, a matriz A torna-se
aij = (gijcj, se cj 6 = 01N, se cj = 0
caminhos cíclicos: Para o exemplo da direita, um pode ficar preso no ciclo
2 → 3 → 4 → 5 → 2 →... . para permitir a fuga, voltamos nossa sistemática
travessia web em um passeio aleatório em que ocasionalmente pular o habitual
selecção de página e, em vez saltar para alguma página arbitrária na web. para
ser mais preciso, nós seguir os links, como de costume, com alguma probabilidade p ( dizem
p = 0,85), mas, em seguida, com probabilidade 1 - p nós saltar para outro aleatoriamente
página selecionada (p às vezes é chamado de “teletransporte probabilidade”) Isto leva.
a uma fórmula modificada para a:
Em resumo, encontrar o vector PageRank x reduz a resolver o problema eigenvector x = Ax, onde
A pode ser escrita de forma compacta em forma de matriz como
ee = (1, 1,.,.,. 1) T, sendo o n-vector contendo todos aqueles .
Calculando a PageRank vetor com Matlab
Uma abordagem simples para a resolução de problemas de valores próprios é chamada o método de alimentação e toma a forma de
um ponto fixo iteração x
(k) = Ax (k-1) para k = 1, 2,. . . , Dado algum x estimativa inicial
(0). Sem prévio
conhecimento sobre as fileiras, escolhemos x
(0) = 1ne que assume que todas as páginas são igualmente classificado. E
é isso 1 O algoritmo descrito acima é bastante fácil de implementar em Matlab, usando o código abaixo!
(Postada na lona como mypagerank.m):
% Estimado a PageRank para uma conectividade web pequena
matriz%, utilizando o método de alimentação.
p = 0,85; % De probabilidade "teletransporte"
% Defina-se a matriz de conectividade usando índice
% vectores que definem o de-> para conexões
% entre os números de páginas 1 a n.
n = 6; % Número de páginas
= II [2 3 4 6 1 4 6 2 5 2 6 3]; % "A" índice
de jj = [1 1 2 2 3 3 3 4 4 5 5 6]; % "De" índice
G = escasso (ii, jj, 1, n, n);
c = completo (soma (G)); % Somas de coluna
e = aqueles (n, 1);
k = encontrar (c = ~ 0); % Índices de zero colunas
D = escasso (k, k, 1./c(k), N, N);
z = ((1-p) * (c = ~ 0) + (c == 0)) / n;
A = p * L * D + E * z; % PageRank matriz
x = E / N; % Iniciais suposição
xold = zeros (n, 1);
niter = 0;
enquanto norma (x-xold)> 0,0001,
nitro niter = + 1;
xold = x;
X = A * x;
end
x, niter
bar (x), shg
Este código retorna o vetor PageRank x = (0,1038, 0,1693, 0,2781 ✿✿✿✿✿✿
, 0,1479, 0,0879, 0,2131) T
, a partir do qual
é fácil ver que a página 3 recebe o topo do ranking.
1Este é uma versão simplificada do método de alimentação que se aplica ao caso muito especial em que A tem entradas positivas,
kAk1 = 1, kx
(0) k1 = 1 e o valor próprio é 1. Sob essas condições, nós somos a garantia de ter um única real positivo
solução x, e os converge método de energia para esta solução, embora às vezes lentamente. Para problemas de valores próprios mais gerais,
o método de energia requer requer algumas modificações extra.
Sua atribuição Computing - Explorando PageRank
1. Execute o código mypagerank no exemplo de 6 páginas dadas para vários valores do parâmetro de teletransporte
p situada entre 0 e 1. Como fazer mudanças no impacto p a página da web classificou-top, ea velocidade de
convergência das iterações do método de energia? O que acontece com os rankings como p → 0, e você pode
explicar por que isso pode ser assim?
2. Modificar o código para o maior conjunto de n = 18 páginas web e links na foto abaixo:
(a) Calcule o PageRank para cada uma das 18 páginas usando p = 0,85, e relatar os resultados do
ranking como uma trama bar (você pode achar comando tipo de Matlab útil para escolher o
página mais alta no ranking).
(b) Repetição com p = 0,5. Qual página ocupa o aumento, e que diminuem?
(c) Repita com p = 0,98, e aviso que várias páginas têm uma classificação que está perto de zero. Existe
alguma coisa sobre a estrutura de links deste gráfico web que podem explicar por que isso acontece? Se
você fosse capaz de adicionar uma única ligação entre quaisquer duas páginas da web que mais aumentam a
reputação das páginas mais baixas do ranking, o que seria? Explique sua escolha.

Se necessário, adicione QQ: 99515681 ou e-mail: [email protected] micro carta: codehelp

Acho que você gosta

Origin www.cnblogs.com/aaabb/p/12533369.html
Recomendado
Clasificación