Computação em Nuvem

Com o crescente volume de dados que empresas e demais organizações tem de armazenar e processar, um novo nicho de negócio surgiu para suprir essa demanda, a Computação em Nuvem. Onde seus dados podem ser hospedados em servidores e acessados a qualquer hora e em qualquer local, contanto que haja conexão com a rede. Continue lendo “Computação em Nuvem”

Utilizando a API do Google Maps em Aplicativos Android

Maps

Neste artigo irei explicar como podemos utilizar e algumas funções básicas da API do Google Maps. Irei mostrar como preparar o ambiente para utilização do mesmo, neste caso utilizaremos o Android Studio. Também aprenderemos como conseguir uma chave para utilização da API.

Sem sombra de dúvidas a Google é uma das empresas pioneiras em tecnologia e uma das mais lembradas no assunto. Em 2005 a Google lançou sua primeira versão do que conhecemos hoje como Google Maps, que é considerado a ferramenta de mais utilizada nos dias atuais. E a cada atualização a ferramenta tem se mostrado cada vez mais poderosa para os usuários. Hoje mostrarei os pequenos passos para implementação e uma breve introdução da utilização da sua API para dispositivos Android. Continue lendo “Utilizando a API do Google Maps em Aplicativos Android”

9 Frameworks de Desenvolvimento Multiplataforma Móvel

Capturando a funcionalidade comum a várias aplicações.

A escolha de um framework ou plataforma depende muito de suas habilidades e de seus objetivos com a aplicação.O desenvolvimento multiplataforma tem ganhado muitos adeptos ao longo dos anos. Com isso, o mercado também se expandiu consideravelmente. Logo, novas ferramentas cross-platform foram surgindo no mundo do desenvolvimento mobile. Continue lendo “9 Frameworks de Desenvolvimento Multiplataforma Móvel”

Uma introdução ao Docker e Kubernetes

Tendo em mente o gerenciamento e escalabilidade de serviços na nuvem e em servidores, as ferramentas Docker e Kubernetes formam uma dupla inseparável e indispensável. Com a possibilidade da execução de instancias e serviços em contêineres, Docker dispõe um sistema relativamente simples de compartimentação de recursos e o Kubernetes, de gerenciamento e escalonamento dos serviços de conteinerização. Continue lendo “Uma introdução ao Docker e Kubernetes”

Firebase: O Que é e Como Funciona

Criar um aplicativo de sucesso não é fácil. Além de fazer o aplicativo funcionar da forma desejada em vários tipos de dispositivos diferentes, o desenvolvedor deve pensar na infraestrutura, possíveis falhas, atualizações que não causem novos problemas, segurança nas transferências de dados, e tudo isso enquanto tenta alcançar o maior número de usuários possível e garantir uma experiência satisfatória para os mesmos. Pensando nisso, foi construído o Firebase, uma solução que possuí todas as ferramentas necessárias para a construção de um aplicativo de sucesso.

Continue lendo “Firebase: O Que é e Como Funciona”

O que é Machine Learning?

O Machine Learning é a ciência que faz com que os computadores exerçam suas funções sem que pareçam explicitamente programados para tal. O Machine Learning foi responsável pelo aprofundamento do desenvolvimento dos carros automáticos, recursos de reconhecimento de fala, buscas na web e possibilitou um avanço na compreensão do genoma humano. É um método de análise de dados que automatiza o desenvolvimento de modelos analíticos. Usando algoritmos que aprendem interativamente a partir de dados, o aprendizado de máquinas permite que os computadores encontrem respostas sem serem explicitamente programados para procurar algo específico.

 

Para que fins é utilizado?

 

  • Detecção de fraudes.
  • Resultados de pesquisa na Web.
  • Anúncios em tempo real em páginas da web e dispositivos móveis.
  • Análise de sentimento baseada em texto.
  • Pontuação de crédito e próximas melhores ofertas.
  • Previsão de falhas em equipamento.
  • Novos modelos de precificação.
  • Detecção de invasão na rede.
  • Reconhecimento de padrões e imagem.
  • Filtragem de spams no e-mail.

 

Métodos de Machine Learning

 

  • Supervisionado:

É usado sempre que o programa é “treinado” sobre um conjunto de dados pré-definido. Baseado no treinamento com os dados pré-definidos, o programa pode tomar decisões precisas quando recebe novos dados. Exemplo: Por exemplo, uma peça de equipamento pode ter pontos de dados rotulados com “F” (com falha) ou “R” (em funcionamento). O algoritmo de aprendizagem recebe um conjunto de entradas junto com as saídas corretas correspondentes, e o algoritmo aprende comparando a saída real com as saídas corretas para encontrar erros. Em seguida, ele modifica o modelo de acordo. Por meio de métodos como a classificação, regressão e previsão o aprendizado supervisionado usa padrões para prever os valores do rótulo em dados adicionais não rotulados.

  • Não Supervisionado:

