Buscar

Machine Learning - Atividade 1



Continue navegando


Prévia do material em texto

Discente: Heloísa Helena Lopes Alvarenga
De acordo com o problema enunciado, é-nos pedido para implementar um
“Captcha” de modo a aumentar a segurança nos aplicativos Web. Um “Captcha” é um
teste que nos pode pedir para escrever num “input” o texto distorcido que vemos numa
imagem, ou que nos pode pedir para identificar certos elementos de uma imagem (sendo
estes apenas alguns exemplos). Todas as respostas que dermos serão analisadas pelo
seu algoritmo de modo a concluir se o utilizador é ou não um robot (bot).
Para o exemplo atual iremos escolher o “Captcha” de imagens que é visível na
figura da direita. Deste modo, temos uma imagem dividida em 16 quadrantes, sendo
pedido que identifiquemos os quadrantes que têm semáforos presentes. Este tipo de teste
torna-se particularmente mais difícil para um robot devido ao facto de poder ser facilmente
induzido em erro pela divisão da imagem em quadrantes ou mesmo pela diversidade de
fotos e elementos presente.
Ao clicar nas imagens do “Captcha” algumas das variáveis submetidas serão por
exemplo:
• Números de tentativas sem sucesso;
• Quantidade de submissões do mesmo IP;
• Velocidade de clique nos quadrantes;
• Eficácia dos cliques.
Através destas variáveis o algoritmo pode automaticamente diferenciar os
utilizadores mais prováveis de serem robots dos utilizadores menos prováveis de o serem,
assim, iremos utilizar uma técnica de mineração de dados denominada classificação. 
Por exemplo, um robot comum irá submeter várias vezes o mesmo “Captcha” sob o
mesmo IP, e irá ter uma velocidade de clique bastante rápida.
A classificação na mineração de dados é uma técnica comum que separa pontos
de dados em diferentes classes. Ela permite que você organize conjuntos de dados de
todos os tipos, incluindo conjuntos de dados complexos e grandes, bem como pequenos e
simples. Envolve principalmente o uso de algoritmos que você pode modificar facilmente
para melhorar a qualidade dos dados.