Aprendizado de Máquina: Programando um “Hello World”

machine Learning Latere

O aprendizado de máquina (Machine Learning) está crescendo e se expandindo para vários setores em todo o mundo. É a tecnologia mais procurada no mercado atual.

O aprendizado de máquina foi adotado como a melhor abordagem para construir aplicações inteligentes, bem como para resolver problemas praticamente insolúveis. Também conhecido como análise preditiva, é o principal método matemático que “aprende” a partir de conjuntos de dados anteriores quais entradas no sistema permitem que ele produza saídas desejáveis. Possui duas abordagens: indutiva e dedutiva. O aprendizado de máquina indutivo generaliza as observações. O aprendizado de máquina dedutivo pode ser caracterizado como uma busca por padrões dentro de um conjunto de dados. Os algoritmos de ML têm se tornado mais inteligentes desde sua invenção. O Big Data está crescendo constantemente e está mudando a forma como desenvolvemos produtos.

A justificativa para isso é a enorme quantidade de dados produzidos por aplicações, o aumento do poder de computação nos últimos anos e o melhor desenvolvimento de algoritmos. A tecnologia desempenha um papel crucial em várias aplicações críticos, notadamente mineração de dados, processamento de linguagem natural, reconhecimento de imagem, automação e sistemas especializados. As oportunidades em potencial para aprendizado de máquina são tão numerosas que é difícil listar todas.

O Aprendizado de Máquina permite que o sistema aprenda automaticamente e preveja sem intervenção humana. O programa hello world elaborado neste artigo permitirá que você entenda o conceito, o ambiente construído e como funciona a codificação para algoritmos utilizando Aprendizagem de Máquina. Algumas linhas de Python são suficientes para escrever o primeiro programa de Aprendizado de Máquina. Para fazer isso, trabalharemos com uma biblioteca de código aberto: scikit-learn.

Aprendizado de Máquina e sua importância

Aprendizado de Máquina é um subcampo da Inteligência Artificial (IA). Os primeiros programas de IA normalmente se destacavam em apenas uma coisa. Hoje queremos escrever um programa que pode resolver vários problemas sem qualquer necessidade de reescrever. Alpha Go é um exemplo válido em que software semelhante também pode aprender a jogar jogos Atari. O Aprendizado de Máquina torna isso possível. É o estudo de algoritmos que aprendem com exemplos e experiências, em vez de depender de regras presentes em código.

No Aprendizado de Máquina, em vez de definir as regras e expressá-las em uma linguagem de programação, as respostas (normalmente chamadas de rótulos) são fornecidas com os dados. A máquina inferirá as regras (rules) que determinam a relação entre os rótulos (labels) e os dados (data). Os dados e rótulos são usados ​​para criar algoritmos de Aprendizado de Máquina, normalmente chamados de modelos. Usando este modelo, quando a máquina obtém novos dados, ela os prevê ou os rotula corretamente.

Programando Aprendizado de Máquina
Figura 1: Programando com Aprendizado de Máquina

Por exemplo, se treinarmos o modelo para discernir entre maçãs e laranjas, o modelo pode prever se é uma maçã ou uma laranja quando novos dados são apresentados. O problema parece fácil, mas é impossível resolvê-lo sem o Aprendizado de Máquina. Você precisaria escrever toneladas de regras para saber a diferença entre maçãs e laranjas. Com um novo problema, você precisa reiniciar o processo. Existem muitos aspectos da fruta sobre os quais podemos coletar dados, incluindo cor, peso, textura e forma. Para nossos propósitos, escolheremos apenas dois simples como dados: peso e textura. Neste artigo, explicaremos como criar um algoritmo de Aprendizagem de Máquina simples que distingue entre uma maçã e uma laranja.

Criando seu primeiro modelo em Aprendizado de Máquina

Para discernir entre uma maçã e uma laranja, criamos um algoritmo que pode descobrir as regras para que não tenhamos que escrevê-las à mão. E para isso, vamos treinar o que chamamos de classificador. Você pode pensar em um classificador como uma função. Ele pega alguns dados como entrada e atribui um rótulo a eles como saída. A técnica de escrever automaticamente o classificador é chamada de aprendizagem supervisionada.

Aprendizagem supervisionada

Para usar o aprendizado supervisionado, seguimos um procedimento simples com algumas etapas padrão. A primeira etapa é coletar dados de treinamento. Esses são essencialmente exemplos do problema que queremos resolver. A segunda etapa é usar esses exemplos para treinar um classificador. Assim que tivermos um classificador treinado, o próximo passo é fazer previsões e classificar uma nova fruta.

