Skip to content

Commit

Permalink
Escreve várias seções na fundamentação teórica
Browse files Browse the repository at this point in the history
- Aprendizado Semi-Supervisionado vs Transdução
- Aprendizado Ativo
- Superpixel / SLIC
- Geração de redes complexas
- Matriz de co-ocorrências
- Métricas de avaliação
- LCU (parcialmente)

faltando apenas:
- incluir mais refêrencias
- egsis
- métricas de similaridade
  • Loading branch information
ryukinix committed Nov 8, 2023
1 parent 9940e16 commit c871fe2
Show file tree
Hide file tree
Showing 9 changed files with 331 additions and 15 deletions.
1 change: 1 addition & 0 deletions 1-pre-textuais/lista-de-abreviaturas-e-siglas.tex
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@
\newacronym{OpenCV}{OpenCV}{\textit{Open Computer Vision}}
\newacronym{ITA}{ITA}{Instituto Tecnológico da Aeronáutica}
\newacronym{FFT}{FFT}{\textit{Fast Fourier Transform}}
\newacronym{k-NN}{k-NN}{\textit{K-nearest neighbours}}

Check warning on line 13 in 1-pre-textuais/lista-de-abreviaturas-e-siglas.tex

View workflow job for this annotation

GitHub Actions / Typo CI

neighbours

"neighbours" is a typo. Did you mean "neighbors"?
319 changes: 305 additions & 14 deletions 2-textuais/2-fundamentacao-teorica.tex
Original file line number Diff line number Diff line change
Expand Up @@ -12,48 +12,339 @@ \chapter{Fundamentação Teórica}\label{cap:fundamentacao-teorica}
\item Processamento de imagem
\end{itemize}

Em processamento de imagem expandir nos detalhes


\section{Aprendizado Semi-supervisionado vs. Transdução}\label{sec:teorica-aprendizado-semi-supervisionado}

A ser escrito.
Existem três principais categorias de aprendizado de máquina:
aprendizado supervisionado, aprendizado não-supervisionado e
aprendizado semi-supervisionado. No aprendizado supervisionado durante
a etapa de treinamento existe uma base de dados totalmente rotulada,
no aprendizado não-supervisionado não é disponibilizado nenhum
rotulamento dos dados. Enquanto isso, o aprendizado
semi-supervisionado está entre essas duas categorias.

O aprendizado semi-supervisionado é um método de aprendizado de máquina
que envolve o uso de um grande volume de dados não rotulados e um
pequeno volume de dados rotulados para treinar modelos de aprendizado
de máquina.

Formalmente, pode-se definir o aprendizado semi-supervisionado da seguinte maneira:

\begin{quote}
Dado um conjunto de dados de treinamento $ X = \{x_1, x_2, \ldots, x_n\} $

Check warning on line 35 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"?
onde apenas um subconjunto $ Y = \{y_1, y_2, \ldots , y_m\} $ tal que $ (m < n) $ tem rótulos

Check warning on line 36 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"?
correspondentes, o objetivo do aprendizado semi-supervisionado é usar
tanto o conjunto de dados rotulado quanto o não rotulado para aprender
a função $ f: X \rightarrow Y $ que pode prever o rótulo $ y $ para um novo
exemplo $ x $.
\end{quote}

O aprendizado semi-supervisionado é baseado na suposição de que os
dados não rotulados podem fornecer informações adicionais que podem
ser usadas para melhorar a precisão do modelo de aprendizado de
máquina. Isso é feito através de várias técnicas, como a propagação de
rótulos, onde os rótulos são propagados dos dados rotulados para os
dados não rotulados, ou a aprendizagem auto-supervisionada, onde o
modelo é treinado para prever partes dos dados a partir de outras
partes.

Por outro lado, existe um diferente tipo de aprendizado
semi-supervisionado que não realiza a etapa de estimar a função $ f
$. Algoritmos que estimam essa função são descritos como indutivos,
pois após o treinamento, para classificar novos dados, realizam uma
inferência por indução ao aplicar a função estimada.

