Encontre milhões de e-books, audiobooks e muito mais com um período de teste gratuito

Apenas $11.99/mês após o término do seu período de teste gratuito. Cancele a qualquer momento.

Matlab Para Aprendizado De Máquina
Matlab Para Aprendizado De Máquina
Matlab Para Aprendizado De Máquina
E-book885 páginas7 horas

Matlab Para Aprendizado De Máquina

Nota: 0 de 5 estrelas

()

Ler a amostra

Sobre este e-book

Domine as ferramentas MATLAB para criar aplicações de aprendizado de máquina por meio de escrita de código eficaz, guiado por exemplos práticos que mostram a versatilidade do aprendizado de máquina em aplicações do mundo real Características principais: Trabalhe com a caixa de ferramentas de aprendizado de máquina MATLAB para implementar uma variedade de algoritmos de aprendizado de máquina Avalie, implante e operacionalize seus modelos personalizados, incorporando detecção de viés e monitoramento de pipeline Descubra abordagens eficazes de aprendizagem profunda para visão computacional, análise de séries temporais e previsões Descrição do livro: Descubra por que o ambiente de programação MATLAB é altamente preferido por pesquisadores e especialistas em matemática para aprendizado de máquina com este guia projetado para aprimorar sua proficiência em aprendizado de máquina e aprendizado profundo usando MATLAB, abrindo caminho para aplicações avançadas. Ao navegar pelas versáteis ferramentas de aprendizado de máquina no ambiente MATLAB, você aprenderá como interagir perfeitamente com o espaço de trabalho. Em seguida, você passará para a limpeza de dados, mineração de dados e análise de vários tipos de dados no aprendizado de máquina, além de visualizar os valores dos dados em um gráfico. À medida que avança, você explorará diversas técnicas de classificação e regressão, aplicando-as habilmente com funções MATLAB. Este livro ensina os fundamentos das redes neurais, orientando você no ajuste de dados, reconhecimento de padrões e análise de cluster. Você também explorará técnicas de seleção e extração de recursos para melhoria de desempenho por meio da redução de dimensionalidade. Por fim, você aproveitará as ferramentas MATLAB para aprendizado profundo e gerenciamento de redes neurais convolucionais. Ao final do livro, você será capaz de juntar tudo aplicando os principais algoritmos de aprendizado de máquina em cenários do mundo real. O que você aprenderá: Descubra diferentes maneiras de transformar dados em insights valiosos Explore os diferentes tipos de técnicas de regressão Compreenda os fundamentos da classificação por meio de Naive Bayes e árvores de decisão Use clustering para agrupar dados com base em medidas de similaridade Execute ajuste de dados, reconhecimento de padrões e análise de cluster Implementar seleção e extração de recursos para redução de dimensionalidade Aproveite as ferramentas MATLAB para exploração de aprendizagem profunda Para quem é este livro: Este livro é para engenheiros de ML, cientistas de dados, engenheiros de DL e engenheiros de CV/PNL que desejam usar o MATLAB para aprendizado de máquina e aprendizado profundo. Uma compreensão fundamental dos conceitos de programação é necessária para começar.
IdiomaPortuguês
Data de lançamento30 de jan. de 2024
Matlab Para Aprendizado De Máquina

Relacionado a Matlab Para Aprendizado De Máquina

Ebooks relacionados

Aplicativos e Software para você

Visualizar mais

Artigos relacionados

Avaliações de Matlab Para Aprendizado De Máquina

Nota: 0 de 5 estrelas
0 notas

0 avaliação0 avaliação

O que você achou?

Toque para dar uma nota

