Skip to content

Commit

Permalink
Adiciona seção de modelagem matemática LCU e mais figuras
Browse files Browse the repository at this point in the history
  • Loading branch information
ryukinix committed Nov 20, 2023
1 parent 8bd94a4 commit 07a24ab
Show file tree
Hide file tree
Showing 3 changed files with 170 additions and 6 deletions.
176 changes: 170 additions & 6 deletions 2-textuais/2-fundamentacao-teorica.tex
Original file line number Diff line number Diff line change
Expand Up @@ -362,8 +362,7 @@ \section{Métricas de similaridade}\label{sec:teorica-metricas-de-similaridade}

A distância euclidiana é o módulo da reta que conecta dois pontos no
espaço. A distância de manhattan é a soma da diferença absoluta entre
dois pontos para cada dimensão. Na figura
\ref{fig:manhattan-vs-euclidean}, é ilustrado atavés de duas figuras
dois pontos para cada dimensão. Na figura~\ref{fig:manhattan-vs-euclidean}, é ilustrado atavés de duas figuras

Check warning on line 365 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

atavés

"atavés" is a typo. Did you mean "atavist"?
em que são dispostos dois pontos $ x $ e $ y $ no espaço euclidiano
com os módulos de reta usados para compor a distância de cada métrica.

Expand All @@ -381,13 +380,13 @@ \section{Métricas de similaridade}\label{sec:teorica-metricas-de-similaridade}
distância euclidiana:

\begin{equation}\label{eq:euclidian-distance}
ed(\vec{x}, \vec{y}) = \sqrt{{(y_1-x_1)}^2 + {(y_2-x_2)}^2 + \ldots + {(y_n-x_n)}^2}
ed(\vec{x}, \vec{y}) = \sqrt{{(y_1-x_1)}^2 + {(y_2-x_2)}^2 + \cdots + {(y_n-x_n)}^2}

Check warning on line 383 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

cdots

"cdots" is a typo. Did you mean "cots"?
\end{equation}

Para a distância de manhattan, tem-se a seguinte equação:

\begin{equation}\label{eq:manhattan-distance}
md(\vec{x}, \vec{y}) = |y_1-x_1| + |y_2-x_2| + \ldots + |y_n-x_n|
md(\vec{x}, \vec{y}) = |y_1-x_1| + |y_2-x_2| + \cdots + |y_n-x_n|

Check warning on line 389 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

cdots

"cdots" is a typo. Did you mean "cots"?
\end{equation}

\subsection{Similaridade Euclidiana Exponencial}\label{sec:teorica-similaridade-euclidiana}
Expand Down Expand Up @@ -456,7 +455,7 @@ \section{LCU}\label{sec:teorica-lcu}
\centering
\captionsetup{width=14cm}
\Caption{\label{fig:lcu-execution}
Rede complexa para execução da dinâmica \gls{LCU}. Anotação
Rede complexa para execução da dinâmica LCU.\@ Anotação
parcial em~(\subref{fig:lcu-partial}) e resultado final em~(\subref{fig:lcu-done})
}

Expand All @@ -477,13 +476,178 @@ \section{LCU}\label{sec:teorica-lcu}
\FloatBarrier{}


Na figura~\ref{fig:lcu-execution},é possível ver a execução do
Na figura~\ref{fig:lcu-execution}, é possível ver a execução do
algoritmo numa rede complexa densa aleatória, no início há alguns
poucos vértices anotados em azul e vermelho. No final da execução os
rótulos são propagados semanticamente baseado na disputa entre as
partículas para dominar arestas, e por fim, marcar os vértices
dominados por aquela classe.

Em mais detalhes, durante uma única iteração do sistema na
Figura~\ref{fig:lcu-iteration}, pode-se visualizar o passeio das

Check warning on line 487 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-iteration

"lcu-iteration" is a typo. Did you mean "cu-iteration"?
partículas entre as fontes de párticulas (vértices rotulados) verde e

Check warning on line 488 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

párticulas

"párticulas" is a typo. Did you mean "particulars"?
vermelho. Algumas não sobreviveram ao processo, outras se mantiveram
no sistema. Na última figura, uma contagem do número de partículas por
classe que passaram pelas arestas pode ser visto.


\begin{figure}[h!]
\captionsetup{width=8cm}
\Caption{\label{fig:lcu-iteration}

Check warning on line 496 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-iteration

"lcu-iteration" is a typo. Did you mean "cu-iteration"?
Iteração do sistema LCU em um grafo planar.
}
\centering
\UFCfig{}{\fbox{\includegraphics[width=8cm]{figuras/lcu-iteration}}}{\Fonte{\cite{VerriNetworkUnfoldingMap2018}}}

Check warning on line 500 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

UFCfig

"UFCfig" is a typo. Did you mean "UFCig"?

Check warning on line 500 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

fbox

"fbox" is a typo. Did you mean "fox"?

Check warning on line 500 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-iteration

"lcu-iteration" is a typo. Did you mean "cu-iteration"?
\end{figure}


\subsection{Modelagem matemática LCU com grafo ponderado}\label{sec:lcu-math}