Em contraponto, existem algoritmos que não estimam tal função e apenas
realizam a inferência direta entre os dados rotulados disponíveis e os
não rotulados. Isso é chamado de transdução e um algoritmo bem
conhecido com essa característica é o classificador K-NN. Na figura ~\ref{fig:induction-vs-transduction} a
seguir, é ilustrado as diferenças entre transdução e indução no
processo de aprendizagem:


\begin{figure}[h!]
\captionsetup{width=12cm}
\Caption{\label{fig:induction-vs-transduction}
No aprendizado transdutivo, a inferência em novos exemplos

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

View workflow job for this annotation

GitHub Actions / Typo CI

transdutivo

"transdutivo" is a typo. Did you mean "transduction"?
ocorre de maneira direta.
}
\centering
\UFCfig{}{\fbox{\includegraphics[width=12cm]{figuras/induction_vs_transduction}}}{\Fonte{\cite{vapnik1995}}}

Check warning on line 73 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 73 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"?
\end{figure}


No texto \cite{vapnik2006semi}, o criador do famoso algoritmo SVM,
estabelece uma profunda formalização dos problemas de aprendizado
semi-supervisionado e inferência transdutiva. No final do texto, ele declara

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

View workflow job for this annotation

GitHub Actions / Typo CI

transdutiva

"transdutiva" is a typo. Did you mean "transduction"?
algumas reflexões sobre a solução de problemas em aprendizagem de máquina:


\begin{displayquote}

Solving a problem of interest, do not solve a more general (and therefore worse-
posed) problem as an intermediate step. Try to get the answer that you really need
but not a more general one.

Do not estimate a function if you need to estimate values at given
points. (Try to perform transduction, not induction.)

\end{displayquote}

Em tradução-livre: \blockquote{Não estime uma função se você precisa estimar
os valores em dados pontos. (Tente executar transdução, não
indução)}. Esse embasamento, é um dos pontos centrais que reforça a motivação deste trabalho.


\section{Aprendizado ativo}\label{sec:teorica-aprendizado-ativo}

Também conhecido como Active Learning. A ser escrito. Está relacionado
com o tópico anterior.
Aprendizado ativo é uma abordagem especializada de aprendizado de
máquina onde o algoritmo pode interagir com o ambiente para obter
melhores informações ou dados de treinamento. Em vez de passivamente
receber todos os dados de treinamento e aprender a partir deles, o
algoritmo de aprendizado ativo tem a capacidade de escolher os dados
dos quais deseja aprender.

Isso é especialmente útil quando os dados de treinamento são caros
para obter ou rotular. O algoritmo pode escolher os exemplos mais
informativos para aprender, economizando recursos.

Formalmente, o aprendizado ativo é um tipo de aprendizado
semi-supervisionado, onde o algoritmo tem acesso a um conjunto de
dados rotulados e não rotulados. O algoritmo seleciona ativamente
exemplos do conjunto de dados não rotulados para serem rotulados e
adicionados ao conjunto de treinamento.

O objetivo do aprendizado ativo é minimizar o erro de generalização,
ou seja, o erro que o modelo fará em novos dados não vistos, com o
mínimo de consultas de rotulagem possível.

\section{Superpixel}\label{sec:teorica-superpixel}

A ser escrito.
Superpixels é um algoritmo de clusterização em processamento de imagens que ganhou
popularidade nos últimos anos na comunidade de visão computacional. Em
vez de processar uma imagem pixel por pixel, agrupa-se pixels
vizinhos semelhantes em uma entidade maior, conhecida como superpixel.

O conceito de superpixels foi introduzido para superar as limitações
do processamento pixel a pixel, que não leva em consideração a
estrutura global da imagem. Os superpixels, por outro lado, mantêm a
estrutura da imagem e reduzem a complexidade do processamento de
imagens, tornando-o mais eficiente.

Os superpixels são formados com base na similaridade dos pixels em
termos de cor, intensidade e localização na imagem. Eles são usados em
uma variedade de aplicações, incluindo segmentação de imagem,
rastreamento de objetos, reconhecimento de objetos, entre outros.

Em resumo, os superpixels são uma técnica eficaz para simplificar a
representação de uma imagem e aumentar a eficiência do processamento
de imagens, mantendo a informação visual importante.

\subsection{SLIC}\label{sec:teorica-superpixel-slic}