É usado contra a dados que não possuem rótulos históricos. O sistema não sabe a resposta certa. O algoritmo deve descobrir o que está sendo mostrado. O objetivo é explorar os dados e encontrar alguma estrutura neles. O aprendizado não supervisionado funciona bem em dados transacionais. Por exemplo, ele pode identificar segmentos de clientes com atributos semelhantes que podem ser tratados de modo semelhante em campanhas de marketing. Ou ele pode encontrar os principais atributos que separam os segmentos de clientes uns dos outros. As técnicas mais populares incluem   decomposição de valores singulares, para segmentar tópicos de texto, recomendar itens e identificar os valores discrepantes dos dados.

  • Semisupervisionado:

É usado tanto contra dados rotulados quanto não marcados para o treinamento, normalmente uma pequena quantidade de dados rotulados com uma grande quantidade de dados não rotulados. Esse tipo de aprendizagem pode ser usado com métodos como a classificação, regressão e previsão. O aprendizado semisupervisionado é útil quando o custo associado à rotulagem é muito elevado para permitir um processo de treinamento totalmente rotulado. Os primeiros exemplos disso incluem a identificação do rosto de uma pessoa.

  • Por Reforço:

É muitas vezes usado para a robótica, jogos e navegação. Com o aprendizado por reforço, o algoritmo descobre pela tentativa e erro quais ações geram as maiores recompensas. Este tipo de aprendizagem tem três componentes principais: o agente (o aluno ou tomador de decisões), ambiente (tudo com o qual o agente interage) e ações (o que o agente pode fazer). O objetivo é que o agente escolha ações que maximizem a recompensa esperada ao longo de um determinado período de tempo. O agente atingirá o objetivo muito mais rápido seguindo uma boa política. Assim, o objetivo do aprendizado por reforço é aprender a melhor política.

 

Exemplos de algoritmos

 

  • Árvores de Decisão:

É um algoritmo de apoio que utiliza um gráfico ou modelo de decisões e suas possíveis consequências, incluindo resultados de eventos futuros, custos de recursos e utilidade. Do ponto de vista da decisão de negócios, uma árvore de decisão é o número mínimo de perguntas que devem ser respondidas para avaliar a probabilidade de tomar uma decisão correta, na maioria das vezes. Como um método, permite-lhe abordar o problema de uma forma estruturada e sistemática para chegar a uma conclusão lógica.

 

  • Classificação Naïve Bayes:

São uma família de classificadores probabilísticos simples com base na aplicação Bayes ‘teorema com forte independência entre as características.

 

  • Regressão Linear de Mínimos Quadrados:

É um método para a realização de regressão linear. Você pode pensar em regressão linear como a tarefa de encaixar uma linha reta através de um conjunto de pontos. Existem várias estratégias possíveis para isso e a de “mínimos quadrados comuns” é assim: você pode desenhar uma linha e, em seguida, para cada um dos pontos de dados, medir a distância vertical entre o ponto e a linha e somá-los. A linha ajustada seria aquela em que esta soma de distâncias é a menor possível. Linear refere-se ao tipo de modelo que você está usando para ajustar os dados, enquanto mínimos quadrados refere-se ao tipo de métrica de erro que você está minimizando.

 

  • Regressão logística:

É uma poderosa forma estatística de modelar um resultado binomial com uma ou mais variáveis explicativas. Ela mede a relação entre a variável dependente categórica e uma ou mais variáveis independentes, estimando as probabilidades usando uma função logística, que é a distribuição logística cumulativa.

 

  • Support Vector Machine:

É um algoritmo binário da classificação. Dado um conjunto de pontos de 2 tipos em lugar N dimensional, o algoritmo gera um hiperplano (N – 1) dimensional para separar esses pontos em 2 grupos. Digamos que você tem alguns pontos de 2 tipos em um papel que são linearmente separáveis. O algoritmo encontrará uma linha reta que separa esses pontos em 2 tipos e situados o mais longe possível de todos esses pontos.

 

  • Ensemble Methods

São algoritmos de aprendizagem que constroem um conjunto de classificadores e, em seguida, classificam novos pontos de dados, tendo um ponderado voto de suas previsões. O método de conjunto original é a média bayesiana, mas os algoritmos mais recentes incluem codificação de saída, correção de erros e reforço.

 

  • Algoritmos de Agrupamento:

A tarefa de agrupar um conjunto de objetos de tal forma que os do mesmo grupo são mais semelhantes uns aos outros do que aqueles em outros grupos.

 

 

AUTOR: Ricardo José Boff

Novembro de 2017

 

FONTES

https://www.sas.com/pt_br/insights/analytics/machine-learning.html

http://www.cienciaedados.com/conceitos-fundamentais-de-machine-learning/

https://br.udacity.com/course/intro-to-machine-learning–ud120

http://www.semantix.com.br/10-algoritmos-de-machine-learning/

https://www.coursera.org/learn/machine-learning#