A inteligência artificial ou aprendizado de máquina experimentou um enorme aumento nos últimos dez anos. Muitas indústrias agora estão investindo pesadamente em soluções baseadas em aprendizado de máquina. A demanda por especialistas qualificados também disparou.
Várias universidades ao redor do mundo oferecem graduações com foco em ciência de dados ou inteligência artificial, e esse conteúdo também vem ganhando importância nas universidades alemãs. Embora as universidades tendam a se concentrar nos conceitos matemáticos e teóricos, as habilidades e conhecimentos necessários para treinar modelos de aprendizado de máquina em problemas do mundo real podem ser bem diferentes.
Disponibilidade dos dados necessários
Na maioria dos casos, a disponibilidade de dados determina se o aprendizado de máquina pode ou não ser usado para resolver um determinado problema. Antes de iniciar um novo projeto, surge a pergunta: um modelo treinado com esses dados fornecerá as respostas certas na maioria das vezes?
Esta pergunta se aplica independentemente do modelo, biblioteca ou linguagem escolhida para o experimento de ML. E há outros critérios cruciais. Um modelo é tão bom quanto os dados com os quais é alimentado. Assim, é importante esclarecer:
- Há dados suficientes para treinar um bom modelo? Desde que não exceda o orçamento de hardware, quase sempre é correto usar mais dados.
- As previsões são confiáveis em um processo de aprendizado supervisionado? O modelo está sendo alimentado com as informações corretas?
- Esses dados são uma representação precisa da distribuição real? Existe variação suficiente nas amostras para cobrir a área do problema?
- Há acesso constante a um fluxo constante de novos dados para atualizar o modelo e mantê-lo atualizado?
montando os dados
Os dados necessários para criar um conjunto de dados para uma solução de ML geralmente são distribuídos por várias fontes. Diferentes partes de uma amostra são coletadas em diferentes produtos e gerenciadas por diferentes equipes em diferentes plataformas. Portanto, a próxima etapa do processo geralmente é consolidar todos esses dados em um único formato e armazená-los de maneira facilmente acessível.
Mais desafios e uma maldição
Com os dados coletados e agregados, você pensaria que o fabuloso novo algoritmo de ML estaria pronto para funcionar. Mas ainda são necessários mais passos, pois inevitavelmente ainda haverá uma série de desafios a serem superados:
dados ausentes
Às vezes, valores válidos podem não estar disponíveis para todas as observações. Os dados podem ter sido corrompidos durante a coleta, armazenamento ou transmissão, e é importante encontrar esses pontos de dados ausentes e, se necessário, excluí-los do conjunto de dados.
dados duplicados
Embora este não seja um problema particularmente alarmante em termos de desempenho do modelo, os dados duplicados devem ser removidos do armazenamento de dados para tornar o processo de treinamento do modelo mais eficiente e potencialmente evitar o overfitting.
Vários esquemas de normalização
Pequenas diferenças na forma como os dados são processados e armazenados podem causar grandes dores de cabeça ao treinar um modelo. Por exemplo, produtos diferentes podem cortar o mesmo campo de texto livre em comprimentos diferentes ou tornar os dados anônimos de maneira diferente, levando a inconsistências nos dados. Se uma dessas fontes contiver principalmente malware e outra fonte contiver padrões benignos, o modelo de ML poderá aprender a identificá-los, por exemplo, com base no tamanho do truncamento.
dados de campo de texto livre
Na verdade, isso merece uma categoria própria, porque pode ser muito difícil de lidar. Os campos de texto livre são a ruína do engenheiro de dados, pois ele precisa lidar com erros de digitação, gírias, quase duplicatas, variações de letras maiúsculas, espaços, pontuação e toda uma série de outras inconsistências.
atualização constante
Por fim, o desvio de dados é uma questão importante a ser abordada ao projetar um sistema de ML. Depois que um modelo é treinado, ele se torna cada vez mais impreciso com o tempo, à medida que a distribuição dos novos dados recebidos muda. Portanto, a atualização regular do modelo deve ser programada para garantir que o desempenho continue dentro dos limites esperados.
Por exemplo, no espaço de segurança, estamos vendo muita volatilidade à medida que os agentes de ameaças mudam suas explorações e comportamento ao longo do tempo, e as vulnerabilidades são descobertas e corrigidas. Este foi um breve resumo das etapas típicas que precisam ser executadas para selecionar, coletar e limpar dados para uma solução de ML. Se tudo isso tiver sido feito, um conjunto de dados limpo provavelmente estará disponível. O experimento pode começar.
[asterisco=15]