Considera-se uma rede complexa expressada por um simples grafo
ponderado não-direcionado $G = (\mathcal{V}, \mathcal{E})$, onde $\mathcal{V}$ é o conjunto de
vértices e $\mathcal{E} \subset \mathcal{V} \times \mathcal{V}$ é o conjunto de arestas. A rede possui
$\left|\mathcal{V}\right| = l + u$ vértices que podem ser representações de
dados rotulados ($ l $) ou não-rotulados ($ u $). Os vértices anotados
podem ter um rótulo $y_i = \{1, \ldots, C\}$, onde $C$ é o número total de

Check warning on line 511 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

ldots

"ldots" is a typo. Did you mean "lots"?
classes, além disso possuem um vetor de características $\vec{x_i}$ da
representação daquele dado. A rede é representada por uma matriz de
adjacência $A = (a_{ij})$, onde $a_{ij} =a_{ji} =
similarity(\vec{x_i}, \vec{x_j})$, na qual as arestas possuem um peso
que se refere a similaridade entre os vetores de características
representados pelos vértices. Nessa situação, supõe-se que $l << u$,
ou seja, há muito mais dados não-rotulados do que rotulados, na qual
caracteriza-se um cenário para aprendizado semi-supervisioado.

Check warning on line 519 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

semi-supervisioado

"semi-supervisioado" is a typo. Did you mean "semi-supervision"?

Os vértices rotulados são chamados de fontes, que geram partículas com
a classe que responde ao vértice. Partículas que alcançam um vértice fonte
com classe diferente, são eliminados automaticamente do sistema.

O sistema dinâmico não-linear $X(t)$ que representa o \gls{LCU} é definido

Check warning on line 525 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

gls

"gls" is a typo. Did you mean "gl"?
matematicamente como:

\begin{equation}\label{eq:lcu-x}
X(t):=\left[\begin{array}{c}
\mathbf{n}^c(t)={\left[n_i^c(t)\right]}_i \\
N^c(t)={\left(n_{i j}^c(t)\right)}_{i, j} \\
\Delta^c(t)={\left(\delta_{i j}^c(t)\right)}_{i, j}
\end{array}\right]
\end{equation}


Onde $ \mathbf{n}^c(t)$ é um vetor linha cujo elementos $n_i^c(t)$
representam a população de particulas com rótulo $c$ em cada vértice

Check warning on line 538 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

particulas

"particulas" is a typo. Did you mean "particulars"?
$v_i$ no tempo $t$. Os elementos $n_{i j}^c(t)$ representam o número
de partículas da class $c$ que movem do vértice $v_i$ para $v_j$ no
tempo $ t $, enquanto $\delta_{i j}^c(t)$ representa a movimentação
acumulada de partículas da classe $c$ entre a aresta $(i, j)$ no tempo
$t$.

A função de evolução determinística do sistema dinâmico é definida
por:

