Técnicas Básicas de Inteligência Artificial: Um Bom Começo

Técnicas Básicas de Inteligência Artificial: Um Bom Começo - tecnicas basicas IA - para-desenvolvedores, organizacao, inteligencia-artificial, digital-business, consumo, banner, aplicacoes -

Olá pessoal, muitas pessoas têm nos questionado sobre por onde começar ou o que estudar para entender mais sobre o advento da IA e esse turbilhão de tecnologias que estão surgindo todos os dias.

Para começar, a IA transpassa por diversas áreas do conhecimento visando como um dos objetivos a exploração e a análise, por meio automático ou semiautomático, de grandes quantidades de dados, a fim de descobrir padrões e regras. Estes padrões e regras são descritos muitas vezes como conhecimento invisível. Costumo chamar assim por estar envolto em um grande volume de dados e que se não fossem as técnicas inteligentes para procurar esta informação, ou conhecimento, ele não seria descoberto facilmente pela observação humana.

O conhecimento trazido à tona pela Inteligência Artificial agrega em suas etapas conhecimento de áreas como a Estatística. Técnicas como redes neurais, árvores de decisão, regras de associação, raciocínio baseado em casos e algoritmos genéticos são muito usados na construção deste processo inteligente. A estatística doa da sua parte diversos modelos para agrupamento e análise de dados, uma das técnicas mais comuns, e simples de certa forma, é a regressão: termo e cálculos, herdados da estatística tradicional e incorporados no nosso dia-a-dia tecnológico.

As Técnicas

Deixa eu tentar explicar um pouco como estas técnicas funcionam e como aplicá-las a problemas cotidianos.

Estas técnicas são utilizadas em diversas atividades como:

  • Previsão:

Dado um determinado item e um respectivo modelo matemático é a capacidade de deduzir um valor futuro para um atributo específico do item;

  • Regressão:

Dado um conjunto de itens, é a análise da dependência entre os valores de atributos e, automaticamente, produzir um modelo que possa prever valores de atributos para novos itens;

  • Classificação:

Dado um conjunto de classes pré-definidas, é determinar a qual destas classes um novo item pertence, ou seja, quando um novo dado entrar, como ele será descrito pelo modelo matemático;

  • Agrupamento:

Dado um conjunto de itens, determina-se um conjunto de classes, nos quais os itens são agrupados de acordo com suas características;

  • Associação:

Dado um conjunto de itens, é a identificação dos relacionamentos existentes entre os atributos destes itens.

1 – Regras de Associação

As técnicas de regras de associação estabelecem uma correlação estatística entre certos itens de dados em um conjunto de dados.

A regra de associação pode ser representada por: X1^…^Xn => Y[C,S], onde X1, …, Xn são itens que preveem a ocorrência de Y com um grau de confiança C e com um suporte mínimo de S e ^ denota um operador de conjunção (AND).

Um exemplo deste modelo é a identificação de que 90% dos consumidores de chocolate também consomem pílulas de emagrecimento. O percentual de 90% é chamado de confiança da regra. O suporte da regra chocolate => pílulas de emagrecimento é o número de ocorrências deste conjunto de itens na mesma transação.

Alguns algoritmos que utilizam esta técnica são: Apriori, AprioriTid, entre outros.

2 – Árvores de Decisão

As árvores de decisão são representações gráficas onde os nós representam amostras e as folhas representam categorias.

Uma árvore de decisão designa uma classe numérica (ou saída) para uma entrada padrão, filtrando-se a amostra através dos testes na árvore. Cada teste possui reciprocamente resultados exclusivos e exaustivos.

Quando a amostra de uma população está sendo estudada com o objetivo de se fazer alguma inferência indutiva, as árvores de decisão são os modelos mais utilizados.

Em muitos exemplos, vemos árvores de decisão construídas usando sua ideia apenas com resultados booleanos, porém não estamos limitados a implementação destas funções.

Na figura 1, temos um exemplo de uma árvore de decisão para um jogo de tênis.

Técnicas Básicas de Inteligência Artificial: Um Bom Começo - area decisao jogar tenis - para-desenvolvedores, organizacao, inteligencia-artificial, digital-business, consumo, banner, aplicacoes - Figura 1

Alguns algoritmos conhecidos de árvore de decisão são: CART, CHAID, C5.0, ID3, entre outros.

3 – Raciocínio Baseado em Memória

O raciocínio baseado em memória combina as vantagens da recuperação da informação e do raciocínio baseado em regras.

O fato dos programadores utilizarem a experiência de problemas anteriores para resolverem muitos dos problemas novos, torna o raciocínio baseado em memória particularmente apropriado para sistemas de suporte a decisões avançadas.

Uma questão importante em raciocínio baseado em memória é a representação do caso (conhecimento) no computador. Em essência, os casos devem manter a informação necessitada pelos usuários. Janet Kolodner, pesquisadora desta área no Instituto de Tecnologia da Geórgia, descreve casos como contendo três partes principais, que seriam:

  1. A descrição do caso, a qual permite sua identificação e armazenamento;
  2. O caso em si, contendo as informações relevantes para o domínio de sua aplicação;
  3. O estado posterior do domínio, quando a solução é aplicada.

O Raciocínio baseado em memória é uma tecnologia emergente para a representação e processamento de conhecimento. Usa experiência passada, acumulando casos e tentando descobrir por analogia soluções para outros problemas.

Os principais algoritmos usados nessa técnica são: BIRCH, CLARANS, CLIQUE e K-MEANS.

 4 – Algoritmos Genéticos