Machine Learning procedure
Figura 2: Procedimento de Aprendizagem de Máquina

Preparando o Ambiente de Desenvolvimento

Para codificar este programa, trabalharemos com scikit-learn, uma biblioteca de Aprendizado de Máquina gratuita para Python. Existem muitas maneiras de baixar o scitkit-learn, mas o método mais fácil é usar o Anaconda. Você terá todas as dependências configuradas e funciona bem no Windows, Mac ou Linux.

Anaconda Installation
Figura 3: Instalação de Anaconda & Prompt do Anaconda

Anaconda é uma distribuição de código aberto para Python e R. É usado para ciência de dados, Aprendizado de Máquina, aprendizado profundo, etc. Com a disponibilidade de mais de 300 bibliotecas para ciência de dados, torna-se relativamente ideal para qualquer programador trabalhar no Anaconda. Instale o Anaconda de acordo com os requisitos do sistema operacional e do sistema da sua máquina. Depois de terminar a instalação, abra o prompt do Anaconda e digite Jupyter notebook. Agora você está pronto para executar o “Programa Hello World” para Aprendizado de Máquina. Vamos agora discutir as etapas individuais.

  1. Coletando dados para treinamento: Para coletar dados de treinamento, suponha que vamos a um pomar e coletamos alguns dados. Olhamos para diferentes maçãs e laranjas e anotamos suas medidas descritivas em uma tabela. No Aprendizado de Máquina, essas medidas são chamadas de recursos. Para simplificar, usamos apenas dois tipos de dados – quanto cada fruta pesa em gramas e sua textura, que pode ser irregular ou lisa.

Cada linha em nossos dados de treinamento representa um exemplo. Ele descreve uma fruta. A última coluna é conhecida como rótulo. Identifica que tipo de fruta está em cada linha e, neste caso, existem apenas duas possibilidades – maçãs (apple) ou laranjas (Orange). Quanto mais dados de treinamento você tiver, melhor será o classificador que você criará.

PesoTexturaRótulo
155roughOrange
180roughOrange
135smoothApple
110smoothApple
  1. Treinando o classificador: Com o conjunto de dados preparado, a próxima etapa é configurar nossos dados de treinamento e codificá-los. Para isso, abra um novo notebook Python 3 no navegador da web do Notebook Jupyter e comece a codificar.
Jupyter Notebook environment
Jupyter Notebook environment
Figura 4: Ambiente do Jupyter Notebook 2

Antes de configurar nossos dados de treinamento, certifique-se de que o pacote scikit-learn esteja carregado. O Scikit-learn oferece uma variedade de algoritmos de aprendizagem supervisionados e não supervisionados por meio de uma interface consistente em Python.

Agora vamos escrever nossos dados de treinamento em código. Usaremos duas variáveis ​​- recursos e rótulos.

No código anterior, os recursos contêm as duas primeiras colunas e os rótulos as últimas. Como o scikit-learn funciona melhor com inteiros, vamos alterar os tipos de variáveis ​​de todos os recursos para inteiros em vez de strings – usando 0 para “routh” e 1 para “smooth”. Faremos o mesmo para nossos rótulos – usando 0 para “apple” e 1 para “orange”.

Features

O tipo de classificador que usaremos é chamado de árvore de decisão. Existem muitos classificadores diferentes, mas para simplificar, você pode pensar em um classificador como uma caixa com uma seŕie de regras. Antes de usar nosso classificador, devemos importar a árvore de decisão para o ambiente – veja o código abaixo:

Então, na próxima linha de nosso script, criaremos o classificador.

Classificador Aprendizado de Máquina
Figura 5: Classificador de Árvore de Decisão

Neste ponto, o classificador é apenas uma caixa vazia de regras, já que continua a ignorar maçãs ou laranjas. Para treiná-lo, precisaremos de um algoritmo de aprendizado. Se você pensa que um classificador é uma caixa de regras, pode pensar em um algoritmo de aprendizado como o procedimento que os cria. Isso é feito encontrando padrões nos dados de treinamento.

Por exemplo, ele pode notar que as laranjas tendem a pesar mais, então criará uma regra que diz que quanto mais pesada a fruta, mais provável é que seja uma laranja. No scikit, o algoritmo de treinamento é incluído no objeto classificador e é chamado de ajuste. Você pode pensar em ajuste como um sinônimo de “encontrar padrões nos dados”.