A avaliação deve ter pelo menos 10 palavras

    Pré-visualização do livro

    Matlab Para Aprendizado De Máquina - Jideon F Marques

    MATLAB para aprendizado de máquina

    MATLAB para aprendizado de máquina

    Desbloqueie o poder do aprendizado profundo para

    obter resultados rápidos e aprimorados

    Por Jideon Marques

    © Copyright 2024 Jideon Marques – Todos os direitos reservados.

    O conteúdo contido neste livro não pode ser reproduzido, duplicado ou transmitido sem permissão direta por escrito do autor ou do editor.

    Sob nenhuma circunstância qualquer culpa ou responsabilidade legal será responsabilizada contra o editor, ou autor, por quaisquer danos, reparações ou perdas monetárias devido às informações contidas neste livro, seja direta ou indiretamente. Notícia legal:

    Este livro é protegido por direitos autorais. É apenas para uso pessoal. Você não pode alterar, distribuir, vender, usar, citar ou parafrasear qualquer parte ou o conteúdo deste livro sem o consentimento do autor ou editor.

    Aviso de isenção de responsabilidade:

    Observe que as informações contidas neste documento são apenas para fins educacionais e de entretenimento. Todos os esforços foram realizados para apresentar informações precisas, atualizadas, confiáveis e completas. Nenhuma garantia de qualquer tipo é declarada ou implícita. Os leitores reconhecem que o autor não está envolvido na prestação de aconselhamento jurídico, financeiro, médico ou profissional. O conteúdo deste livro foi derivado de diversas fontes. Consulte um profissional licenciado antes de tentar qualquer técnica descrita neste livro.

    Ao ler este documento, o leitor concorda que sob nenhuma circunstância o autor é responsável por quaisquer perdas, diretas ou indiretas, que sejam incorridas como resultado do uso das informações contidas neste documento, incluindo, mas não limitado a, erros, omissões ou imprecisões.

    Prefácio

    MATLAB é um ambiente de programação abrangente usado por muitos pesquisadores e especialistas em matemática para aprendizado de máquina. Este livro o ajudará a aprender os conceitos básicos de aprendizado de máquina e aprendizado profundo usando MATLAB e, em seguida, refinar suas habilidades básicas com aplicativos avançados.

    Você começará explorando as ferramentas que o ambiente MATLAB oferece para aprendizado de máquina e verá como interagir facilmente com o espaço de trabalho MATLAB. Em seguida, passaremos para a limpeza, mineração e análise de vários tipos de dados em aprendizado de máquina, e você verá como visualizar os valores dos dados em um gráfico. A seguir, você aprenderá sobre os diferentes tipos de técnicas de classificação e regressão e como aplicá-las aos seus dados, usando funções MATLAB.

    Além disso, você compreenderá os conceitos básicos de redes neurais e realizará ajuste de dados, reconhecimento de padrões e análise de cluster. Você também explorará técnicas de seleção e extração de recursos para redução de dimensionalidade e melhoria de desempenho. Por fim, você aprenderá como aproveitar as ferramentas MATLAB para aprendizado profundo e gerenciamento de redes neurais convolucionais.

    Ao final do livro, você aprenderá como juntar tudo em casos do mundo real, abordando os principais algoritmos de aprendizado de máquina, e se sentirá confiante ao se aprofundar no aprendizado de máquina com o MATLAB.

    Para quem é este livro

    Este livro é adequado para engenheiros de aprendizado de máquina, cientistas de dados, engenheiros de aprendizado profundo e engenheiros de CV/PNL que desejam usar o MATLAB para aprendizado de máquina e aprendizado profundo. Você deve ter uma compreensão fundamental dos conceitos de programação.

    O que este livro cobre

    Capítulo 1, Exploring MATLAB for Machine Learning, abrange a aprendizagem automática, que é um ramo da inteligência artificial que se baseia no desenvolvimento de algoritmos e modelos matemáticos, capazes de aprender a partir dos dados e de se adaptarem autonomamente para melhorar o seu desempenho de acordo com os objetivos definidos. Graças a essa capacidade de aprendizado, o aprendizado de máquina é usado em uma ampla gama de aplicações, como análise de dados, currículos, tradução de textos, reconhecimento de fala, diagnóstico médico e previsão de riscos financeiros. O aprendizado de máquina é uma área de pesquisa em constante evolução e está revolucionando muitos campos da ciência e da indústria. O objetivo deste capítulo é fornecer alguma introdução, informações básicas e um conhecimento

    básico das ferramentas MATLAB. Além disso, serão apresentados os conceitos básicos de aprendizado de máquina.

    Capítulo 2, Trabalhando com dados no MATLAB, analisa como importar e organizar nossos dados no MATLAB. Hoje, a quantidade de dados gerados é enorme; smartphones, cartões de crédito, televisões, computadores, eletrodomésticos, sensores, sistemas domésticos, transportes públicos e privados, e assim por diante, são apenas alguns exemplos de dispositivos que geram dados de forma integrada.

    Esses dados são armazenados e usados para diversos fins. Uma delas é a análise de dados usando algoritmos de aprendizado de máquina. Para importar e organizar nossos dados no MATLAB, você deve se familiarizar com a área de trabalho do MATLAB para tornar as operações o mais simples possível. Em seguida, analisaremos os diferentes formatos disponíveis para os dados coletados e como mover os dados para dentro e para fora do MATLAB. Também exploraremos tipos de dados para trabalhar com variáveis de agrupamento e dados categóricos e como exportar dados do espaço de trabalho, incluindo matriz de células, matriz de estrutura e dados tabulares, e salvá-los em um formato de arquivo compatível com MATLAB. Por fim, entenderemos como organizar os dados no formato correto para a próxima fase de análise de dados.

    Capítulo 3, Predição usando classificação e regressão, mostra como classificar um objeto usando vizinhos mais próximos e como realizar uma análise de regressão precisa em um ambiente MATLAB. Os algoritmos de classificação retornam previsões precisas com base em nossas observações. A partir de um conjunto de rótulos de classe predefinidos, o classificador atribui a cada dado de entrada um rótulo de classe, de acordo com o modelo de treinamento. A regressão relaciona um conjunto de variáveis independentes a uma variável dependente. Através desta técnica é possível compreender como o valor da variável dependente muda à medida que a variável independente varia.

    Capítulo 4, Análise de cluster e redução de dimensionalidade, explora métodos de cluster, que são projetados para encontrar padrões ou agrupamentos ocultos em um conjunto de dados. Esses algoritmos identificam um agrupamento sem nenhum rótulo para aprender através da seleção de clusters, com base na similaridade entre os elementos. A redução da dimensionalidade é o processo de conversão de um conjunto de dados com muitas variáveis em dados com dimensões menores, mas garantindo informações semelhantes. As abordagens de seleção de recursos tentam encontrar um subconjunto das variáveis originais. A extração de recursos reduz a dimensionalidade dos dados, transformando-os em novos recursos. Este capítulo nos mostra como dividir os dados em clusters ou agrupamentos de itens semelhantes. Também aprenderemos como selecionar um recurso que melhor represente o conjunto de dados.

    capítulo 5, Apresentando Modelagem de Redes Neurais Artificiais, investiga redes neurais artificiais (RNAs), que incluem estruturas de dados e algoritmos para aprendizado e classificação de dados. Através das técnicas de redes neurais, um programa pode aprender por exemplo e criar uma estrutura interna de regras para

    classificar diferentes entradas. MATLAB fornece algoritmos, modelos pré-treinados e aplicativos para criar, treinar, visualizar e simular RNAs. Neste capítulo, veremos como usar o MATLAB para construir um modelo baseado em RNA para prever valores e classificar dados.

    Capítulo 6, Deep Learning and Convolutional Neural Networks, examina o deep learning, que é uma tecnologia de aprendizado de máquina baseada em RNAs multicamadas e tem permitido que muitas aplicações alcancem um alto grau de precisão. Redes neurais profundas são capazes de modelar relacionamentos complexos entre dados de entrada e saída. Entre as aplicações de maior sucesso está a visão computacional, com tarefas que incluem classificação, regressão de imagens e detecção de objetos. Por exemplo, uma rede neural profunda é capaz de gerar uma representação em camadas de objetos em que cada objeto é identificado por um conjunto de características que tem a forma de primitivas visuais, como arestas específicas, linhas orientadas, texturas e padrões recorrentes. As redes convolucionais são caracterizadas por camadas convolucionais, que utilizam filtros para analisar dados em uma região local e produzir um mapa de ativação. Esses mapas de ativação são então processados por camadas de pooling, que agregam os dados de baixa resolução para reduzir a dimensionalidade da representação e tornar o processamento mais eficiente do ponto de vista computacional. As camadas convolucional e de pooling são então alternadas várias vezes até que uma imagem seja representada por um mapa de ativação de baixa resolução. Neste capítulo aprenderemos os conceitos básicos de aprendizagem profunda e descobriremos como implementar um algoritmo baseado em redes convolucionais no ambiente MATLAB.

    Capítulo 7, Processamento de linguagem natural usando MATLAB, explora o processamento de linguagem natural (PNL), que processa automaticamente informações transmitidas por meio de linguagem falada ou escrita. Esta tarefa está repleta de dificuldade e complexidade, em grande parte devido à ambiguidade inata da linguagem humana. Para permitir a aprendizagem automática e a interação com o mundo de formas típicas dos seres humanos, é essencial não só armazenar dados, mas também ensinar às máquinas como traduzi-los simultaneamente em conceitos significativos. À medida que a linguagem natural interage com o ambiente, ela gera conhecimento preditivo. Neste capítulo, aprenderemos os conceitos básicos da PNL e como construir um modelo para rotular frases.

    Capítulo 8, MATLAB para Processamento de Imagens e Visão Computacional, abrange a visão computacional, que é um campo que estuda como processar, analisar e compreender o conteúdo de dados visuais. Na análise de conteúdo de imagens, usamos muitos algoritmos de visão computacional para construir nossa compreensão dos objetos em uma imagem. A visão computacional cobre vários aspectos da análise de imagens, como reconhecimento de objetos, análise de formas, estimativa de pose, modelagem 3D e pesquisa visual. Os humanos são bons em identificar e reconhecer as coisas ao seu redor! O objetivo da visão computacional é modelar com precisão o sistema de visão humana usando computadores. Neste capítulo, entenderemos os conceitos básicos de visão computacional e como implementar um modelo para reconhecimento de objetos, utilizando MATLAB.

    Capítulo 9, Análise e previsão de séries temporais com MATLAB, investiga dados de séries temporais, que são basicamente uma sequência de medições coletadas ao longo do tempo. Essas medições são feitas em relação a uma variável predeterminada e em intervalos de tempo regulares. Uma das principais características dos dados de séries temporais é que a ordem é importante. A lista de observações que coletamos está ordenada em uma linha do tempo, e a ordem em que aparecem diz muito sobre os padrões subjacentes. Se você alterar a ordem, isso mudará totalmente o significado dos dados. Dados sequenciais são uma noção generalizada que abrange quaisquer dados que venham em formato sequencial, incluindo dados de séries temporais. Neste capítulo, aprenderemos os conceitos básicos de dados sequenciais e como construir um modelo que descreva o padrão da série temporal ou de qualquer sequência em geral.

    Capítulo 10, MATLAB Tools for Recommender Systems, examina o mecanismo de recomendação, que é um modelo que pode prever no que um usuário pode estar interessado. Quando aplicamos isso ao contexto de filmes, por exemplo, ele se torna um mecanismo de recomendação de filmes. Filtramos itens em nosso banco de dados prevendo como o usuário atual poderá avaliá-los. Isso nos ajuda a conectar o usuário ao conteúdo certo em nosso conjunto de dados. Por que isso é relevante? Se você tiver um catálogo enorme, o usuário poderá ou não encontrar todo o conteúdo que é relevante para ele. Ao recomendar o conteúdo certo, você aumenta o consumo.

    Empresas como a Netflix dependem fortemente de recomendações para manter o usuário envolvido. Neste capítulo, aprenderemos os conceitos básicos de sistemas de recomendação e como construir um sistema de recomendação de filmes, utilizando MATLAB.

    Capítulo 11, Detecção de anomalias no MATLAB, ensina os conceitos básicos de um sistema de detecção de anomalias e como implementá-lo no MATLAB. Um sistema físico, no seu ciclo de vida, pode estar sujeito a falhas ou mau funcionamento que podem comprometer o seu normal funcionamento. É, portanto, necessário introduzir um sistema de detecção de anomalias que seja capaz de prevenir interrupções críticas.

    Isso é chamado de sistema de diagnóstico de falhas e pode identificar a possível presença de um mau funcionamento no sistema monitorado. A busca pela falha é uma das fases mais importantes e qualificadoras da intervenção de manutenção, sendo necessário atuar de forma sistemática e determinística. Para realizar uma busca completa da falha, é necessário analisar todas as possíveis causas que a possam ter determinado.

    Para aproveitar ao máximo este livro

    Neste livro, algoritmos de aprendizado de máquina são implementados no ambiente MATLAB. Portanto, para reproduzir os muitos exemplos deste livro, você precisa de uma nova versão do MATLAB (R2023b é recomendado) e das seguintes caixas de ferramentas – uma caixa de ferramentas de estatística e aprendizado de máquina, uma caixa de ferramentas de rede neural, uma caixa de ferramentas de aprendizado profundo e uma caixa de ferramentas de lógica difusa .

    Software/hardware abordado no livro Requisitos do sistema operacional MATLAB

    Windows, macOS ou Linux

    Se você estiver usando a versão digital deste livro, aconselhamos que você mesmo digite o código ou acesse o código no repositório GitHub do livro (um link está disponível na próxima seção). Isso o ajudará a evitar possíveis erros relacionados à cópia e colagem do código.

    Baixe os arquivos de código de exemplo

    Você pode baixar os arquivos de código de exemplo deste livro no GitHub

    emhttps://github.com/PacktPublishing/MATLAB-for-Machine-Learning-second-

    edition. Se houver uma atualização no código, ela será atualizada no repositório GitHub.

    Também temos outros pacotes de códigos do nosso rico catálogo de livros e vídeos disponíveis emhttps://github.com/PacktPublishing/. Confira!

    Convenções usadas

    Há uma série de convenções de texto usadas ao longo deste livro.

    Código em texto: indica palavras de código em texto, nomes de tabelas de banco de dados, nomes de pastas, nomes de arquivos, extensões de arquivos, nomes de caminhos, URLs fictícios, entrada do usuário e identificadores do Twitter. Aqui está um exemplo: Para criar uma árvore de classificação, podemos utilizar a função fitctree().

    Um bloco de código é definido da seguinte forma:

    gscatter(meas(:,3), meas(:,4), espécie,'rgb','osd');

    xlabel('Comprimento da pétala');

    ylabel('Largura da pétala');

    Audacioso: indica um novo termo, uma palavra importante ou palavras que você vê na tela. Por exemplo, palavras em menus ou caixas de diálogo aparecem em negrito.

    Aqui está um exemplo: Agora podemos treinar a rede apenas clicando no botão treinar do aplicativo. Após alguns segundos, a RNA estará treinada e pronta para uso.

    Dicas ou notas importantes

    Apareça assim.

    Parte 1: Introdução ao Matlab

    Esta parte fornece informações básicas e conhecimentos essenciais sobre ferramentas MATLAB, juntamente com uma introdução aos conceitos básicos de aprendizado de máquina. Também nos concentraremos na importação e organização de dados no MATLAB, enfatizando a familiaridade com o espaço de trabalho do MATLAB para simplicidade nas operações. A discussão abrange a análise de vários formatos de dados, movimentação de dados para dentro e fora do MATLAB, exploração de tipos de dados para agrupar variáveis e dados categóricos, exportação de dados em diferentes formatos, como matrizes de células, matrizes de estrutura e dados tabulares, e salvá-los em arquivos suportados pelo MATLAB. formatos. O objetivo final é preparar os dados no formato correto para a fase subsequente de análise de dados.

    Esta parte possui os seguintes capítulos:

    Capítulo 1, Explorando MATLAB para aprendizado de máquina

    Capítulo 2, T rabalhando com dados no MATLAB

    1

    Explorando MATLAB para aprendizado de máquina

    Aprendizado de máquina(ML) é um ramo da inteligência artificial que se baseia no desenvolvimento de algoritmos e modelos matemáticos capazes de aprender a partir de dados e de se adaptar de forma autónoma para melhorar o seu desempenho de acordo com um conjunto de objetivos. Graças a essa capacidade de aprendizagem, o ML é usado em uma ampla gama de aplicações, como análise de dados, visão computacional, modelagem de linguagem, reconhecimento de fala, diagnóstico médico e previsão de risco financeiro. O ML é uma área de pesquisa em constante evolução e está revolucionando muitos campos da ciência e da indústria. O objetivo deste capítulo é fornecer uma introdução, informações básicas e um conhecimento básico de ML, bem como uma compreensão de como aplicar esses conceitos usando ferramentas MATLAB.

    Neste capítulo, vamos cobrir os seguintes tópicos principais:

    Apresentando o aprendizado de máquina

    Descobrindo os diferentes tipos de processos de aprendizagem

    Usando técnicas de ML

    Explorando caixas de ferramentas MATLAB para ML

    Aplicações de ML na vida real

    Requerimentos técnicos

    Neste capítulo, apresentaremos conceitos básicos relacionados ao ML. Para compreender esses tópicos, é necessário um conhecimento básico de álgebra e modelagem matemática. Também é necessário um conhecimento prático do ambiente MATLAB.

    Apresentando o aprendizado de máquina

    O ML baseia-se na ideia de fornecer aos computadores uma grande quantidade de dados de entrada, juntamente com as respostas corretas ou rótulos correspondentes, e permitir-lhes aprender com esses dados, identificando padrões, relações e regularidades dentro deles. Ao contrário das abordagens de programação tradicionais, nas quais os computadores seguem instruções precisas para executar tarefas específicas, o ML permite que as máquinas aprendam de forma independente com os dados e tomem decisões com base em modelos estatísticos e previsões.

    Um dos conceitos-chave do ML é a capacidade de generalizar. Isso significa que um modelo treinado com base nas informações do conjunto de dados de treinamento deve ser capaz de fazer previsões precisas sobre novos dados que nunca viu antes.

    Isso permite que o ML seja aplicado em uma ampla variedade de domínios.

    Como definir ML

    Para melhor compreender os conceitos básicos do ML, podemos partir das definições formuladas pelos pioneiros nesta área. De acordo com Arthur L. Samuel (1959) – "ML

    é um campo de estudo que dá aos computadores a capacidade de aprender sem serem explicitamente programados".

    A definição mencionada refere-se à capacidade de aprender com a experiência, o que os humanos fazem na maioria dos casos.

    ML é um domínio interdisciplinar forjado na encruzilhada e na mistura harmoniosa de ciência da computação, estatística, neurobiologia e teoria de controle. Suas aplicações práticas superaram com sucesso vários desafios em diversos campos, alterando fundamentalmente o paradigma do desenvolvimento de software. Em essência, o ML

    constitui uma abordagem fundamental que capacita os computadores com um certo grau de autonomia. É evidente que o ML se inspira no estudo da aprendizagem humana; assim como o cérebro humano e seus neurônios são a base da intuição, as redes neurais artificiais servem como base para a tomada de decisões por computador. O ML facilita a criação de modelos que podem representar padrões de dados com precisão por meio de uma análise meticulosa de conjuntos de dados.

    A título de ilustração, podemos estabelecer uma conexão entre variáveis de entrada e variáveis de saída dentro de um determinado sistema. Uma abordagem para conseguir isso é assumir a existência de um mecanismo para gerar dados

    paramétricos, embora sem conhecimento preciso dos valores dos parâmetros. Este procedimento é comumente referido como emprego de métodos estatísticos.

    Análise do raciocínio lógico

    O raciocínio lógico é baseado nos conceitos de indução, dedução e inferência. Aqui estão as diferenças entre eles:

    Induçãoé um processo de raciocínio que parte de observações ou dados específicos para chegar a conclusões gerais. Em outras palavras, trata-se de extrair uma regra ou princípio geral a partir de exemplos específicos. A indução pode ser útil para fazer previsões e generalizações, mas as conclusões obtidas não são necessariamente certas.

    Deduçãoé um processo de raciocínio que parte de premissas ou regras gerais e chega a conclusões específicas. Em outras palavras, trata-se de aplicar princípios gerais para obter informações específicas. A dedução é baseada na lógica formal e no uso de regras de inferência válidas. A dedução produz conclusões logicamente corretas a partir das premissas fornecidas.

    Finalmente, a inferência é um processo de raciocínio que nos leva a tirar conclusões, deduções ou julgamentos com base nas evidências ou informações disponíveis. A inferência pode envolver indução e dedução, bem como outras formas de raciocínio, como a abdução. A inferência pode ser vista como a aplicação de regras ou estratégias de raciocínio para obter novas informações ou chegar a conclusões baseadas nas já existentes.

    Em resumo, a indução baseia-se na extração de princípios gerais de exemplos específicos, a dedução baseia-se na aplicação de princípios gerais para obter conclusões específicas, enquanto a inferência é um termo mais amplo que abrange tanto a indução como a dedução, bem como outros processos de raciocínio.

    No domínio do ML, o professor e o aluno são duas entidades essenciais que desempenham papéis significativos. O professor possui o conhecimento necessário para executar uma determinada tarefa, enquanto o objetivo do aluno é adquirir esse conhecimento para executar a tarefa. As estratégias empregadas para a aprendizagem podem ser diferenciadas com base no nível de inferência realizada pelo aluno, considerando dois extremos: nenhuma inferência e inferência substancial.

    Quando um sistema de computador (o aluno) é programado diretamente, ele adquire conhecimento sem se envolver em qualquer inferência, pois todos os processos cognitivos são controlados pelo programador (o professor). Muito pelo contrário, quando um sistema encontra novas soluções de forma autónoma, necessita de uma quantidade substancial de inferências. Neste cenário, o conhecimento organizado é obtido através de experimentos e observações. Na figura a seguir, é mostrada a diferença entre indução e dedução para tarefas de inferência.

    Figura 1.1 – Chaves de raciocínio lógico

    Entre a indução e a dedução existe um ponto médio chamado inferência – por exemplo, digamos que um aluno procura resolver um desafio matemático fazendo analogias com soluções fornecidas num livro de exercícios. Esta atividade exige inferência, embora em menor grau do que a descoberta de um novo teorema matemático.

    Ao aumentar a capacidade de inferência do aluno, o desgaste do professor diminui. A seguinte taxonomia de ML procura retratar o conceito de compensações em termos de trabalho exigido tanto pelo aluno como pelo professor.

    Tipologias de estratégias de aprendizagem

    Com base na inferência realizada, podemos identificar diferentes mecanismos que um sistema de aprendizagem pode adotar. Vejamos alguns deles:

    Aprendizagem mecânica: Vamos começar com um básico, o aprendizado mecânico, que envolve a utilização de um conteúdo sem que nenhuma transformação seja realizada nele. Nenhum processo de inferência é ativado e o conhecimento não é processado de forma alguma; é essencialmente um processo de memorização programado com esforço considerável por parte do aluno.

    Aprendendo com a instrução: Ao adquirir conhecimento de um professor, o aluno precisa converter as informações apresentadas em um formato que possa ser processado internamente. Além disso, é crucial que o aluno integre o novo conhecimento com a compreensão existente para utilizá-lo de forma eficaz. Este processo envolve algum nível de inferência por parte do aluno, mas uma parte significativa da responsabilidade recai sobre o professor. O

    professor deve apresentar e organizar o conhecimento de uma forma que aprimore progressivamente o conhecimento existente do aluno. Isto se alinha com a abordagem usada na maioria dos métodos de educação formal.

    Consequentemente, a tarefa do ML envolve o desenvolvimento de um sistema que possa receber instruções ou conselhos, armazená-los e aplicar o conhecimento adquirido de forma eficaz.

    Figura 1.2 – Tipologias de estratégias de aprendizagem baseadas na inferência realizada

    Aprendendo por analogia: Ao adquirir novas declarações ou habilidades, o processo envolve converter e aprimorar o conhecimento existente que tenha uma forte semelhança com o novo ambiente. Isso permite que o conhecimento transformado seja efetivamente aplicado no novo contexto. Por exemplo, um sistema de aprendizagem por analogia poderia ser utilizado para transformar código em algo que implemente uma função intimamente relacionada, mesmo que não tenha sido originalmente projetado para esse propósito. A aprendizagem por analogia necessita de mais inferência por parte do aluno em comparação com o mecanismo de aprendizagem anterior. O aluno deve recuperar de sua memória um fato ou habilidade relevante que seja análogo em termos de parâmetros relevantes. Então, o conhecimento recuperado precisa ser convertido, relacionado ao novo contexto e arquivado para uso futuro.

    Aprendendo com exemplos: Quando confrontado com um conjunto de instâncias, incluindo exemplos que apoiam uma ideia e contra-exemplos que a contradizem, o aluno infere uma descrição generalizada da ideia. Esta descrição abrange todos os exemplos positivos, ao mesmo tempo que remove sistematicamente os negativos. Aprender com exemplos tem sido extensivamente estudado no campo da inteligência artificial. Neste método, o aluno envolve-se num grau mais elevado de inferência em comparação com a aprendizagem através da instrução, uma vez que não há ideias gerais fornecidas por um professor. Também envolve um nível de inferência ligeiramente maior do que a aprendizagem por analogia, uma vez que não existem ideias relacionadas fornecidas como pontos de partida para o desenvolvimento do novo conceito.

    Aprendendo com a observação: Esta forma de aprendizagem indutiva é altamente versátil e abrange diversas tarefas, como descoberta de sistemas, formação de teorias e estabelecimento de princípios de agrupamento para criação de hierarquias taxonômicas. Ao contrário de outras abordagens discutidas, esta forma de aprendizagem não depende de um professor externo.

    Em vez disso, o aluno é obrigado a se envolver em inferências extensas. Não lhes é apresentado um conjunto específico de exemplos para uma ideia específica, nem têm acesso a uma previsão que possa agrupar instâncias produzidas de forma automatizada como exemplos positivos ou negativos de qualquer conceito. Além disso, em vez de se concentrar numa única ideia, o aluno deve lidar com vários conceitos simultaneamente, o que introduz um desafio significativo em termos de alocação de atenção.

    Aprendendo por fragmentação: Esta é uma estratégia cognitiva que envolve dividir as informações em unidades ou pedaços menores e gerenciáveis para melhorar a memória e a compreensão. Esta técnica aproveita a tendência natural do cérebro de organizar e processar informações em grupos significativos. Ao agrupar conceitos relacionados, os alunos podem absorver e reter mais facilmente materiais complexos. O chunking é particularmente eficaz em vários ambientes educacionais, desde a memorização de listas e sequências até o domínio de assuntos complexos. Quando a informação é organizada em blocos coesos, torna-se mais fácil compreender as relações entre os diferentes componentes, facilitando uma compreensão mais profunda do conteúdo geral. Essa abordagem é especialmente benéfica em áreas como a aquisição de idiomas, onde a divisão de frases ou palavras em pedaços gerenciáveis ajuda a um aprendizado mais rápido e eficiente. Além disso, o chunking promove a recuperação eficiente e a resolução de problemas. Em vez de se esforçarem para lembrar informações individuais, os alunos podem acessar pedaços mais amplos de conhecimento, levando a uma recuperação mais rápida e precisa. Esta estratégia cognitiva alinha-se com a capacidade do cérebro de processar informações em paralelo, otimizando o processo de aprendizagem e melhorando o desempenho cognitivo geral. Em essência, o aprendizado por chunking capacita os indivíduos a navegar pelas complexidades da informação com maior facilidade e eficácia.

    A análise dos mecanismos de aprendizagem que um sistema pode adotar nos ajudará a compreender melhor os diferentes tipos de processos de aprendizagem que podem ser adotados em um sistema baseado em ML.

    Descobrindo os diferentes tipos de processos de aprendizagem A aprendizagem baseia-se na ideia de que as percepções não devem apenas orientar as ações, mas também melhorar a capacidade do agente de aprender automaticamente a partir das interações com o mundo e dos próprios processos de tomada de decisão. Um sistema é considerado capaz de aprender quando possui um componente executivo para tomar decisões e um componente de aprendizagem para modificar o componente executivo para melhorar as decisões. A aprendizagem é influenciada pelos componentes aprendidos do sistema, pelo feedback recebido após as ações serem executadas e pelo tipo de representação utilizada.

    O ML oferece diversas maneiras de permitir que algoritmos aprendam com os dados, que são classificados em categorias com base no tipo de feedback em que o sistema de

    aprendizagem se baseia. A escolha de qual categoria de aprendizagem usar para um problema específico deve ser feita com antecedência para encontrar a melhor solução.

    É útil avaliar a robustez do algoritmo, como sua capacidade de fazer previsões corretas mesmo com dados faltantes, a escalabilidade, a eficiência do algoritmo com conjuntos de dados pequenos ou grandes e a interpretabilidade, que se refere à possibilidade de atribuir um resultado mais subjetivo do que objetivo.

    Figura 1.3 – Diferentes tipos de processos de aprendizagem Os algoritmos de ML podem ser categorizados de acordo com o tipo de experiência a que são submetidos durante o processo de aprendizagem. É comum categorizar os paradigmas de ML da seguinte forma:

    Aprendizagem supervisionada: O algoritmo gera uma função que vincula valores de entrada a uma saída desejada, através da observação de um conjunto de exemplos em que cada entrada de dados tem seus dados de saída relativos que são usados para construir modelos preditivos.

    Aprendizagem não supervisionada: O algoritmo tenta derivar conhecimento de uma entrada geral, sem a ajuda de um conjunto de exemplos pré-classificados, que é utilizado para construir modelos descritivos. Um exemplo típico da aplicação desses algoritmos são os motores de busca.

    Aprendizagem por reforço: O algoritmo pode aprender dependendo das mudanças que ocorrem no ambiente em que é executado. O agente recebe feedback na forma de recompensas ou punições com base nas ações que realiza, permitindo-lhe aprender estratégias ideais ao longo do tempo. Na verdade, como cada ação tem algum efeito no ambiente em questão, o algoritmo é orientado pelo mesmo ambiente de feedback. Alguns desses algoritmos são usados em carros autônomos e em jogos AlphaGo autônomos.

    Vejamos detalhadamente essas categorias, analisando suas características e tentando entender como escolher o paradigma mais adequado para o nosso problema.

    Aprendizagem supervisionada

    A aprendizagem supervisionada é uma técnica de ML projetada para permitir que um sistema de computador resolva tarefas automaticamente. O processo envolve o fornecimento de dados de entrada, normalmente na forma de vetores, que formam um conjunto, I. Os dados de saída são definidos como um conjunto, O, e uma função, f, é estabelecida para associar cada entrada à resposta correta. Este conjunto de dados usado para treinamento é denominado conjunto de treinamento.

    Ó=f(eu)

    O princípio subjacente de todos os algoritmos de aprendizagem supervisionada é que, com exemplos suficientes, um algoritmo pode criar uma função derivada, B, que se aproxima da função desejada, A. Se a aproximação for precisa o suficiente, a função derivada deve fornecer respostas de saída como as do função desejada, tornando-os aceitáveis. Esses algoritmos baseiam-se na suposição de que entradas semelhantes correspondem a saídas semelhantes. Esta suposição muitas vezes não é perfeitamente satisfeita. No entanto, existem situações em que esta aproximação é aceitável.

    Com esse tipo de aprendizado é possível, por exemplo, utilizar como entrada imagens de animais corretamente rotuladas, para fazer com que o algoritmo aprenda a correlação entre as características de um determinado animal e a imagem que o contém. Isto é feito de forma que, posteriormente, o algoritmo possa reconhecê-lo, dada a entrada de uma imagem contendo aquele tipo de animal. O algoritmo aprende a reconhecer um determinado padrão para compreender a correlação entre a imagem e o rótulo atribuído, para então deduzir uma regra geral para reconhecer se a mesma correlação existe nos dados subsequentes.

    Para utilizar a aprendizagem supervisionada, é portanto necessário ter dados com resultados conhecidos. No caso de ambientes totalmente observáveis, o sistema pode ver quais efeitos suas ações têm e pode usar o método de aprendizagem supervisionada para aprender a predizê-los. Se o ambiente não fosse completamente observável, os efeitos imediatos poderiam ser invisíveis. O desempenho desses algoritmos é altamente dependente dos dados de entrada. Se apenas algumas entradas de treinamento forem fornecidas, o algoritmo pode não ter experiência suficiente para produzir resultados corretos. Por outro lado, um número excessivo de entradas pode tornar o algoritmo excessivamente lento, à medida que a função derivada se torna mais complexa.

    Além disso, algoritmos de aprendizagem supervisionada são sensíveis ao ruído.

    Mesmo um pequeno número de pontos de dados incorretos pode tornar todo o sistema não confiável, levando a decisões erradas.

    Quando o valor de saída é categórico, como membro/não membro de uma determinada classe, é considerado um problema de classificação. Por outro lado, se a saída for um valor real contínuo dentro de um determinado intervalo, é classificado como um problema de regressão.

    Aprendizagem não supervisionada

    O objetivo da aprendizagem não supervisionada é extrair automaticamente informações de bancos de dados sem conhecimento prévio do conteúdo a ser analisado. Ao contrário da aprendizagem supervisionada, não há informações disponíveis sobre as classes de adesão ou sobre o resultado correspondente a uma determinada entrada. O objetivo é obter um modelo capaz de descobrir propriedades interessantes, como grupos (clusters) de exemplos com características semelhantes (clustering). Um exemplo de aplicação desses algoritmos é visto nos motores de busca.

    Ao fornecer uma ou mais palavras-chave, podem gerar uma lista de links relacionados à nossa pesquisa. As diferenças entre aprendizagem supervisionada e aprendizagem não supervisionada são destacadas na figura a seguir.

    Figura 1.4 – Aprendizagem supervisionada versus aprendizagem não supervisionada O objetivo da aprendizagem não supervisionada é aprender de forma autônoma a estrutura subjacente dos dados de entrada. Os resultados são influenciados pelas decisões sobre quais dados inserir e a ordem em que são apresentados. Esta abordagem reorganiza os dados de uma maneira diferente, criando clusters de dados mais significativos para análises subsequentes e permitindo a descoberta de padrões anteriormente despercebidos nos dados. Um sistema capaz de aprendizagem pura e não supervisionada carece da capacidade de aprender quais ações tomar, pois carece de informações sobre o que constitui uma ação correta ou um estado desejável a ser alcançado.

    A aprendizagem não supervisionada é comumente empregada em problemas de agrupamento, onde identifica grupos de dados com base em características compartilhadas, resultando na criação de agrupamentos de dados. Além disso, esta abordagem é utilizada na aprendizagem associativa, que envolve a identificação de regras associativas entre os dados de entrada e em sistemas de recomendação.

    A eficácia desses algoritmos depende do valor das informações que eles podem extrair dos bancos de dados. Esses algoritmos funcionam examinando os dados e buscando ativamente semelhanças ou disparidades entre eles. Os dados disponíveis referem-se exclusivamente ao conjunto de atributos que caracterizam cada exemplo individual.

    O aprendizado não supervisionado demonstra alta eficiência ao trabalhar com elementos numéricos, mas sua precisão diminui ao lidar com dados não numéricos.

    Normalmente, esses algoritmos funcionam bem quando os dados exibem uma ordem clara ou um agrupamento distinto que pode ser facilmente identificado.

    Aprendizagem por reforço

    A aprendizagem por reforço visa desenvolver algoritmos que possam aprender e se adaptar às mudanças em seu ambiente. Esta técnica de programação baseia-se no conceito de recepção de estímulos externos com base nas escolhas feitas pelo algoritmo. Fazer uma escolha correta resulta em uma recompensa, enquanto uma escolha incorreta leva a uma penalidade. O objetivo final do sistema é alcançar o melhor resultado possível.

    Ao contrário da aprendizagem supervisionada, em que um professor fornece resultados corretos ao sistema (aprendizagem com orientação), isto nem sempre é viável. Muitas vezes, apenas informações qualitativas estão disponíveis, às vezes em formato binário (como certo/errado ou sucesso/fracasso). Essas informações disponíveis são chamadas de sinais de reforço. No entanto, o sistema não fornece nenhuma orientação sobre como atualizar o agente como um algoritmo de otimização e o ambiente como sendo caracterizado pela família de funções objetivo para as quais gostaríamos de aprender como otimizador. O objetivo do sistema é criar agentes

    inteligentes que possuam a capacidade de aprender com suas experiências.

    Os algoritmos de aprendizagem por reforço operam com base em recompensas que são atribuídas de acordo com os objetivos alcançados. Estas recompensas são essenciais para compreender quais ações são desejáveis e devem ser realizadas, bem como quais ações devem ser evitadas. Sem recompensas, o algoritmo teria dificuldade para tomar decisões. O aprendizado por reforço é empregado quando algoritmos precisam tomar decisões que tenham consequências. Vai além de ser puramente descritivo e passa a ser prescritivo, orientando sobre quais ações tomar. Esse tipo de aprendizagem é altamente inovador na área de ML e é adequado para entender como os ambientes funcionam. O fluxo do algoritmo de aprendizagem por reforço é mostrado na figura a seguir.

    Figura 1.5 – Mecanismo de aprendizagem por reforço

    Um aspecto crucial é a capacidade do algoritmo de interpretar o feedback como um reforço em vez de uma nova entrada. O objetivo da aprendizagem por reforço é utilizar o feedback recebido para construir uma política ideal, maximizando a recompensa total esperada. Uma política específica representa uma fórmula de atualização específica. Conseqüentemente, aprender a política equivale a aprender a fórmula de atualização e, portanto, o algoritmo de otimização. Esta abordagem permite treinar um algoritmo sem definir explicitamente regras deduzidas do feedback. É particularmente útil em domínios complexos onde a definição de regras pode ser um desafio e o desempenho pode ser bastante melhorado.

    A aprendizagem por reforço abrange tanto a aprendizagem passiva quanto a aprendizagem ativa. Na aprendizagem passiva, o agente segue uma política fixa e visa aprender as utilidades dos pares estado-ação. Em alguns casos, o agente também pode precisar aprender o modelo do ambiente. Na aprendizagem ativa, o agente deve aprender quais ações tomar e, por meio da exploração, ganhar experiência sobre como se comportar no ambiente. Uma maneira de implementar essa estratégia é fazer com que o algoritmo jogue um jogo sem fornecer as regras. O feedback positivo é dado quando o agente realiza ações permitidas ou benéficas, enquanto o feedback negativo é fornecido para ações indesejáveis. Isto permite que o algoritmo

    Está gostando da amostra?
    Página 1 de 1