Algoritmo baseado em clusterização aleatória, um dos mais simples
algoritmos de superpixel

O algoritmo SLIC (Simple Linear Iterative Clustering) é um método para
a segmentação de imagens baseado em superpixel, é um dos mais simples
e pode ser visto como uma variação do algoritmo k-means expandindo o
espaço euclidiano ao incluir também o espaço de cores. Ele divide uma
imagem em segmentos menores, chamados superpixels, que compartilham
características semelhantes, como cor e textura.

Uma explicação simplificada de como o SLIC funciona pode ser entendida
dessa maneira.:

\begin{enumerate}

\item Inicialização: O algoritmo começa selecionando alguns pixels na
imagem como centros de superpixels. Esses centros são espaçados
uniformemente pela imagem.

\item Atribuição: Em seguida, para cada pixel na imagem, o algoritmo
calcula a distância entre esse pixel e todos os centros de
superpixels. A distância é calculada com base na cor (ou intensidade
de cinza para imagens em preto e branco) e na proximidade espacial. O
pixel é então atribuído ao superpixel cujo centro está mais próximo.

\item Atualização: Depois que todos os pixels foram atribuídos a um
superpixel, o algoritmo recalcula os centros de superpixels como a
média de todos os pixels dentro de cada superpixel.

\item O processo de atribuição e atualização é repetido várias vezes
até que o algoritmo alcance a condição de convergência, ou seja, até
que os centros de superpixels parem de mudar significativamente.

\item O resultado final é uma segmentação da imagem em superpixels, onde
cada superpixel é um grupo de pixels com características semelhantes.

Uma execução do SLIC é possível de ser visualizada a seguir:

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

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

View workflow job for this annotation

GitHub Actions / Typo CI

slic

"slic" is a typo. Did you mean "sic"?
Execução do algoritmo SLIC na fotografia de um gato.
}
\centering
\UFCfig{}{\fbox{\includegraphics[width=12cm]{figuras/slic}}}{\Fonte{(MANOEL

Check warning on line 188 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 188 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 188 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

slic

"slic" is a typo. Did you mean "sic"?
VILELA, 2023)}}
\end{figure}


\end{enumerate}

\section{Geração de Redes Complexas}\label{sec:teorica-redes-complexas}

A ser escrito.
Existem variados algoritmos para geração de redes complexas (grafos
hiperconectados). Redes complexas podem ser usadas como um domínio de

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

View workflow job for this annotation

GitHub Actions / Typo CI

hiperconectados

"hiperconectados" is a typo. Did you mean "interconnections"?
dados para realizar tarefas como segmentação de imagens, identificação
de comunidades e também extração de características.

Neste trabalho, o uso de redes complexas é realizado de uma maneira
acoplada ao algoritmo de clusterização inicial (superpixel). Nesse
cenário, cada superpixel gerado na imagem é um vértice e as arestas
são gerados baseado na vizinhança.

Apesar de considerar o tema como redes complexas, esse cenário em
particular gera um grafo planar pela maneira como as arestas são
criadas. Por outro lado, seria possível também modificar a geração da
rede complexa para considerar as arestas do grafo baseado num raio
parametrizado de superpixel em relação a um \textit{treshrold} e

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

View workflow job for this annotation

GitHub Actions / Typo CI

treshrold

"treshrold" is a typo. Did you mean "threshold"?
selecionar as k-nn similares como arestas válidas.

Essa etapa de geração da rede complexa é crucial para a execução da
dinâmica coletiva explorada na seção \ref{sec:teorica-lcu}. Um dos pontos
centrais desse trabalho. Na figura~\ref{fig:complex-networks}
, um exemplo conectado com a ilustração~\ref{fig:slic}

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

View workflow job for this annotation

GitHub Actions / Typo CI

slic

"slic" is a typo. Did you mean "sic"?
anterior ao executar o algoritmo SLIC.

\begin{figure}[t]
\captionsetup{width=12cm}
\Caption{\label{fig:complex-networks}
Geração de rede complexa baseado nos superpixels.
}
\centering
\UFCfig{}{\fbox{\includegraphics[width=12cm]{figuras/complex-networks}}}{\Fonte{(MANOEL

Check warning on line 226 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 226 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"?
VILELA, 2023)}}
\end{figure}
\FloatBarrier