\begin{equation}\label{eq:lcu-phi-evolution}
\phi:\left\{\begin{array}{l}
\mathbf{n}^c(t+1)= P^c(X(t)) \times \mathbf{n}^c(t) +\mathbf{g}^c(X(t)) \\
N^c(t+1)=\operatorname{diag} \mathbf{n}^c(t) \times P^c(X(t)) \\
\Delta^c(t+1)=\Delta^c(t)+N^c(t+1),
\end{array}\right.
\end{equation}

Entre as funções definidas na função de evolução, destaca-se a de
probabilidade de sobrevivência das partículas $P^c(X(t))$, na qual os
elementos dessa matriz define-se como:

\begin{equation} \label{eq:lcu-probability}
p_{i j}^c(X(t)):= \begin{cases}0 & \text { se } v_j \in \mathcal{L} \text { e
} y_j \neq c, \\

Check warning on line 562 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

neq

"neq" is a typo. Did you mean "new"?
\frac{a_{i j}}{\deg v_i}\left(1-\lambda \sigma_{i
j}^c(X(t))\right) & \text { do contrário }\end{cases}
\end{equation}

Sendo ${\deg v_i}$ o grau do vértice (número de arestas
conectadas) e onde $\sigma_{i j}^c$ define-se como:

\begin{equation}\label{eq:lcu-sigma}
\begin{aligned}
\sigma_{i j}^c(X(t)):= \begin{cases}1-\frac{n_{i j}^c(t)+n_{j i}^c(t)}{S} & \text { se } S>0, \\
1-\frac{1}{C} & \text { do contrário, }\end{cases} \\
\text { sendo } S=\sum_{q=1}^C n_{i j}^q(t)+n_{j i}^q(t) .
\end{aligned}
\end{equation}

A modificação dessa dinâmica coletiva em relação a proposta original
em~\cite{VerriNetworkUnfoldingMap2018} é realizada em $a_{ij}$,
enquanto no trabalho original o grafo é não-ponderado e portanto todas
arestas possuem valor unitário, nesse trabalho a aresta representa um
valor de similaridade entre os vetores de características anexados ao
vértice $v_i$ e $v_j$, dessa maneira aumentando a probabilidade de
sobrevivência de partículas que se movimentam por arestas com maior
similaridade.

A última equação $\mathbf{g}^c(X(t))$ representa a geração de partícula nas
fontes no tempo t, é definida como:

\begin{equation}\label{eq:lcu-generation}
\begin{aligned}
g_i^c(X(t)) &:=\rho_i^c \max \left\{0, \mathbf{1} \cdot
\mathbf{n}^c(0)-\mathbf{1} \cdot \mathbf{n}^c(t)\right\} \\
\rho_i^c &:= \begin{cases}\frac{\deg v_i}{\sum_{v_j \in \mathcal{G}^c}
\deg v_j} & \text { se } v_i \in \mathcal{G}^c, \\ 0 & \text {
do contrário }\end{cases}
\end{aligned}
\end{equation}

Na equação~\ref{eq:lcu-generation}, $\mathbf{1}$ onde 1 é o vetor cujo
elementos são 1 e $\cdot$ se refere ao produto interno entre vetores. Além
disso, $\mathcal{G}^c = \{v_i |v_i \in \mathcal{L} e y_i = c\}$ é o conjunto de fontes de
particulas que pertencem a classe $c$ e $\mathcal{L}$ é o conjunto de

Check warning on line 603 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

particulas

"particulas" is a typo. Did you mean "particulars"?
vértices rotulados.


Após alcançar a iteração máxima de um valor escolhido para $ \tau $, é possível
dividir a rede complexa em sub-grafos, primeiramente agrupando as
arestas por maior dominação de classe:

\begin{equation}\label{eq:lcu-edges-by-class}
\mathcal{E}^c(t):=\left\{(i, j) \mid \underset{q}{\arg \max }\left(\delta_{i j}^q(t)+\delta_{j i}^q(t)\right)=c\right\}
\end{equation}

E, então, define-se o grafo por classe $c$ como:

\begin{equation}\label{eq:lcu-subnetworks}
G^c(t):=\left(\mathcal{V}, \mathcal{E}^c(t)\right)
\end{equation}

Por fim, as redes $ G^c(\tau) $ são usadas para classificação dos
vértices. São atribuidos o rótulo $y_j \in \{1, \ldots, C\}$ para cada

Check warning on line 622 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

atribuidos

"atribuidos" is a typo. Did you mean "attributor"?

Check warning on line 622 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

ldots

"ldots" is a typo. Did you mean "lots"?
vértices não-rotulado com a informação provida pela rede $G^c$. O
rótulo $y_j$ é atribuido baseado na densidade das arestas na sua

Check warning on line 624 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

atribuido

"atribuido" is a typo. Did you mean "attributor"?
vizinhaça. Formalmente, escrito como:

Check warning on line 625 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

vizinhaça

"vizinhaça" is a typo. Did you mean "vizcacha"?

\begin{equation}\label{eq:lcu-vertex-classification}
y_j = \underset{c \in \{1, \ldots, C\}}{\arg \max }\left| \mathcal{E}(\mathcal{N}_{c,j}) \right|

Check warning on line 628 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

ldots

"ldots" is a typo. Did you mean "lots"?
\end{equation}

Na qual ${\mathcal{N}_{c,j}}$ são as arestas da vizinhaça do vértice $j$ que

Check warning on line 631 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

vizinhaça

"vizinhaça" is a typo. Did you mean "vizcacha"?
foram dominadas por párticulas da classe $c$. Na

Check warning on line 632 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

párticulas

"párticulas" is a typo. Did you mean "particulars"?
figura~\ref{fig:lcu-classification}, é ilustrado a dinâmica coletiva

Check warning on line 633 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-classification

"lcu-classification" is a typo. Did you mean "cu-classification"?
aplicada em uma rede complexa de formato similar a duas bananas, a
ilustração está dividida em quatro etapas: (a) inicialização com 6
vértices rotulados, 3 para cada classe, vértices pretos não estão
rotulados; (b) 4 iterações do sistema, é visto as arestas coloridas
sendo dominadas por particulas, enquanto as cinzas ainda não foram

Check warning on line 638 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

particulas

"particulas" is a typo. Did you mean "particulars"?
dominadas; (c) 20 iterações, todo o grafo foi percorrido; (d) a
classificação dos vértices pela classe correspondente que obteve maior
dominação.

\begin{figure}[h!]
\captionsetup{width=12cm}
\Caption{\label{fig:lcu-classification}

Check warning on line 645 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-classification

"lcu-classification" is a typo. Did you mean "cu-classification"?
Execução em quatro fases da dinâmica coletiva LCU.\@
}
\centering
\UFCfig{}{\fbox{\includegraphics[width=12cm]{figuras/lcu-classification}}}{\Fonte{\cite{VerriNetworkUnfoldingMap2018}}}

Check warning on line 649 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

UFCfig

"UFCfig" is a typo. Did you mean "UFCig"?

Check warning on line 649 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

fbox

"fbox" is a typo. Did you mean "fox"?

Check warning on line 649 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-classification

"lcu-classification" is a typo. Did you mean "cu-classification"?
\end{figure}

\section{EGSIS}\label{sec:teorica-egsis}

Expand Down
Binary file added figuras/lcu-classification.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figuras/lcu-iteration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 07a24ab

Please sign in to comment.