Os algoritmos genéticos surgiram de uma metáfora com Teoria da Evolução das Espécies de Charles Darwin.

Eles incorporam uma solução potencial para um problema específico, numa estrutura semelhante a de um cromossomo, e aplicam operadores de seleção e cross-over a essas estruturas de forma a preservar informações críticas relativas à solução do problema.

O modelo matemático dos algoritmos genéticos ajuda a compreender melhor como ele trabalha.

Um exemplo de maximização da função f(x) = x2 pode ser útil para entendermos todo o processo.

Vamos maximizar f(x) = x2 no intervalo de 0 a 31. Podemos iniciar a população de cromossomos com quatro escolhidos aleatoriamente.

x1 = 13; x2 = 24; x3 = 8; x4 = 19

Calculando a função de adaptação (no nosso exemplo, o próprio f(x) = x2) para cada termo teremos:

f(x1) = 169, f(x2) = 576, f(x3) = 64, f(x4) = 361

Podemos ver que a melhor solução nesta geração é x2, já que estamos buscando maximização no resultado.

A adaptação geral é a soma de todas as adaptações de cada cromossomo, ou seja, 1170. Em percentuais temos x1 participando com 14%, x2 com 49%, x3 com 6% e x4 com 31%. Precisamos sortear quatro números aleatórios entre zero e cem, depois verificamos em que ponto da reta, entre zero e cem, esses números se encontram e então fazemos a cópia dos cromossomos. De tal forma, o cromossomo x1 será copiado uma única vez, o cromossomo x2 será reproduzido duas vezes, o cromossomo x3 não será reproduzido, pois nenhum sorteio aleatório caiu dentro da faixa de 6% entre 64% e 69%, enquanto o cromossomo x4 será reproduzido apenas uma vez.

Técnicas Básicas de Inteligência Artificial: Um Bom Começo - algoritmo generico - para-desenvolvedores, organizacao, inteligencia-artificial, digital-business, consumo, banner, aplicacoes - Gráfico 1 – Algoritmo Genético

A nova geração após a reprodução será: x1 = 13, x2 = 24, x3 = 24 e x4 = 19.

Podemos notar que x2 é igual a x3 nesta nova geração e que x3 da geração anterior por ser pouco adaptado não se reproduziu, por isto não há nenhum representante seu nesta nova geração.

Essa nova geração representa a combinação das soluções bem-sucedidas da geração anterior que se casaram e se reproduziram.

É possível continuar o processo de evolução, mas ele pode ser interrompido se o valor for considerado suficiente ou até atingir o valor máximo da função f(x) no intervalo de 0 a 31.

5 – Redes Neurais

As redes neurais são uma classe especial de sistemas, modelados seguindo a analogia com o funcionamento anatômico do cérebro humano. Essas redes são formadas por neurônios artificiais conectados de maneira similar aos neurônios do cérebro humano.

Um neurônio artificial é uma unidade de processamento lógico que tenta simular o comportamento e funções de um neurônio biológico. Nessa estrutura os dendritos do modelo biológico são substituídos pelas entradas de informação na unidade de processamento, as ligações entre o corpo celular são realizadas através de pesos, que simulam as sinapses.

As informações captadas na entrada são processadas pela função de soma, e o limite de disparo do neurônio biológico é substituído pela função de transferência.

Técnicas Básicas de Inteligência Artificial: Um Bom Começo - modelo neuronio artificial - para-desenvolvedores, organizacao, inteligencia-artificial, digital-business, consumo, banner, aplicacoes - Modelo de Neurônio Artificial

A proposta de McCullok e Pitts, em 1943 (para vocês verem o que eu falo sempre, nada disso é novo), para o trabalho de um neurônio pode ser resumida da seguinte forma:

  1. Sinais são apresentações de entrada;
  2. Cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade;
  3. É feita a soma ponderada dos sinais que produzem um nível de atividade;
  4. Se o nível de atividade exceder um certo limite, a unidade produz uma determinada resposta de saída.

Vamos exemplificar melhor…

Suponhamos que existam p sinais de entrada x1, x2, … xn e pesos w1, w2, … wi e o limitador t. Os sinais do nosso exemplo serão de valores booleanos (0 e 1) e os pesos com valores reais.

No nosso caso, o nível de atividade a é dada por:

a = w1x1 + w2x2 + … wixn

A saída y é dada por:

y = 1, se a>= t

ou

y = 0, se a < t.

Boa parte dos modelos de redes neurais usados possui alguma regra de treinamento, onde os pesos são ajustados de acordo com os padrões apresentados. De maneira simplória podemos dizer que as redes neurais aprendem através de exemplos.

Normalmente, as redes neurais são apresentadas em forma de camadas, onde a primeira camada, chamada de entrada, recebe as primeiras informações que deverão ser processadas, a segunda camada é conhecida como camada intermediária ou camada oculta, ela pode ser formada por mais de uma camada de neurônios e nela são feitos os processamentos da rede. Por último a camada final, denominada saída, onde o resultado é apresentado.

 A forma como essas camadas trabalham e como elas são interligadas definem a topologia de uma rede.

 Algumas das principais topologias que encontramos hoje em dia são: Perceptron, Rede de Kohonem, Rede de Hopfield, Redes ART, Redes MLP, entre diversos outros.

Agora já com algum conhecimento e um norte de onde navegar por dentro da IA, acreditamos que vocês irão longe. Nós estamos vivendo apenas o início de uma grande revolução mundial, vamos lá participar dela.

Abraço enorme!

  • facebook
  • googleplus
  • twitter
  • linkedin
  • linkedin
Previous «
Next »

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Destaque