\section{Matriz de co-ocorrências}\label{sec:teorica-matriz-co-ocorrencia}

O método de extração de características da matriz de co-ocorrências é
uma técnica utilizada em processamento de imagem e visão computacional
para extrair características texturais de uma imagem.

Formalmente, uma matriz de co-ocorrência C é definida sobre uma imagem
I, para um deslocamento dado d = (dx, dy), como:

\begin{equation}
C_{\Delta x, \Delta y}(i,j)=\sum_{x=1}^n\sum_{y=1}^m\begin{cases} 1, & \text{if }I(x,
y)=i\text{ e
}I(x+\Delta x, y+\Delta
y)=j \\ 0, &
\text{caso contrário}\end{cases}
\end{equation}

Onde $\#$ denota o número de ocorrências do evento. Em outras palavras,
$C_{\Delta x, \Delta y}(i,j)$ é o número de vezes que o par de pixels com intensidades i
e j ocorre em dois pixels separados por distância d na imagem I.

\section{Matriz de Co-ocorrência}\label{sec:teorica-matriz-co-ocorrencia}
A matriz de co-ocorrência é tipicamente normalizada dividindo cada
elemento pelo número total de pares de pixels na imagem, resultando em
uma matriz de probabilidade de co-ocorrência.

A ser escrito.
A partir desta matriz, várias características texturais podem ser
extraídas, como contraste, correlação, energia e homogeneidade. Estas
características podem ser usadas para tarefas como classificação de
textura, segmentação de imagem, entre outros.


\section{Métricas de Similaridade}\label{sec:teorica-metricas-de-similaridade}

A ser escrito.

\section{Métricas de avaliação}

Existem três métricas que são comumente utilizadas em segmentação
semântica de imagens:

\begin{enumerate}
\item IoU
\item Dice Score (F1)
\item Pixel Accuracy
\end{enumerate}

IoU, que significa \textit{Intersection over Union}, é uma métrica comumente
usada para medir a precisão de um objeto de segmentação em tarefas de
visão computacional, como detecção de objetos e segmentação semântica.

A métrica IoU calcula a proporção da área de interseção entre a região
estimada e a região real (ground truth) pela área da união dessas duas
regiões. A fórmula para calcular o IoU é:

\begin{gather}
IoU = \dfrac{A \cap B}{A \cup B}

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

View workflow job for this annotation

GitHub Actions / Typo CI

dfrac

"dfrac" is a typo. Did you mean "frack"?
\end{gather}

Nessa equação, A e B são matrizes de rótulos da imagem onde serão
comparados, por exemplo o A sendo os rótulos estimados e B os reais. O
valor de IoU varia de 0 a 1, onde 1 indica uma correspondência
perfeita entre as caixas delimitadoras previstas e reais, e 0 indica
que não há sobreposição. Em geral, um IoU maior indica uma melhor
precisão do modelo de segmentação.

A métrica mIoU é uma versão para segmentação multi-classe realizando
uma média dos IoU calculando individualmente pra cada classe,
considerando a classe negativa qualquer uma que não seja a classe alvo.

\section{LCU}\label{sec:teorica-lcu}

A ser escrito.
O algoritmo \gls{LCU} foi desenvolvido por um brasileiro

Check warning on line 301 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"?
\cite{VerriNetworkUnfoldingMap2018}, é uma dinâmica coletiva baseado
em propagação de rótulos numa rede complexa. Essa dinâmica coletiva é
modelada como um sistema dinâmico com geração de partículas de
rotulação nas suas fontes (os vértices rotulados).

\section{Métricas de avaliação}
Este algoritmo possuem critérios de sobrevivência das particulas

Check warning on line 307 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"?
inspirado em comportamentos da natureza e sociedade. Por exemplo, o
parâmetro $ \lambda $ do algoritmo denota um fator entre 0 e 1 de
competitividade entre as partículas, tornando a sobrevivência delas
mais difícil ao percorrer o grafo.

