Nesta etapa, resolveremos um problema clássico quando o assunto é reconhecimento de padrões com redes convolucionais. O problema proposto consiste no reconhecimento de dígitos presentes no dataset MNIST. O...
Nesta etapa, focaremos nos aspectos gerais das CNNs, visando compreender suas camadas e sua estrutura interna. Além disso, discutiremos sobre a entrada, saída e passagem de dados na rede....
Atualmente as Redes Neurais Artificiais já apresentam resultados altamente satisfatórios para diversos problemas reais, no entanto, a categoria de redes neurais artificiais densas, provenientes do aprendizado profundo (do inglês...
O Machine Learning (aprendizado de máquina) é o ramo da Inteligência Artificial que estuda e desenvolve sistemas computacionais capazes de aprender, prever e identificar padrões a partir de dados...
PyTorch é uma biblioteca de aprendizado de máquina de código aberto baseada em Torch, que é uma biblioteca de aprendizado de máquina e visão computacional. PyTorch é amplamente utilizado...
É de fundamental importância compreender o algoritmo de busca de profundidade e largura em grafos. Existem várias aplicações que fazem o uso de algoritmos de busca, podendo ser utilizadas...
A representação de grafos em um computador é uma questão importante a ser pensada quando estamos modelando um problema que necessita dessa estrutura. Existem duas abordagens muito populares utilizadas...
Grafos são uma estrutura matemática fundamental em muitas áreas do conhecimento, desde a ciência da computação até a física e a biologia. Eles são usados em aplicações cotidianas, como...
Uma série temporal é uma coleção de dados coletados ao longo do tempo. Esses dados podem incluir informações sobre vendas, preços de ações, temperaturas, entre outros. As séries temporais...
As árvores binárias de busca (BST) são estruturas de dados muito úteis para armazenar e organizar informações de forma rápida e eficiente. No entanto, ao inserir ou remover elementos...
As árvores binárias são uma estrutura de dados fundamental que consiste em nós, cada um dos quais possui pelo menos um filho esquerdo e um filho direito. Elas são...
Diferente da biologia, as árvores na computação têm o estranho comportamento de crescerem de cabeça para baixo. Existem várias “espécies”, ou melhor, vários tipos de árvores na computação, cada...
Neste artigo, discutiremos sobre os algoritmos sofisticados de ordenação em arrays. Começaremos por um breve resumo sobre a técnica de dividir para conquistar que será de importante uso para...
Ordenar informações é uma tarefa um tanto quanto comum no desenvolvimento de aplicações. Este artigo visa os principais algoritmos de ordenação e como implementá-los na linguagem C. Mas...
Uma pilha é uma estrutura de dados linear que pode ser acessada somente por uma de suas extremidades para armazenar e recuperar dados em um computador. É uma estrutura...
Uma estrutura de dados do tipo fila funciona de forma similar a uma fila do mundo real, como, por exemplo, a fila de um banco. As filas possuem uma...
Uma lista dinâmica duplamente encadeada é uma lista que utiliza, em sua definição, alocação dinâmica de memória e acesso encadeado dos elementos. Diferente da lista dinâmica simplesmente encadeada vista...
Continuando com a criação do nosso TAD, vamos terminar a implementação de algumas outras funções que podem ser de suma importância para nossa estrutura. Obtendo o tamanho da...
Quando falamos de listas vários exemplos podem nos vir em mente como, por exemplo, uma lista de compras, uma lista telefônica ou até mesmo os dias da semana. Na...
Ao dar início aos estudos em alguma linguagem de programação, nos deparamos com uma série de conceitos. Um desses conceitos é o de tipo de dados. Um tipo de...
Dando continuidade ao artigo anterior, iremos introduzir alguns novos conceitos e aprofundar em outros que são fundamentais para análise e complexidade de algoritmos, como: ordem de complexidade, notação Big...
Um algoritmo é um conjunto de instruções que realizam uma determinada tarefa, mas como saber o algoritmo ideal para solucionar tal problema em meio a tantas possíveis soluções? O...
Neste artigo, faremos um apanhado geral sobre o paradigma funcional, introduzindo funções de alta ordem e funções lambda em Python. Compreendendo as Funções de Alta Ordem Funções de...
A programação funcional tem o poder de tornar nossos códigos mais simples além de nos ajudar a reduzir seus efeitos colaterais. Este artigo terá como foco introduzir os principais...
O padrão IEEE 754 foi desenvolvido pelo Instituto de Engenheiros Eletricistas e Eletrônicos e adotado nos anos 2000, sofrendo algumas modificações ao longo do tempo, mas sendo até hoje...
Lidar diariamente com tarefas maçantes é um pesadelo para qualquer desenvolvedor. Contudo, existem inúmeras ferramentas no mercado que possibilitam a resolução desse problema de forma simples e descomplicada. Neste...
Criado pela Yandex para fins de desenvolvimento rápido, padronização e facilididade na manutenção de código, o BEM se tornou uma das metodologias mais utilizadas no mercado front-end. Neste artigo,...
Quando falamos em Desenvolvimento de Software, o Git é uma ferramenta indispensável para o controle de versão e gerenciamento de código. Ele foi desenvolvido por Linus Torvalds em 2005 e...