O Neurônio Artificial: a Base da Inteligência Artificial
O Neurônio Artificial: a Base da Inteligência Artificial
A Inteligência Artificial gerou muito entusiasmo recentemente em função dos avanços obtidos pelos modelos neurais de linguagem baseados em grandes bases de dados (Exemplo: ChatGPT). Esse sucesso motivou um grande número de pessoas a tentar entrar na área para se beneficiar do crescimento da área. No entanto, a maioria dos textos não abordam a base fundamental destas redes neurais: o neurônio artificial. Acreditamos que este conhecimento é a base para o entendimento sólido das redes neurais artificiais. Neste tutorial descreveremos o funcionamento de um neurônio artificial, também chamado de regressão logística. Apesar de ser simples, o neurônio artificial é muito útil, para resolver diversos problemas, de classificação, tais como, detecção de spam, previsão de diabetes, concessão de crédito, dentre outros.
Classificação dos sistemas, de aprendizado de máquina
Para melhor compreender, este tipo de técnica, é importante conhecer, uma forma de classificar os sistemas de aprendizado de máquina. Aprendizado de Máquina, é uma sub área da Inteligência Artificial, e tem como objetivo, o desenvolvimento de sistemas, que podem aprender, e melhorar automaticamente com os dados, ou com a obtenção, de informação. Podemos dividir os modelos, de Aprendizado de Máquina, em supervisionada, em não supervisionada, e por reforço.
Nos modelos supervisionados, o sistema aprende a partir de exemplos. Já no caso, das técnicas não supervisionadas, o sistema detecta padrões, examinando os dados, sem que esses padrões tenham sido apresentados anteriormente. Finalmente, na terceira classe de modelos, a de aprendizado por reforço, o sistema aprende a partir de suas ações, e do feedback recebido, em termos de recompensas.
O Neurônio Artificial, na forma de regressão logística, é uma técnica de aprendizado supervisionada. Os modelos supervisionados, podem ser divididos, em sistemas de classificação, e sistemas de regressão.
Nos modelos de classificação, o sistema tenta identificar, qual classe é a correta, dado uma entrada. Por exemplo, a partir dos dados financeiros de uma pessoa, os sistema tenta identificar se é para emprestar dinheiro, ou para negar o empréstimo. Outro exemplo, o sistema pode receber os dados, sobre um determinado animal, e, a partir destes dados, identificar se é um mamífero, réptil, uma ave, ou um peixe.
Já no caso da regressão, o sistema tenta emitir um valor, a partir dos dados recebidos. Por exemplo, a partir do recebimento dos dados financeiros, o sistema pode tentar prever, o valor da inflação. É uma técnica muito usada no mercado financeiro.
Apesar do nome, a regressão logística é usada para classificação. A classificação pode ser binária, onde existem apenas duas classes, tais como, sim ,ou não, positivo ,ou negativo.
E também pode ser multi classes, como por exemplo, para classificar se uma palavra, é um verbo, um substantivo, um adjetivo, advérbio, e assim por diante.
Para diferenciar a regressão logística, da regressão linear, podemos observar a diferença graficamente, usando um exemplo com duas entradas, ou bi dimensional. O que torna mais fácil a visualização. No caso da regressão linear sobre um conjunto de pontos em um plano, tentamos ajustar uma linha, que tenta capturar a tendência de distribuição dos pontos no plano.
Uma vez ajustada esta linha, podemos usá-la para prever um valor de eixo a partir do outro. Se for um espaço tri dimensional, tentaremos ajustar um plano. Se tiver um número maior de dimensões, tentaremos ajustar um hiperplano.
Já no caso da regressão logística, o que queremos, é retornar uma decisão, do tipo sim ou não, ou uma classificação. Então traçar uma reta não adianta. Veja este exemplo simples, onde é preciso tomar uma decisão, se deve-se emprestar dinheiro para uma pessoa, com base em seu salário. Com base nos dados anteriores de empréstimo, fica difícil ajustar uma linha, que seja capaz de responder essa pergunta.
Uma função muito utilizada, para introduzir essa não linearidade é a função logística, daí o nome regressão logística. Aqui podemos ver a fórmula geral, desta função. Gostaríamos de destacar o fato de ela ser uma fração, tendo como numerador, o número 1, e que o denominador é igual a 1, ou, maior. Isso significa que o valor da função, está limitado entre 0 e 1. No denominador temos uma exponenciação, tendo como base, uma constante matemática, chamada número de Euler, cujo valor é aproximadamente 2,718.
A função logística, é uma função com características interessantes. Primeiro, quando colocada em um gráfico bi dimensional, ela apresenta uma forma de "S". Por isso, ela é uma função denominada de, sigmoide. A segunda característica, é que os valores retornados pela função, ficam entre 0 e 1. Isso a torna muito interessante para classificações binárias, onde existem duas classes para realizar a classificação, tais como sim, ou, não. Positivo, ou, negativo. Empresta, ou, recusa empréstimo.
Vamos agora, detalhar como funciona a regressão logística. Primeiramente, precisamos de um conjunto de dados, que devem ser classificados. Por exemplo, podemos receber os dados de diversas pessoas para verificar se devemos, ou, não emprestar uma determinada quantia para essas pessoas. Por exemplo, podem ser o salário e a quantidade de dinheiro emprestado que estão solicitando.
Na realidade, as empresas usam um número bem maior de informações, para tomar uma decisão desse tipo. Mas para o nosso exemplo, essas duas informações serão suficiente. Cada tipo de informação é chamada de característica ou feature.
Vamos usar um conjunto de dados sobre as pessoas, que já está previamente classificado, indicando se o empréstimo foi concedido. Eles são separados em dois grupos. Um de aprendizado, que será usado para ajustar o modelo, e outro que será usado para testar o modelo. Ao final do aprendizado, e quando passar pelos testes, com um nível de acerto pré estabelecido. Então podemos dizer que o sistema está pronto para aprovar ou não novos pedidos de empréstimo. Vamos agora, montar o nosso modelo de regressão logística.
Na primeira parte do modelo, pegamos cada valor de entrada. Que no nosso exemplo, são o valor do salário, e do pedido de empréstimo, e multiplicamos por um peso, e depois somamos a um valor, chamado de bias. O valor resultante, vamos chamar de valor Z.
Você deve estar se perguntando de onde saíram esses valores de peso e esse valor bias. Esses valores são, inicialmente, aleatórios e são esses valores, que serão ajustados durante a etapa de aprendizado do modelo. São chamados de parâmetros do sistema. Então, o que o modelo aprende é quais são os valores que devem ser atribuídos aos pesos e ao valor de bias, para que ela emita uma saída correta.Os pesos definem a importância que deve ser atribuída a cada atributo de entrada. E a bias corresponde a um ajuste geral do modelo.
Vamos ilustrar esse cálculo com um exemplo. Suponha que uma pessoa que ganha 3000, quer um empréstimo, de 10000. Suponha, também, que tanto o peso 1, quanto o peso 2, tenham o valor 0,01. Vamos supor, também, o valor de bias igual a um. Então, nesse caso o valor de, Z será 131. Esse valor não diz muita coisa, e o que queremos saber é, se devemos, ou, não emprestar o dinheiro. Para isso, iremos colocar o valor de Z como entrada para a função, sigmoide, na etapa 2, da execução do modelo.
Podemos ver, o cálculo da regressão logística, como um fluxo. Temos os atributos de entrada, que podem ser vistos como uma sequência de valores x1, x2, até xn. Esses valores, são multiplicados, pelos seus respectivos pesos w1, w2, até wn. Os resultados, da multiplicação, são somados, juntamente com um valor de bias, gerando um valor Z.
Esse valor, é aplicado, à função sigmoide, representada aqui, pela letra grega sigma. Esta função é também, chamada de função de ativação, e, como veremos mais adiante, existem outras funções possíveis, além da função sigmoide. O valor gerado, pela função de ativação, é o valor emitido pela rede, representado aqui, pela letra ípsilon, com um circunflexo, também chamada, de ípsilon hat. Usamos essa notação, para indicar, que é um valor estimado, ou calculado, e para diferenciar do valor esperado, ou real.
Este funcionamento, é uma metáfora do funcionamento de um neurônio. Um neurônio, está conectado a outros neurônios, por meio de filamentos, chamados de dendritos. Os neurônios fornecem entradas, para os outros, por meio de estímulos eletroquímicos. A força de cada estímulo, dependerá da força, de cada conexão, que é equivalente, ao papel exercido pelos pesos, na regressão logística. No neurônio, se os estímulos recebidos, ultrapassarem determinado limiar, o neurônio dispara, emitindo um sinal eletroquímico pelo seu axônio, que será transmitido a outros neurônios. Em função dessa semelhança, apesar de superficial, e de não refletir a complexidade, de um neurônio, é que a regressão logística pode ser vista como um neurônio artificial. E, como veremos adiante, a composição desses neurônios em uma rede, forma uma rede neural artificial.
Antes de continuarmos. Vamos falar, um pouco, da notação utilizada, em nossas fórmulas. Quando uma variável, representa um único, valor, usamos uma letra minúscula, normal. Quando representa, um vetor, ou, matriz, usamos uma letra, minúscula, em negrito.
Vamos ver outro exemplo. Dado um vetor, com valor de salário igual a um e um pedido de empréstimo com valor igual a quatro, sendo, ambos os valores, em unidades de milhar, e seja, também, um vetor de pesos, com valores 0.2, e 0.1. Seja também, um valor de bias de 0.1 Nesse caso, o valor de Z será 0.7. Aplicando a função logística, a esse valor, obtemos o valor resultante, de, 0.67.
Link para o código no Google Colaboratory.
Comentários
Postar um comentário