Nesse caso particular, a implementação proposta é ligeiramente
diferente da proposta originalmente, pois a rede complexa no cenário
que o autor propõe as arestas não possuem peso. A modificação é
realizada para incluir a similaridade entre dois superpixel para criar
um fator de aumento da probabilidade das partículas visitarem os nós
mais promissores.


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

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

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-partial

"lcu-partial" is a typo. Did you mean "cu-partial"?
Rede complexa preparada com anotação parcial para execução do \gls{LCU}

Check warning on line 324 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"?
}
\centering
\UFCfig{}{\fbox{\includegraphics[width=12cm]{figuras/lcu-partial}}}{\Fonte{(MANOEL

Check warning on line 327 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 327 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 327 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-partial

"lcu-partial" is a typo. Did you mean "cu-partial"?
VILELA, 2023)}}
\end{figure}
\FloatBarrier

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

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

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-done

"lcu-done" is a typo. Did you mean "cu-done"?
Execução do \gls{LCU} finalizada.

Check warning on line 335 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"?
}
\centering
\UFCfig{}{\fbox{\includegraphics[width=12cm]{figuras/lcu-done}}}{\Fonte{(MANOEL

Check warning on line 338 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 338 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 338 in 2-textuais/2-fundamentacao-teorica.tex

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-done

"lcu-done" is a typo. Did you mean "cu-done"?
VILELA, 2023)}}
\end{figure}
\FloatBarrier

Nas figuras~\ref{fig:lcu-partially-annotated} e~\ref{fig:lcu-done} é

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

View workflow job for this annotation

GitHub Actions / Typo CI

lcu-done

"lcu-done" is a typo. Did you mean "cu-done"?
possível ver a execução do algoritmo numa rede complexa densa
aleatório, no final da execução os rótulos são propagados
semanticamente baseado na disputa territorial dos vértices.

A ser escrito.

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

Expand Down
23 changes: 23 additions & 0 deletions 3-pos-textuais/referencias.bib
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
%%% Referências oficiais
@incollection{vapnik2006semi,
author = "Vladimir Vapnik",

Check warning on line 4 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

Vapnik

"Vapnik" is a typo. Did you mean "Pannikin"?
title = "Transductive Inference and Semi-Supervised Learning",

Check warning on line 5 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

Transductive

"Transductive" is a typo. Did you mean "Transduction"?
editor = {Chapelle, O. and Sch\"olkopf, B. and Zien, A. and others},

Check warning on line 6 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

Chapelle

"Chapelle" is a typo. Did you mean "Chapel"?

Check warning on line 6 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

Zien

"Zien" is a typo. Did you mean "Zine"?

Check warning on line 6 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

olkopf

"olkopf" is a typo. Did you mean "folk"?
booktitle = {Semi-supervised Learning},
publisher = {MIT press Cambridge},
address = "MIT",
year = 2006,
pages = "468-487",
chapter = 24,
}

@InProceedings{MartinFTM01,
author = {D. Martin and C. Fowlkes and D. Tal and J. Malik},
title = {A Database of Human Segmented Natural Images and its
Expand Down Expand Up @@ -416,3 +428,14 @@ @book{LangtangenLogg2017
address = {[\textit{S. l.}]},
isbn = {978-3-319-52461-0},
}

@book{vapnik1995,
author = {Vapnik, Vladimir N.},

Check warning on line 433 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

Vapnik

"Vapnik" is a typo. Did you mean "Pannikin"?
biburl = {https://www.bibsonomy.org/bibtex/2df9b1e85d80b3e3a448fc6c93e7051a0/tomhanika},

Check warning on line 434 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

tomhanika

"tomhanika" is a typo. Did you mean "nostomania"?
isbn = {0-387-94559-8},
publisher = {Springer-Verlag New York, Inc.},

Check warning on line 436 in 3-pos-textuais/referencias.bib

View workflow job for this annotation

GitHub Actions / Typo CI

Springer-Verlag

"Springer-Verlag" is a typo. Did you mean "Springer-Overlarge"?
title = {The nature of statistical learning theory},
year = 1995,
pages = {169}
}

Binary file added figuras/complex-networks.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/induction_vs_transduction.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-done.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-partial.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/slic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit c871fe2

Please sign in to comment.