Output
  1. Fazer previsões: Temos um classificador treinado. Vamos testar e usar para classificar uma nova fruta. A entrada para o classificador é o recurso para um novo exemplo. Digamos que a fruta que queremos classificar tenha 150 gramas e acidentada. Vamos ver se nosso algoritmo de Aprendizado de Máquina pode fazer essa previsão:
output

Once you have a basic understanding of ML software programs and algorithms, you can scale your project using AI-based development boards. Decide on a hardware platform based on your application, and you are ready to go for real-world deployment. Here are a few examples of AI platforms to help you to get started:

Funciona! O resultado é o que esperávamos: 1 (“orange” – laranja).

Se tudo funcionou para você, parabéns! Você concluiu seu primeiro projeto de Aprendizado de Máquina em Python. Você pode criar um novo classificador para um novo problema apenas alterando os dados de treinamento. Felizmente, com a abundância de bibliotecas e recursos de código aberto disponíveis hoje, a programação com Aprendizado de Máquina se tornou mais confortável e acessível para um número crescente de usuários todos os dias.

Depois de ter um conhecimento básico dos algoritmos e programas de software de Aprendizado de Máquina, você pode dimensionar seu projeto usando placas de desenvolvimento baseadas em IA. Decida uma plataforma de hardware com base em sua aplicação e você está pronto para uma implantação no mundo real. Aqui estão alguns exemplos de plataformas de IA para ajudá-lo a começar:

Ultra96V2: Avnet Ultra96 é uma plataforma fácil de usar baseada no sistema de multiprocessamento em tempo real Dual-core Arm Cortex-R5F com lógica programável Xilinx Zynq UltraScale + MPSoC. O uso de lógica programável realiza o equilíbrio preciso entre desempenho e potência. O acoplamento do sistema de processamento (PS) e da lógica programável (PL) no Zynq MPSoC permite acelerar o algoritmo e a função de Aprendizado de Máquina de uma forma mais responsiva, determinística e eficiente em termos de energia do que as aplicações tradicionais de aprendizado de máquina baseados em CPU ou GPU.

Raspberry Pi 4 Em termos de inteligência artificial (IA) e aprendizado de máquina, o Raspberry Pi é um instrumento versátil para Aprendizado de Máquina. Com dimensões compactas e requisitos de baixo consumo de energia, seus recursos de processamento o tornam a escolha perfeita para robótica inteligente e projetos embarcados.

Beagle Bone AI: Beagle Bone AI é uma das placas mais rápidas para incorporar IA na borda. Esta IA super flexível e rápida é o produto final de vários anos de pesquisa em computadores SBC (Single Board Computer) Linux de hardware aberto. Você pode usá-lo para automatizar seu chão de fábrica, casa, escritório ou laboratório. O Beagle Bone AI concentra sua força dos núcleos Cortex-A15 de processamento neural do processador Texas Instruments Sitara AM5729 de 1,5 GHz de núcleo duplo e mecanismo de visão incorporado (EVE) com os recursos de IA do SoC.

Newark construiu um hub de Inteligência Artificial exclusivo com a melhor seleção das plataformas e módulos de desenvolvimento mais recentes, projetos de código aberto, kits de desenvolvimento e muito mais para ajudar engenheiros de projeto, fabricantes, pesquisadores e estudantes a construir seus próprios aplicações de IA ou escalar seus atuais projetos. Para mais recursos e soluções relacionados ao aprendizado de máquina e IA, clique aqui.

Contato da Newark no Brasil

Para maiores informações e adquirir componentes contate a LATeRe , representante da Newark, pelo Telefone (11) 4066-9400 ou e-mail: [email protected] 

* Texto originalmente publicado em: link.

Website | Veja + conteúdo

LATeRe foi criada pelos executivos da Farnell Newark element14, para representar a Newark element14 no Brasil dando suporte ao mercado Brasileiro após a fiial Brasileira Farnell Newark do Brasil encerrar o estoque local em 2015. O objetivo foi continuar o trabalho desenvolvido no País por 18 anos, pela Farnell, com atendimento ampliado pelo estoque central e site internacional.

A Gerente Geral da Farnell Newark do Brasil, Caroline Jabur é sócia fundadora da LATeRe – Latin America Technology Representative e tem mais de 30 anos de experiência no mercado de eletrônica e industrial Brasileiros. A LATeRe tornou-se um importante ponto de apoio local de um dos maiores distribuidores no modelo “high service” de produtos de tecnologia, serviços e soluções para projetos de sistemas eletro eletrônicos e MRO – manutenção, reparo e operações como canal corporativo de atendimento no mesmo telefone que pertencia a Farnell Newark (11)4066-9400

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

Menu