Baixe o app para aproveitar ainda mais
Prévia do material em texto
INTELIGÊNCIA ARTIFICIAL EINTELIGÊNCIA ARTIFICIAL E APRENDIZADO DE MÁQUINAAPRENDIZADO DE MÁQUINA PROCESSAMENTO DAPROCESSAMENTO DA LINGUAGEM NATURAL ELINGUAGEM NATURAL E ALGORITMOS EVOLUTIVOSALGORITMOS EVOLUTIVOS Autor: Me. Jackson Luis Schirigatti Revisor : Rene Marcel ino Abr i t ta Te ixe ira IN IC IAR introdução Introdução Um dos grandes desa�os da Inteligência Arti�cial na atualidade é replicar o processamento da linguagem natural e o comportamento humano. Veremos em nosso estudo que a comunicação entre máquinas e humanos é complexa, mas está evoluindo através da contribuição com outras áreas da Inteligência Arti�cial, como a mineração de dados, visão computacional, automação inteligente e sistemas tutores. Veremos também que é possível modelar problemas através da vida arti�cial. A partir dos algoritmos evolutivos, especi�camente dos algoritmos genéticos, baseados na teoria da evolução das espécies, iremos compreender esta modelagem. Finalmente, em um tópico avançado, nos aprofundaremos no aprendizado máquina indutivo, mostrando uma visão ampla de tarefas preditivas e descritivas. O processamento de Linguagem Natural (PLN) para alguns autores é um conceito e para outros é uma área da Inteligência Arti�cial. Para Morais et al. (2018, p. 17), “é um conceito de Inteligência Arti�cial que permite a análise de textos”. Para Mataric (2014, p. 361), “é o campo que estuda a compreensão da língua escrita e falada. Uma parte da Inteligência Arti�cial”. Coppin (2013, p. 497) explica a diferença entre a linguagem natural e formal. A linguagem natural é aquela usada para a comunicação entre humanos e máquinas e cujas sentenças podem ser ambíguas, ou seja, possui mais de um signi�cado ou um signi�cado duvidoso. Já a linguagem formal, como as linguagens de programação Java, Prolog, C++, não podem ter sentenças que expressem ambiguidade, devem ter apenas uma interpretação. Em síntese, podemos conceituar que a PLN é um campo da Inteligência Arti�cial que estuda a língua natural, escrita e falada, objetivando a comunicação efetiva entre humanos e computadores. Processamento deProcessamento de Linguagem NaturalLinguagem Natural A Figura 4.1 ilustra um robô se comunicando por telefone, uma visão passada do futuro presente. O que ocorre hoje seria exatamente deste modo, ou quase isto. De uma maneira ainda não tão comum, as máquinas mecânicas inteligentes, ou robôs que interagem diretamente com humanos, aparecem em diversas situações de ambiente controlados, como serviços de hotel, restaurantes, fábricas automobilísticas, transporte de cargas etc. Outra forma mais comum de comunicação entre máquinas e humanos seria através de sistemas que realizam a ligação e efetuam a comunicação através do reconhecimento de voz ou compreensão da fala. É realizada, portanto, uma comunicação compreensível entre programas robôs e os humanos. Este exemplo é trivial nos dias de hoje. Empresas �nanceiras e de marketing, por exemplo, implantam programas robôs que realizam todo o processo de Figura 4.1 - Robô realizando uma comunicação por telefone. Atualmente, estas ocorrem através de programas robôs Fonte: Валерий Качаев / 123RF. comunicação com clientes inadimplentes, avisando e orientando sobre seus débitos, ou também se comunicando com potenciais clientes adimplentes, oferecendo produtos e serviços. Vimos que os conceitos PLN estão ligados à comunicação efetiva entre máquinas e humanos. Contudo, nesta área da IA não é tão simples como parece, veremos agora os avanços tecnológicos e problemas que ocorrem no processamento de linguagem natural, bem como algumas técnicas utilizadas. Visão Geral dos Problemas e Técnicas O processamento da linguagem natural é um campo de aplicação amplo da Inteligência Arti�cial, e de forma híbrida pode trazer grandes benefícios para o homem. Contudo, a forma que as máquinas compreendem os humanos pode ser complexa, mas não tão distante do que parece. A comunicação é algo complexo que não se estende somente à fala, mas sim à escrita, gestos, movimentos e outros fatores que veremos a seguir. Para Mataric (2014, p. 340): a robótica está se afastando da fábrica e do laboratório, está se apropriando cada vez mais dos ambientes e costumes cotidianos dos seres humanos, exigindo o desenvolvimento de robôs capazes de interagir com as pessoas de uma forma natural. [...] [Os robôs precisam também interagir socialmente] Quando você pensa em interação social, [...] pensa em dois tipos de sinais: expressões faciais e linguagem. [...] Felizmente rostos e linguagens não são as únicas maneiras de interagir socialmente. [...] [É necessário incluir] o processamento de informação humana, que consiste em uma variedade de sinais complexos. Este processamento de informação, como comenta Mataric (2014), necessita de sinais complexos antes mesmo da realização do processamento da linguagem natural. E são eles: A fala (nuance do ritmo, nível de volume, tom); A proxêmica (uso social do espaço), como distância física, quantidade de movimento e direção em que um ser está do emissor ou receptor. São informações sociais, como por exemplo a temperatura corporal e os batimentos cardíacos; A visão computacional (percepção e compreensão das imagens). O olhar social é outro sinal importante antes da realização do processamento da linguagem, compreendendo, assim, a expressão facial. O processamento da linguagem natural tem feito grandes progressos na IA. Dentro da robótica, a comunicação entre humanos tem tido grandes avanços através da linguagem escrita, falada e de movimentos. Na escrita se deve à visão computacional pelo reconhecimento de padrões das imagens e pelos motores de inferência (aprendizagem) pela mineração de dados. Contudo, as máquinas precisam de um alto poder de processamento para o reconhecimento de padrões, diferente de nós humanos, que reconhecemos instantaneamente objetos em uma imagem. Quanto a falada, já existem humanoides que conversam com humanos e aprendem com as conversas realizadas. reflita Re�ita Vimos que as máquinas inteligentes podem reconhecer objetos em imagens através de sensores que realizam a aquisição da mesma, técnicas de mineração de dados e de algoritmos de reconhecimento de padrões. Mas por que o cérebro humano tem a capacidade instantânea de reconhecer padrões mais rápido que uma máquina? Fonte: Elaborado pelo autor. Para compreendermos melhor os avanços e problemas relacionados ao convívio social entre máquinas, veremos como as áreas de robótica de serviços, robótica assistiva e tutores inteligentes se integram ao processamento da linguagem natural e a automação do comportamento humano. Robótica de Serviços e Assistiva Na área da robótica de serviços já existem robôs que imitam comportamentos humanos relacionados aos movimentos, como abrir portas, correr, saltar, e outros com aparência humana. Por exemplo, os robôs humanoides realizam tarefas dos humanos, como realizar serviços em um restaurante, atender os clientes fazendo pedidos sugerindo opções e preferências baseadas em seus per�s enquanto os pedidos já estão sendo enviados para a cozinha, levar os pratos prontos e retirar os sujos e até mesmo lavá-los. A Figura 4.2 ilustra o robô humanoide Asimo, que imita movimentos humanos e reconhece pessoas, sendo uma inovação relacionada à mobilidade e trabalhos em equipe. O humanoide Asimo consegue realizar a manutenção de uma conversa entre humanos por voz e sinais de linguagem. Figura 4.2 - Robô humanoide Asimo Fonte: Coward_lion / 123RF. A robótica assistiva, para Mataric (2014, p. 342), refere-se a “sistemas de robôs capazes de ajudar pessoas com necessidades especiais, como indivíduos convalescendo de uma doença, ou precisando de reabilitação após um acidente ou trauma, ou aprendendo, ou treinados em ambientes especiais [...]”. Dentre os robôs assistivos, a Figura 4.3 abaixo ilustra a humanoide Sophia. Foi projetada para conversação, entrevistas, assistência ao clientee educação. Utiliza um software de Inteligência Arti�cial que aprende com cada conversa realizada e projeta mais de 60 expressões faciais, personi�cando a inteligência. Atualmente, é o humanoide com melhor interação já existente. Esta humanoide conecta à internet para a busca constante de informações para a sua base de conhecimento. Outra área de IA que pode integrar-se à robótica, à PLN, ao aprendizado máquina e à visão computacional é a dos tutores inteligentes. Veremos agora como estes sistemas inteligentes trabalham. Tutores Inteligentes Através da Inteligência Arti�cial é possível ensinar os sistemas inteligentes a trabalhar, pensar e raciocinar, e, mais ainda, ensinam a ensinar. Como exemplo são os aplicativos tutores que forçam o aprendizado do vocabulário Figura 4.3 - Robô humanoide Sophia Fonte: Anton Gvozdikov / 123RF. e apoio ao aprendizado de várias ciências através da inteligência do Watson da IBM. Rui (2018, p. 100) comenta que: O IBM Watson é um sistema cognitivo que possibilita uma nova parceria entre pessoas e máquinas. No trabalho e na educação, inúmeras startups estão desenvolvendo chatbots (assistentes inteligentes), algoritmos de computador projetados para simular a conversação humana, responder questões de rotina laboral e personalizar experiências de aprendizagem. Os tutores auxiliam alunos nos seus estudos através de perguntas e o direcionam para a resposta certa, perguntando de outra maneira ou através de dicas. Watson irá adaptar para cada aluno um melhor ensino aprendizado através de técnicas diferenciadas. A Figura 4.4 ilustra um robô tutor que recebe informações pela linguagem natural. Gera, processa e avalia hipóteses. Explica e orienta as perguntas e dúvidas, adapta-se e aprende. Para Hurwitz, Nugent, Halper e Kaufman (2016), o IBM Watson inicia utilizando o processamento da linguagem natural, através de um conjunto de anotadores de dados, extraindo informações como sintomas, idade, Figura 4.4 - Tutor inteligente utilizado para aprender e ensinar Fonte: Microone / 123RF. localização, dentre outras. Ou seja, ele entende a linguagem natural. Após esse procedimento, ele gera e avalia hipóteses a partir de evidências através de um modelo estatístico genérico. Quando uma evidência se torna alta, ele gera potenciais respostas às possíveis perguntas do humano. O Watson aprende com as respostas. Entretanto, ele não utiliza regras para realizar as inferências, mas sim a estatística (estimação), ou seja, o sistema tutor da IBM é probabilístico e gera um modelo estatístico de pontuação de con�ança e de aperfeiçoamento constante. Vimos que os sistemas tutores se utilizam da mineração de dados através de estatística, criando um modelo preditivo por estimação. Agora veremos como as máquinas inteligentes podem realizar o processamento da linguagem natural através da classi�cação de textos, utilizando tanto modelos preditivos discretos (classi�cação) ou contínuos (estimação). Classi�icação de Textos No campo da mineração de dados e do processamento de linguagem natural escrita, Castro e Ferrari (2016) comentam que a classi�cação de textos tem como objetivo rotular um documento de acordo com suas características ou por sentimentos. A análise de sentimento na mineração de dados rotula opiniões e sentimentos contidos no texto, ou seja, se a opinião dada no texto é positiva, negativa ou neutra. Lembrando que a mineração de dados é constituída por diversas atividades de análise e de descobrimento do conhecimento em uma base de dados relacional ou pré-preparada. Estas atividades, também chamadas de funcionalidades, iniciam com a preparação da base e com a análise descritiva (área de investigação dos dados – procura de fatos relevantes através de uma abordagem visual). Após são realizadas diversas outras funcionalidades como a análise de grupos (clustering), classi�cação (predição discreta) e estimação (predição contínua). Nas tarefas de predição é utilizado um modelo para avaliar a classe de um objeto não rotulado ou para estimar um valor de um ou mais atributos de dados objeto. Para Castro e Ferrari (2016, p. 156), o uso dos modelos preditivos é muito intenso na automação de processo de tomada de decisão, como na classi�cação de objetos, controle de qualidade de processos, entre outros. Sempre que houver um conjunto de objetos que possam ser rotulados (como na análise descritiva ou na clusterização) e usados para treinar um modelo de forma supervisionada, é possível projetar um modelo preditivo. Um exemplo de predição discreta e predição contínua é dada pelo objeto de aprendizagem abaixo, de acordo com Castro e Ferrari (2016): Predição discreta (classi�cação): um exemplo prático de seu uso é o caso de uma �nanceira de cartão de crédito que irá realizar a concessão ou não de crédito. Esta tarefa é realizada através de árvores de decisão ou por regras de classi�cação. Predição contínua (estimação): um exemplo prático de seu uso é quando uma �nanceira de cartão de crédito que realizará a concessão de crédito necessita saber o quanto de limite de crédito deverá conceder. O valor da concessão é relativo ao per�l do solicitante. Esta tarefa de análise do per�l por estimação é realizada através de algoritmos de redes neurais arti�ciais. Tanto a predição discreta como a contínua possuem o mesmo objetivo de encontrar um modelo de predição satisfatório, que irá demonstrar uma capacidade de generalização (aprendizagem). Em um momento anterior do nosso estudo, já visualizamos o conceito e exemplo do processo de classi�cação (predição discreta) através do algoritmo árvore de decisão. A predição contínua possui muitas características da predição discreta (classi�cação), contudo tem como esforço a predição de valores contínuos de uma variável (estimação), a qual é do tipo aprendizagem supervisionada ou paradigma de aprendizagem. Para Castro e Ferrari (2016, p. 200): [...] à tarefa de predizer um valor contínuo de uma variável dá-se o nome de estimação, a qual também é do tipo aprendizagem supervisionada e, portanto, requer pares entrada-saída desejada para a construção do estimador e possui muitas características e processo em comum, como a classi�cação. Este processo equivalente se refere à preparação da base de dados, à separação dos dados em treinamento e teste, à de�nição de critérios de parada do algoritmo e ao treinamento e testes. Por exemplo, os aplicativos de celulares e páginas web possuem chats de conversação entre humanos e bots assistentes. O bots ou tutores assistentes ajudam o usuário na compra ou venda de um produto, orientações �nanceiras, explicações sobre serviços, dentre outros. A Figura 4.5 ilustra um exemplo de sistema tutor inteligente usando classi�cação de textos. O usuário acessa um aplicativo ou chat de conversação com uma máquina inteligente. O texto inserido pelo usuário é tratado e classi�cado por técnicas de mineração de dados (classi�cação ou estimação). Após são sugeridas informações de uma base de conhecimento treinada. Caso a pergunta não esteja rotulada, a base do sistema pode ser ajustada através de redes neurais. Vimos como a linguagem de processamento natural se integra com as demais tecnologias de Inteligência Arti�cial, como a robótica, visão computacional, tutores inteligentes e com as técnicas de mineração de dados. Figura 4.5 - Tutor inteligente utilizado para aprender e ensinar Fonte: Paisan Homhuan / 123RF. Compreenderemos agora os algoritmos evolutivos (AE) inspirados na evolução biológica. praticar Vamos Praticar Mataric (2014) comenta que o processamento de informação entre máquinas e humanos necessita de sinais complexos antes mesmo da realização do processamento da linguagem natural, como, por exemplo, a fala, a proxêmica e a visão computacional. Contudo, avanços na IA estão acontecendo na atualidade com relação ao processamento da linguagem natural. Com relação a este contexto, é possível a�rmar que: a) Os robôs estão se tornandocada vez mais automatizados do que inteligentes. b) Os robôs estão se aperfeiçoando somente nos laboratórios e indústrias. c) Os robôs estão se tornando mais inteligentes. d) Os sistemas bots ou robôs da web ou tutores inteligentes têm, de um modo geral, uma maior facilidade com a fala do que a escrita. e) Atualmente, as máquinas e humanos estão conversando comumente de maneira pessoal, através de diálogos e conversas no dia a dia. Os algoritmos evolutivos ou populacionais são algoritmos de busca cujo método modelam a vida arti�cial e sua evolução a partir do comportamento de sistemas vivos. “São baseados em uma gama de mecanismos da evolução biológica e [...] [servem] para originar os conceitos [...] [de] algoritmos genéticos e da programação genética” (PONTES, 2011, p. 45). Coppin (2013) comenta que as técnicas de Inteligência Arti�cial podem modelar a vida arti�cial e fornecer maneiras em que os sistemas podem se adaptar, ou seja, evoluir a condições de mudanças. E, da mesma forma que a Inteligência Arti�cial modela a forma com que o cérebro humano funciona, a vida arti�cial, através de técnicas e algoritmos, também modela o funcionamento da vida. Para compreendermos como estes algoritmos modelam os processos biológicos evolutivos, veremos agora o conceito da teoria da evolução e dos algoritmos genéticos. Algoritmos EvolutivosAlgoritmos Evolutivos Paralelo: Teoria da Evolução e Algoritmos Genéticos Para compreendermos o processo de evolução biológica para o processo de evolução arti�cial, é necessário compreender os conceitos de comportamento emergente, seleção cumulativa e evolução das espécies. A vida arti�cial se baseia em um conceito denominado comportamento emergente . O comportamento emergente signi�ca que os “indivíduos bem sucedidos” sobrevivem e se reproduzem. Se isto é verdade, então estes indivíduos passarão sua estrutura genética para suas proles. Se este princípio é possível, é também possível construir métodos em computadores a partir deste. Um conceito também importante é o da seleção cumulativa das espécies. Coppin (2013, p. XIX) explica que: a seleção cumulativa signi�ca que a cada etapa as entidades existentes ou itens de dados “reproduzem-se” para formar novas entidades. Em vez de cada etapa ser baseada em regras simples que de�nam como um estado irá mudar para o próximo, o próximo estado será baseado nas melhores características do estado anterior e, em geral, será um aprimoramento do estado anterior. Charles Robert Darwin (1809-1882), ilustrado na Figura 4.6, naturalista, biólogo e geólogo inglês, formulou a teoria da evolução das espécies. Nesta teoria, apresenta o conceito de seleção natural, cujo processo seleciona os indivíduos que se reproduzirão, e estes, por conseguirem se reproduzir, são os mais aptos e bem adaptados ao ambiente onde vivem. Também foi o primeiro a observar o fenômeno de coevolução, ou seja, quando a evolução de duas ou mais espécies é entrelaçada através da seleção cumulativa. Para Coppin (2013, p. XIX), “coevolução é um elemento essencial para processos evolucionários biológicos e também pode ser vantajosa para algoritmos genéticos e outros processos que envolvem evolução arti�cial”. Figura 4.6 - Charles Robert Darwin (1809-1882) Fonte: Patrick Guenette / 123RF. Silva et al . (2019, p. 220) comentam que o algoritmo genético “é uma das técnicas utilizadas pela Inteligência Arti�cial para encontrar soluções aos problemas que envolvem busca e otimização, bem como faz parte dos algoritmos evolutivos que se inspiram na teoria da evolução [...]”. Os algoritmos genéticos utilizam conceitos da teoria da evolução, como mutação, seleção natural, hereditariedade e recombinação ou coevolução (responsável pela mistura entre os genes). Na técnica evolutiva genética arti�cial, utiliza-se a representação dos cromossomos na forma de cadeia de bits. A Figura 4.7 ilustra os cromossomos biológicos de uma célula. Cada bit da cadeia é considerado um gene, ou seja, uma parte da estrutura do DNA do cromossomo (partes coloridas do cromossomo ilustradas na �gura 4.5). Para Coppin (2013, p. 335), “cada gene do cromossomo representa uma faceta da composição genética daquele indivíduo”, ou seja, pode representar alguma característica do indivíduo. Arti�cialmente, seria como representar a solução de um determinado problema na forma binária. Figura 4.7 - Cromossomos Fonte: Milosh Kojadinovich / 123RF. “Já um conjunto de cromossomos [Figura 4.5] forma uma população, na qual cada uma delas representa um indivíduo, sendo uma solução completa ou uma classi�cação” (SILVA et al ., 2019, p.220). Um algoritmo genético de Inteligência Arti�cial funciona como um algoritmo de busca, em que um conjunto de cromossomos (população) é selecionado e signi�ca uma determinada solução. À medida que essa população sofre uma mutação ou coevolução (recombinação), gera-se uma nova população que servirá de entrada para um novo algoritmo. A estrutura do algoritmo genético, segundo Coppin (2013), seria dada pelos seguintes passos: 1. O método inicia com uma população aleatória de cromossomos, mas com uma quantidade já determinada. Esta população é considerada a primeira geração. Um cromossomo seria dado pela sequência binária, por exemplo, dois cromossomos (uma população): X1 = 110100110001001 e X2 = 010101000111101. A Figura 4.8 ilustra a cadeia de DNA de um cromossomo, que é um conjunto ou sequência de bits, em que cada bit (0 ou 1) é um gene, ou seja, a unidade fundamental da hereditariedade. Em computação, representa a unidade fundamental de registro de informação. Figura 4.8 - DNA binário Fonte: Ktsdesign / 123RF. 2. Realizar a aptidão de cada cromossomo, caso não atenda a um critério de parada do algoritmo. O critério pode ser um número limite de gerações, ou quando um nível de aptidão alto é encontrado, ou ainda quando a solução foi encontrada. A aptidão pode ser uma função objetivo ou de otimização. É uma métrica ou medida de aptidão em que o genótipo (informação genética) atende determinado critério. Por exemplo, a métrica de classi�cação de números de um algoritmo seria a quantidade de números classi�cados corretamente. 3. Selecionar o cromossomo de aptidão calculada. 4. Aplicar cruzamento e mutação gerando uma nova população (evolução). 4.1 Como exemplo de cruzamento, divide-se o cromossomo em duas partes, sendo este o processo mais comum, podendo ser dividido em mais partes. Por exemplo, escolhe-se um ponto de cruzamento qualquer entre o sétimo e oitavo gene. X1 = 1101001 : 10001001 X2 = 0101010 : 00111101 4.2 Realiza-se o cruzamento (recombinação), imitação do processo biológico de reprodução, gerando uma nova população: X3 = 110100100111101 X4 = 010101010001001 A mutação seria a reversão de um bit (gene) no cromossomo, que deve ser de probabilidade baixa, isto devido às mutações em uma população ocorrem para proporcionar uma maior diversidade genética. 5. Retornar à etapa 2. Portanto, podemos resumir as etapas do algoritmo genético: na etapa 1, temos a seleção dos cromossomos de uma população; na etapa 2, é realizado o cálculo de aptidão; na etapa 3 e 4, é realizada a reprodução através do cruzamento e mutação, gerando assim uma nova população. A etapa 5 retorna à etapa 2 para avaliar as aptidões. Os melhores indivíduos serão selecionados e estes conseguirão se reproduzir, consequência do conceito da seleção cumulativa e do comportamento emergente da teoria da evolução. Agora vamos realizar um exemplo de aplicação do algoritmo genético através das 5 etapas apresentadas, de maneira simples para o seu entendimento: Digamos que precisamos resolver um problema de uma função com o objetivo de encontrar a maximização de uma função do tipo f(x) = x 〖^2〗+1 , dados os valores 10, 100, 40, 20. Passo 1: gerar uma população aleatória de cromossomos , iniciamos com seis cromossomos, sendo esta a primeira geração: CR1 = 1000, CR2 = 0010, CR3 = 1111, CR4 = 0001 Passo 2:realizar a aptidão de cada cromossomo . Para isso é realizada uma conversão binária para decimal (no Excel você poderá utilizar à fórmula = BINDEC (valor binário), e na sequência calcular a função f(x) = x〖^2〗+1 que gera números inteiros. A aptidão estará com um valor entre 2 e 226, em que 2 será o menos apto e 226 o mais apto. A Tabela 4.1 ilustra os cromossomos, genes (cadeia de bits), a conversão para valor inteiro, a aplicação da função objetivo e a taxa de aptidão. Tabela 4.1 - Cálculos de aptidão Fonte: Adaptado de Coppin (2013, p. 340). O terceiro passo é realizar a seleção do cromossomo de aptidão calculada , neste caso o CR1 e CR3 que possuem maiores aptidões. O quarto passo é aplicar cruzamento , gerando uma nova população (evolução): CR1= 10 | 00 e CR3 = 11 | 11 Gerando assim os cromossomos CR5 e CR6: CR5 = 1011 CR6 = 1100 Após a divisão cromossômica, retorna-se ao passo 2, incluindo os novos cromossomos CR5 e CR6 e retirando o cromossomo de menor aptidão, no caso do primeiro ciclo, o CR4. cromossomos genes valor inteiro f(x) taxa de aptidão CR1 1000 8 65 28,76% CR2 0010 2 5 2,21% CR3 1111 15 226 100% CR4 0001 1 2 0,88% praticar Vamos Praticar Na técnica evolutiva genética arti�cial, utiliza-se a representação dos cromossomos na forma de cadeia de bits. Já os cromossomos na forma biológica são sequências de DNA que carregam as características do ser humano. Neste sentido, marque a alternativa correta que representa biologicamente cada bit da cadeia de bits: a) Uma célula. b) Um gene. c) Uma cadeia de DNA. d) Cromossomo. e) Uma mutação. Vejamos agora um laboratório relativo aos algoritmos evolutivos ilustrando alguns cruzamentos genéticos que o algoritmo pode realizar. Vimos anteriormente que um cruzamento de um ponto único divide um cromossomo (sequência de bits) em duas partes, sendo esta, segundo Coppin (2013), a forma mais comum. Contudo, é possível haver duas ou mais posições divididas do cromossomo, como ilustra a Tabela 4.2. O gene sombreado é do pai 1, já o gene não sombreado é do pai 2. Dois pontos são selecionados para a divisão cromossômica. A seção do meio do cromossomo é trocada. Algoritmos Evolutivos -Algoritmos Evolutivos - Cruzamentos deCruzamentos de CromossomosCromossomos genes do pai 1 após cruzamento 10 0110 001 10 1100 001 01 1100 110 01 0110 110 genes do pai 2 Tabela 4.2 - Diagrama do cruzamento entre cromossomos em dois pontos Fonte: Coppin (2013, p. 337). Vejamos agora um exemplo, adaptado de Coppin (2013), de modelagem aplicada ao método do algoritmo genético para encontrar o valor máximo de uma função. Laboratório: Modelagem de um exemplo de Ferramentas Para demonstrar de maneira simples o uso dos algoritmos genéticos, vamos adaptar um exemplo de Coppin (2013, p. 339-342) para encontrar o valor máximo de uma função seno. Para lembrarmos de uma curva seno, a Figura 4.9 ilustra a função contínua f(x) = sen(x), para valores de x = 0, /2, , 3 /2 e 2 . π π π Em nosso exemplo, teremos valores para x na faixa de 1 a 15, onde cada cromossomo representa um valor de x. A Figura 4.10 ilustra um grá�co descontínuo da função seno com os valores de 1 a 15. Figura 4.10 - Grá�co descontínuo da função seno de valores de 1 a 15 Fonte: Coppin (2013, p. 339). O primeiro passo é gerar uma população aleatória de cromossomos. Iniciamos com seis cromossomos, sendo esta a primeira geração: CR1 = 1001, CR2 = 0011, CR3 = 1010, CR4 = 0101, CR5 = 0100, CR6 = 0001. O segundo passo é calcular a aptidão dos cromossomos. Para isso é realizada uma conversão binária para decimal e na sequência calcular a função f(x) para inteiros. A aptidão estará entre um valor entre 0 e 100, onde 0 será o menos Figura 4.9 - Curva contínua da função seno. Fonte: Patrick Guenette / 123RF. apto e 100 o mais apto. A função f(x) = sen(x) gera números entre 1 e -1, como ilustrado no grá�co da Figura 4.10. Assim, estabelecemos critérios em que f(x) = 1 será 100 para os mais aptos e f(x) = -1 será 0 para os menos aptos. Para o meio termo da aptidão, será o termo f(x) = 0 dado pelo valor 50. A função de aptidão ou função objetivo é dada por f(x) = 50 (f(x) + 1), substituindo por f(x) = sen(x) temos que f(x) = 50 (sen (x) + 1). A Tabela 4.3 apresenta os cálculos de aptidão para a primeira geração da população aleatória informada. cromossomos genes valor inteiro f(x) aptidão f’(x) taxa de aptidão CR1 1001 9 0,41 70,61 46,3% CR2 0011 3 0,14 57,06 37,4% CR3 1010 10 -0,53 22,80 14,9% CR4 0101 5 -0,96 2,05 1,34% CR5 0100 4 -0,75 12,15 7,97% CR6 0001 1 0,84 92,07 60,37% Tabela 4.3 - Cálculos de aptidão Fonte: Adaptado de Coppin (2013, p. 340). É possível observar nos cálculos de aptidão da Tabela 4.3, onde as taxas de aptidão dos cinco cromossomos são dadas pela taxa de CR1 = 46,3%, CR2 = 37,4%, CR3 = 14,9%, CR4 = 1,34% e CR5 = 7,97% e CR6 = 60,37%, em que os de maior aptidão seriam os cromossomos CR6, CR1 e CR2 da primeira geração, sendo então selecionados para a reprodução. Portanto, os cromossomos CR4 e CR5 são os que terão menos chances de se reproduzir. No terceiro passo é necessário realizarmos a seleção dos cromossomos para a próxima geração. Para isso, deve-se gerar um número aleatório (seleção de um pai) entre 0 a 100. O número aleatório seria o número 66,7, ou seja, será selecionado o cromossomo CR1 - que se aproxima desse valor de aptidão 70,61 (próximo para mais). Este será o primeiro pai a realizar a reprodução. O segundo valor aleatório será o parceiro do CR1, cujo valor gerado é 56,8, ou seja, será selecionado o cromossomo CR2 de aptidão 57,6 - que se aproxima deste valor (próximo para mais). No quarto passo é necessário realizar as combinações necessárias para a reprodução (cruzamento) e geração da prole. Para isso, realiza-se a divisão de maneira aleatória dos cromossomos CR1 e CR2 e posteriormente realiza-se o cruzamento dos mesmos, gerando os cromossomos CR6 e CR7, como mostra a divisão e cruzamento genético-binário abaixo. As extremidades da esquerda do cromossomo dividido são trocadas entre os cromossomos pela extremidade da direita. CR1 = 10 | 01 e CR2 = 00 | 11 Cruzando e gerando os cromossomos CR6 e CR7: CR6 = 1011 CR7 = 0001 Assim, são realizados os mesmos procedimentos para os demais cromossomos (seleção de maneira aleatória, divisão de maneira aleatória e cruzamento genético). No nosso exemplo, o cromossomo CR4 tem poucas chances de reproduzir e não participa da seleção, que depende da faixa aleatória de números a serem gerados. praticar Vamos Praticar Um algoritmo genético é um modelo de evolução de vida arti�cial, inspirado na evolução das espécies biológicas. A reprodução arti�cial, assim como a biológica, se utiliza dos cromossomos mais aptos. Após realizado o cálculo de aptidão, o próximo passo do algoritmo seria realizar: a) A divisão do cromossomo. b) A mutação do cromossomo. c) Combinação de genes. d) Uma coevolução da espécie. e) A seleção do cromossomo mais apto. Veremos agora um tópico avançado relacionado ao aprofundamento do aprendizado máquina indutivo, mostrando uma visão ampla de tarefas preditivas e descritivas, bem como a supervisão e não-supervisão destes aprendizados. Através deste laboratório você poderá compreender melhor como é possível realizar um back-end (suporte) após um processamento da linguagem natural nas bases de dados através da mineração de dados. O aprendizado máquina tem sido amplamente utilizado em diversas tarefas que podem ser organizadas em diferentes critérios, um deles refere-se ao “paradigma de aprendizado”, paradigma este que irá liderar a tarefa. De acordo com os critérios, as tarefas de aprendizado podem ser preditivas ou descritivas. As tarefas preditivas estão relacionadas à hipótese por indução, cujo objetivo é encontrar uma função (modelo ou hipótese) que, a partir de dados de treinamento, possa ser utilizada para prever um rótulo ou valor que caracterize um exemplocom base nos valores de entrada. Os algoritmos utilizados em modelos preditivos seguem o paradigma de aprendizado supervisionado. O termo supervisionado vem da simulação de um supervisor externo. Já em tarefas de descrição, o objetivo é explorar ou descrever um conjunto de dados. Os algoritmos dessa tarefa descritiva não utilizam o atributo saída, por isso seguem o paradigma de aprendizado não- supervisionado. Nas tarefas descritivas de agrupamento de dados, tem o objetivo de encontrar objetos semelhantes ao do conjunto de dados ou Tópico AvançadosTópico Avançados encontrar regras de associação que relacionam um grupo de atributos a outro grupo de atributos. No aprendizado supervisionado temos a classi�cação, denominada de predição discreta, e a regressão, denominada de predição contínua. Já o aprendizado não-supervisionado é dividido em agrupamento (dados agrupados por similaridade), associação (encontra-se padrões frequentes entre os atributos de um conjunto de dados) e sumarização (descoberta de descrição simples e compacta para um conjunto de dados). Castro e Ferrari (2016, p. 200) comentam que “a tarefa de classi�cação pode ser vista como um caso particular da estimação, no qual a saída é discreta (discretização). Assim todos os algoritmos de estimação podem ser usados na classi�cação, mas a recíproca não é verdadeira”. Veremos agora os paradigmas de aprendizado de regressão e associação, especi�camente do paradigma de aprendizado supervisionado-preditivo por regressão e do aprendizado não supervisionado-descritivo por associação. Técnicas Avançados de IA Dentro das técnicas de mineração de dados existem dois conceitos importantes para as tarefas de aprendizagem indutiva de uma base de dados, a regressão (estimação) e associação. Veremos detalhes sobre estas técnicas. Regressão ou Estimação Um conceito importante na estimação contínua é o da regressão e redes neurais. Castro e Ferrari (2016) comentam que tal conceituação é direcionada nos modelos conexionistas, ou seja, os algoritmos relacionados às redes neurais, funções (regressão linear) e probabilísticos. A regressão é uma modelagem : A regressão modela a relação entre uma ou mais variáveis de resposta (variáveis de saída) e os preditores (variáveis de controles). Estima uma função a partir de pares de entrada-saída. Se há mais de uma variável de resposta, a regressão é chamada de multivariada. A regressão linear tem como objetivo estimar um valor de uma variável y que de início não foi possível realizar, dado um conjunto de valores de uma variável x. A regressão é um modelo estatístico : Os modelos de regressão linear são métodos estatísticos capazes de modelar a relação entre uma variável dependente e uma ou mais variáveis independentes. O modelo é uma regressão linear simples, caso haja uma única variável independente. A técnica de regressão determina a intensidade de correlação entre as variáveis dos seus dados. É utilizada para prever valores futuros a partir de dados históricos, supondo uma relação de causa e efeito entre as variáveis. A regressão linear resulta em uma concentração próxima a uma reta. A regressão pode ser não-linear (polinomial) : A relação entre as variáveis dependentes e independentes pode ser não linear e tem a forma de um polinômio, ou seja, não está concentrada próximo de uma reta. O processo de estimação ou regressão é similar à classi�cação, contudo, é utilizado quando o registro ou variável da base analisada é identi�cada por um valor numérico (medidas métricas) e não por um valor categórico (medidas não-métricas). As medidas métricas (quantitativas) estão relacionadas à mensuração de razão/proporção e de intervalo. Já as medidas não métricas estão relacionadas aos valores nominais (rotulagem) e ordinais (categorias que podem ser ordenadas). A variável qualitativa ou categórica (não métricas) está relacionada a um número de categorias mutuamente exclusivas, ou seja, se pertence a uma categoria, não irá pertencer a outra categoria. Um exemplo seria um segmento de clientes que utiliza determinado produto, cuja classe seria “utiliza o produto” e outra de “não utiliza produto”. Este é o caso da análise discreta e dos agrupamentos (rotulagem e classi�cações ordenadas). Exemplos destes seriam agrupamentos nominais, como sexo, religião, pro�ssão etc. E os agrupamentos ordinais como categorias que podem ser: carreiras que envolvem titulação, posto ou hierarquia. Já as variáveis quantitativas ou métricas são representadas por números, como, por exemplo: quantidade de clientes, veículos, salário etc. Podem ser divididas em Discretas (predição discreta, classi�cação) e Contínuas (predição contínua, estimação). Na Figura 4.11 abaixo é possível observar a classi�cação e características das variáveis quantitativas e qualitativas na mineração de dados. Figura 4.11 - Variáveis quantitativas e qualitativas na mineração de dados Fonte: Elaborada pelo autor. Dentro ainda das variáveis quantitativas, a variável contínua usada nas predições contínuas (estimação) assume valores in�nitos dentro de um intervalo in�nito. Um exemplo seria uma determinada pontuação dos candidatos em um concurso, de maneira quase in�nita, dentro de um intervalo �nito, nesse caso, uma pontuação máxima de 100 pontos. Com relação às variáveis qualitativas, um exemplo deste tipo de variável seria a criação de rótulos usados na identi�cação do per�l de investidores. Vimos também sobre a análise de grupos, que correspondem às variáveis ordinais, em que os dados são distribuídos em categorias mutuamente exclusivas. Um exemplo seria a aplicação de questionários de satisfação de um determinado produto ou serviço. Exempli�cando as variáveis discretas e contínuas, temos: variáveis discretas : só podem assumir um número �nito de diferentes valores dentro de um intervalo �nito. Um exemplo de variável discreta é o número de funcionários de um setor, departamento ou de toda uma empresa, ou o número de sócios de um clube de campo etc. variáveis contínuas : podem assumir um número in�nito de diferentes valores dentro de um intervalo �nito. Exemplos de variáveis contínuas podem ser o preço de produtos e serviços, o peso das pessoas ou de produtos etc. Portanto, temos que a estimação é uma predição contínua que se utiliza de variáveis contínuas (valores in�nitos em um intervalo �nito), com o objetivo de encontrar um modelo de predição satisfatório e que irá demonstrar uma capacidade de generalização (aprendizagem). Esta aprendizagem é denominada “aprendizagem indutiva supervisionada por regressão”. Lembrando que a aprendizagem supervisionada é tarefa de divisão em agrupamento (dados agrupados por similaridade). Um exemplo típico do uso da técnica de mineração de dados por regressão (estimação) seria encontrar relações entre duas variáveis, ou seja, realizar uma determinada predição de uma das variáveis a partir de outra. Por exemplo, em uma base de dados existem informações de acadêmicos de uma faculdade a respeito de suas alturas e pesos. Contudo, algumas informações estão incompletas ou equivocadas em uma base relacionadas, como, por exemplo, o peso e altura dos acadêmicos. É possível os algoritmos de estimação predizerem o peso a partir de uma determinada altura, ou vice- versa. Em um grá�co de pesos x alturas, teríamos no eixo y os pesos (kg) e no eixo x as alturas (cm), como ilustra o grá�co da Figura 4.12 (diagrama de dispersão). Figura 4.12 - Grá�co de Pesos e Altura de acadêmicos de uma faculdade. Fonte: Elaborada pelo autor. É possível a partir dos dados da base referente ao grá�co 4.13 determinar por predição os pesos ou as alturas que não foram identi�cadas por falta de informação ou ajustes de dados. Isto é possível pois a relação entre as variáveis é linear e um resumo dos dados pode ser representado através de uma reta que passa entre os pontos, ajustando-os. Isto é feito através da regressão linear. A regressão linear é uma equação que permite,a partir de valores de determinadas variáveis, estimar o valor esperado. A partir da reta traçada é possível encontrar tal equação. No exemplo, a reta que estima valores é dada pela equação: , onde é a variável independente ou variável de previsão (pesos), é a variável dependente (alturas), é a variável intercepto ou interseção da linha no eixo y (reta laranja na Figura 4.12), e é a inclinação da reta. y = a + bx y x a b saiba mais Saiba mais Para saber mais sobre a aplicação da regressão linear, acesse o link do artigo “A aplicação do método de regressão linear simples na demanda de produtos sazonais: um estudo de caso. Acesso em: 30 jan. 2020. Fonte: Medeiros e Bianchi (2009, p. 35-53) ACESSAR Associação Vimos que a estimação é uma aprendizagem indutiva supervisionada por regressão. Contudo, a associação também é uma aprendizagem indutiva mas “não supervisionada”. A mineração de dados por associação tem como objetivo encontrar relações entre os atributos de um objeto. Estes seriam as suas características ou propriedades, como a cor, forma, valor, tamanho etc. Na mineração de dados por associação, é entendível que os objetos estão nas linhas e os atributos estão nas colunas de uma tabela. As bases de dados transacionais são ricas em atributos de um objeto e estão vinculadas às transações realizadas por algum processo ou atividade (registros de dados). O exemplo abaixo (Tabela 4.4) ilustra uma classe de funcionário com seus atributos (nome, endereço, departamento, atividade). Cada registro é uma transação de dados não rotulada, mas já organizada em uma tabela ou classe de objetos. A tabela abaixo apresenta os objetos e registros (conjunto de transações) pertencentes à classe “funcionário”. https://www.ime.usp.br/~salles/fatec/estatistica/trabalho/A%20aplica%C3%A7%C3%A3o%20do%20m%C3%A9todo%20da%20regress%C3%A3o%20linear%20simples%20na%20demanda%20de%20produtossazonais:%20um%20estudo%20de%20caso.pdf Contudo, é possível realizar relações entre os atributos de uma determinada classe com atributos de outra classe, denominada de “regras de associação”. Tabela 4.4 – Tabela de dados dos funcionários de uma empresa Fonte: Elaborada pelo autor. Para Castro e Ferrari (2016, p. 234): A mineração de regras de associação é uma técnica usada na construção de relações sob a forma de regras entre itens de uma base de dados transacional. Diferentemente do agrupamento, que busca relações de similaridade entre objetos, as regras de associação buscam relações entre os atributos dos objetos, ou seja, os itens que compõem a base. O objetivo é encontrar regras fortes de acordo com alguma medida do grau de interesse da regra. FUNCIONÁRIO Cod_Func Nome Endereço Cod_Dep Cod_atividade 1 01 Jose da Silva Rua 10 D1 101 2 02 Paulo de Andrade Rua dos Estados D2 100 3 03 João P. Siqueira Rua Maceió D1 101 4 10 Ricardo Alcântara Rua sem Número D2 101 5 11 Euzébio Queiroz Rua 2 D2 100 Importante compreendermos o conceito de transação. Vimos que uma “transação” pode ser um conjunto de registros armazenados (itens). A transação é uma execução temporária de um ou mais inputs, processamento ou outputs de dados, ou seja, entrada, processamento e saída de dados. Aqui, compreenderemos que uma transação é um conjunto de itens que foram processados e gravados. Contudo, em uma transação podem ser gravados nenhum, um ou diversos dados (itens) em uma tabela de dados. Já uma regra de associação é dada por X→Y (X relacionado a Y), na qual X e Y são conjuntos de itens, ou seja, duas transações X e Y. Para Castro e Ferrari (2016, p. 235): o signi�cado intuitivo de uma regra de associação é que as transações em uma base de dados que contém X também contém Y. Assim as regras de associação podem ser vistas como padrões descritivos que representam a probabilidade de que um conjunto de itens apareça em uma transação, dado que outro conjunto está presente. Devido a estas características de relação entre as classe e transações das bases transacionais, elas são também chamadas de bases de dados relacionais. Vejamos agora exemplos de ferramentas e cenários de aplicação da mineração de dados por regras de associação e regressão. Ferramentas de Cenários de Aplicação Abaixo elencamos exemplos, ferramentas e vantagens da busca por “regras de associação” em uma base transacional relacional. Extração do comportamento de clientes : Os dados em uma base de dados transacionais quando relacionados possuem um valor para os negócios. E, quando extraídos e relacionados, é possível analisar o comportamento de compras de um cliente. A partir desta análise é possível desenvolver promoções, marketing, fortalecimento por �delização e diversas outras ações. Vendas casadas : As vendas casadas são exemplos de relações que podem ser encontradas em uma base de dados. Por exemplo, na descoberta por regras de associação em uma base transacional, em uma tabela de pedidos de venda ou de notas �scais, se tem encontrado que quem compra camisas sociais possivelmente comprará também uma gravata, ou quem compra leite, compra pão. Para Castro e Ferrari (2016, p. 236), “as regras de associação não são diferentes das regras de classi�cação, exceto pelo fato que elas podem predizer qualquer atributo, não apenas a classe. Esta característica lhes dá a liberdade de predizer combinações de atributos também”. Vejamos agora o processo de mineração de dados relacionado à busca por “regras de associação”, que é denominada de mineração de regras de associação, representado na Figura 4.13 abaixo. Em um processo de mineração de regras de associação, o processo de preparação da base de dados transacional-relacional, além das atividades comuns de preparação, como limpeza, integração, redução, transformação, e discretização, pode também necessitar de uma transformação em uma base binária (0 e 1). Há uma segunda etapa, denominada de geração do conjunto de itens frequentes, que são, segundo Castro e Ferrari (2016, p. 240), “aqueles que satisfazem algum critério mínimo de frequência, por exemplo, itens que aparecem ao menos em determinado número de transações”. É nesta etapa que é realizada a construção de regras de associação. Na terceira etapa, é realizada a mineração das regras de associação utilizando-se apenas os itens frequentes da base, através de inúmeras combinações possíveis dos itens frequentes. Na última etapa, a de avaliação, as regras de associação são avaliadas e se foram utilizadas no primeiro conjunto de critérios de avaliação (primeiro ciclo do processo de mineração) são satisfatórias. Antes de vermos sobre os algoritmos de mineração de regras de associação, é necessário compreender dois conceitos centrais em mineração: suporte e con�ança. O primeiro conceito se refere ao suporte, ou também denominado de cobertura de uma regra de associação, “é o número de transações para as quais ela faz a predição correta. Também pode ser entendida com a utilidade de uma regra” (CASTRO; FERRARI, 2016, p. 236). Figura 4.13 - Processo de mineração de dados Fonte: Adaptado de Castro e Ferrari (2016, p. 157). O segundo conceito se refere à con�ança ou acurácia de uma regra. Segundo Castro e Ferrari (2016, p. 236), “é o número de transações que ela prediz corretamente, proporcionalmente às transações para as quais ela se aplica. Também pode ser entendida como a certeza de uma dada regra”. Um dos métodos mais conhecidos para a mineração de regras de associação é o método Apriori, que utiliza a técnica “busca em profundidade”. Nesta técnica os itens candidatos “não frequentes” são eliminados (passo 1). Posteriormente, toda a base de dados é rastreada e a partir dos conjuntos de itens frequentes são geradas regras (passo 2). O Apriori, no signi�cado da palavra, faz referência a um princípio anterior à experiência, ou “aquilo que pode vir antes”. Em nosso estudo é um nome dado a um algoritmo clássico de Mineração de Regras de Associação. Outros algoritmos, tais como o GSP,DHP, Partition, DIC, Eclat, MaxEclat, Clique e MaxClique, foram inspirados no funcionamento do Apriori (GOLDSCHMIDT; PASSOS, 2015). Podemos então imaginar que o Apriori faz referência a um princípio (regras de associação), antes da experiência (dados transacionais, transações). O Apriori utiliza um algoritmo de geração de conjunto de itens candidatos do algoritmo, cuja regra é de�nida como: se um conjunto de itens é frequente, então todos os seus subitens também são frequentes. E o inverso também é verdadeiro para os itens “não frequentes”. Assim, os subgrafos (divisão de um nó de uma árvore) contendo este conjunto “não frequentes” de itens poderão ser podados. Um exemplo de aplicação do algoritmo Apriori é dado por uma lista de itens de produtos vendidos, como mostra a Tabela 4.5 abaixo. Essa lista contém as transações de vendas (1001, 2001, etc.), que também podem ser denominadas de pedido de venda, que contêm os itens da venda (itens do pedido) e o código do produto vendido. Tabela 4.5 - Tabela de vendas de produtos Fonte: Elaborada pelo autor. Executando o processo de mineração por regras de associação (Tabela 4.5), posteriormente se criam as regras de associação em que X e Y armazenam os códigos dos produtos de valor inteiro e não nulo. Cria-se uma variável frequência X e frequência Y, onde são armazenadas as frequências de X com relação ao total de vendas e frequência de X com relação a Y. Após, é executado o algoritmo, em que um possível resultado seria dado pela Tabela 4.6: Tabela de vendas Transação (pedido) Código do produto 1001 200 1001 400 1001 500 2001 100 2001 300 2001 400 2001 500 ... ... Tabela 4.6 – Resultado das regras de associação Fonte: Elaborada pelo autor. Conclui-se que foi vendido 20% do produto de código 200 do total das vendas, contudo, toda vez que se vende o produto de código 200, vende-se o produto de código 400, ou seja, 100% (20/20). Conclui-se também que foi vendido 50% do produto de código 400 do total das vendas, contudo, toda vez que se vende o produto de código 400, vende- se o produto de código 500, ou seja, 60% (30/50). Além disso, conclui-se que foi vendido 50% do produto de código 500 do total das vendas, contudo, toda vez que se vende o produto de código 500, vende- se o produto de código 300, ou seja, 60% (30/50). A regra da associação dos conjuntos de itens (transações) X está para o conjunto de itens Y, ou seja, X relacionada a Y (X→Y). É possível agora acrescentar o processo de mineração de regras de associação, no diagrama da Figura 4.12, gerando o diagrama da Figura 4.14 abaixo. É possível observar no diagrama da Figura 4.14 que a mineração por “regras de associação” se enquadra nas variáveis do tipo quantitativa discreta, pois estas tarefas estão relacionadas com a frequência das relações entre os atributos dos objetos, ou itens de uma transação. É utiliza como base da Produto X Produto Y Frequência de X Frequência de X com relação a Y 200 400 20 20 400 500 50 30 500 300 50 30 predição a caracterização dos atributos dos itens de uma transação e estes são relacionados com outros itens da transação. Portanto, as regras de associação são consideradas padrões descritivos, representando as probabilidades que aparecem em uma transação, dado que outro conjunto está presente (CASTRO; FERRARI, 2016). Contudo, a mineração por regras de associação possui as mesmas regras da classi�cação, mas predizem algo sobre as relações (predição discreta). Na mineração por classi�cação são utilizadas regras determinadas para encontrar a descoberta de conhecimento, já na associação são relacionadas as características de atributos das transações para encontrar regras de associação, que predizem algum conhecimento da base de dados. Uma aplicação bem acentuada da mineração de regras de associação é a descoberta de conhecimento na Web. A Web é atualmente a maior fonte de informação digital disponível e de quantidade de informação armazenada nas bases de dados transacionais. Com o aumento das transações comerciais na Web (e-commerce) e o desenvolvimento de tecnologia da “web Semântica” e agentes da informação, estimulou-se o desenvolvimento de ferramentas automáticas para a obtenção de informação, principalmente com relação às técnicas de mineração de dados, especi�camente denominada de mineração de dados na Web. A mineração na Web pode estar relacionada a formas diferentes de mineração, tais como: a mineração do uso na Web, mineração do conteúdo Figura 4.14 - Diagrama referente às diversas minerações de dados enquadradas em variáveis quantitativas e qualitativas. Fonte: Adaptado de Castro e Ferrari (2016, p. 157). da Web e mineração da estrutura da Web. Vejamos estes três conceitos. Mineração do conteúdo Web: O conteúdo minerado na Web abrange as ferramentas que afetam a recuperação inteligente de informações, como os algoritmos de busca (buscadores), garantindo uma mineração da informação desejada mais e�ciente. Estas ferramentas podem fazer uso de agentes inteligentes ou do uso de conceitos baseados em banco de dados. Mineração do uso Web: Está relacionada com a descoberta automática de padrões de acesso dos usuários que disponibilizam informações na rede de computadores. Através do tráfego ou da forma de utilização pelo visitante, durante as inúmeras ações no sítio eletrônico é possível identi�car o comportamento dos usuários. Mineração da Estrutura da Web: Como toda página Web possui uma estrutura de hipertextos (links entre documentos e páginas web), esta tarefa de mineração está relacionada aos vínculos de hipertexto que liga os documentos ou páginas web em qualquer lugar do mundo. Vimos que a tarefa de mineração de regras de associação é primordial para encontrarmos relações entre as transações que ocorrem diariamente nas bases transacionais, como em transações de compras, vendas, �nanceiras, produtivas e outras. Podemos chegar à conclusão que a mineração de dados é um amplo campo da busca na descoberta do conhecimento (KDD – knowledge discovery in databases ), tanto nas áreas de predição discreta, contínua, análise discreta e agrupamento. praticar Vamos Praticar A mineração de dados é uma técnica de busca de padrões conhecidos e desconhecidos. Conhecidos pois já foram classi�cados, e quando a mineração classi�ca novos padrões, há aprendizagem. Existem várias técnicas para obter aprendizagem, como a de predição ou regras de associação. Exemplos de aplicação da técnica de mineração de dados de predição ou regras de associação seriam: a) Pontuação de concursos públicos. b) Rótulos utilizados para identi�car o per�l de investidores. c) Extração do comportamento de clientes de uma base de dados. d) Questionários de satisfação. e) Números de candidatos inscritos em um concurso. indicações Material Complementar FILME Nome : Ex_Machina Ano : 2015 Comentário : O �lme levanta diversas questões éticas sobre o uso da tecnologia inteligente através de uma trama entre uma humanoide chamada Ada, um programador (Caleb) e o diretor (Nathan) de uma empresa de motor de busca. O �lme foca também no teste de Turing com o personagem Caleb junto ao robô, e trata também sobre o uso de expressões corporais de usuários utilizadas no humanoide Ada. Para conhecer mais sobre o �lme, assista ao seu trailer o�cial legendado disponível. Acesso em: 30 jan.2020. TRA ILER LIVRO Nome do livro : Introdução à Robótica Editora : Editora Unesp Autor : Maja J. Mataric Comentário : uma ótima leitura complementar sobre a robótica aplicada, ou seja, o uso da automação e controle até a aprendizagem máquina a partir dos algoritmos de mineração aplicados na robótica de serviços, humanoides assistivos, robôs tutores, robótica espacial e outras aplicações. conclusão Conclusão Chegamos ao �nal de nosso estudo e compreendemos que as técnicas da IA de processamento da linguagem natural, algoritmos genéticos e dos paradigmas de aprendizado indutivo estãotendo grandes avanços a partir de suas integrações. Os robôs já estão tendo capacidades de se comunicar, ou seja, receber informações humanas, processar a linguagem natural, e falar como humanos, bem como se expressar de maneira humana. Os algoritmos genéticos aprendem através do conceito da evolução das espécies biológicas e trazem à vida arti�cial uma inspiração da vida biológica para a resolução de problemas. Já a aprendizagem indutiva, através das técnicas de regressão e associação, aprimora o aprendizado através de relações e métodos estatísticos em bases de dados. referências Referências Bibliográ�cas CASTRO, L. N.; FERRARI, D. G. Introdução à Mineração de Dados . São Paulo: Saraiva, 2016. COPPIN, B. Inteligência Arti�cial . Rio de Janeiro: LTC, 2013. FAVA, R. Trabalho, educação e inteligência arti�cial : a era do indivíduo. Porto Alegre: Penso, 2018. GOLDSCHMIDT, R.; PASSOS, E. Data Mining . São Paulo: Elsevier, 2015. HURWITZ, J.; NUGENT, A.; HALPER, F.; KAUFMAN, M. Big Data para leigos . Rio de Janeiro: Alta Books, 2016. MATARIC, M. J. Introdução à robótica . 1. ed. São Paulo: Editora Unesp/Blusher, 2014. MEDEIROS, F. S. B.; BIANCHI, R. C. A aplicação do método regressão linear simples na demanda de produtos sazonais: um estudo de caso. Revista Disciplinarum Scientia : Ciências Sociais Aplicadas, v. 5, n.1, p.35-53, 2009. MORAIS, I. S. et al . Introdução à Big Data e Internet das Coisas . Porto Alegre: SAGAH, 2018. PONTES, R. Inteligência Arti�cial nos Investimentos : adaptação, aprendizado e otimização. Rio de Janeiro: Clube de Autores, 2011. RUI, F. Trabalho, educação e inteligência arti�cial : a era do indivíduo versátil. Porto Alegre: Penso, 2018. SILVA, et. al . Inteligência Arti�cial . Porto Alegre: SAGH, 2019.
Compartilhar