A normalização é uma técnica fundamental de pré-processamento de dados utilizada extensivamente na aprendizagem automática (ML) e na ciência dos dados. O seu principal objetivo é redimensionar as caraterísticas dos dados numéricos para um intervalo padrão comum, frequentemente entre 0 e 1 ou -1 e 1, sem distorcer as diferenças nos intervalos de valores. Este processo garante que todas as caraterísticas contribuem de forma mais igual para o treino do modelo, evitando que as caraterísticas com valores inerentemente maiores (como o salário num conjunto de dados) influenciem desproporcionadamente o resultado em comparação com as caraterísticas com valores mais pequenos (como os anos de experiência). A normalização é particularmente crucial para algoritmos sensíveis ao escalonamento de caraterísticas, como os métodos baseados em descida de gradiente utilizados na aprendizagem profunda (DL) e vários algoritmos de otimização.
Porque é que a normalização é importante
Os conjuntos de dados do mundo real contêm frequentemente caraterísticas com escalas e unidades muito diferentes. Por exemplo, num conjunto de dados para prever a rotatividade de clientes, o "saldo da conta" pode variar entre centenas e milhões, enquanto o "número de produtos" pode variar entre 1 e 10. Sem normalização, os algoritmos de ML que calculam distâncias ou utilizam gradientes, como as máquinas de vectores de suporte (SVM) ou as redes neuronais (NN), podem considerar incorretamente que a caraterística com o intervalo maior é mais importante simplesmente devido à sua escala. A normalização nivela o campo de jogo, garantindo que a contribuição de cada caraterística seja baseada em seu poder preditivo, não em sua magnitude. Isso leva a uma convergência mais rápida durante o treinamento (como visto em épocas reduzidas), melhor precisão do modelo e modelos mais estáveis e robustos. Essa estabilidade é benéfica ao treinar modelos como o Ultralytics YOLO para tarefas como a deteção de objectos ou a segmentação de instâncias, melhorando potencialmente métricas como a precisão média (mAP).
Técnicas de normalização comuns
Existem vários métodos para redimensionar dados, cada um deles adequado a diferentes situações:
- Escala Mín-Máx: Redimensiona as caraterísticas para um intervalo fixo, normalmente [0, 1]. Calcula como: (valor - min) / (max - min). Este método preserva a forma da distribuição original, mas é sensível a valores atípicos.
- Padronização de pontuação Z (Escala padrão): Redimensiona as caraterísticas para que tenham uma média de 0 e um desvio padrão de 1. É calculado como: (valor - média) / desvio padrão. Ao contrário do escalonamento Mín-Máx, não vincula os valores a um intervalo específico, o que pode ser uma desvantagem para algoritmos que exigem entradas dentro de um intervalo limitado, mas lida melhor com outliers. Podes encontrar mais informações sobre estes e outros métodos na documentação do Scikit-learn Preprocessing.
- Escala robusta: Usa estatísticas que são robustas para outliers, como o intervalo interquartil (IQR), em vez de min/max ou média/desvio padrão. É particularmente útil quando o conjunto de dados contém valores discrepantes significativos. Saiba mais sobre o escalonamento robusto.
A escolha entre estas técnicas depende muitas vezes do conjunto de dados específico (como os que se encontram nos conjuntos de dadosUltralytics ) e dos requisitos do algoritmo ML que está a ser utilizado. Os guias sobre o pré-processamento de dados anotados abrangem frequentemente passos de normalização relevantes para tarefas específicas.
Normalização vs. Padronização vs. Normalização de lotes
É importante distinguir a normalização de conceitos relacionados:
- Padronização: Frequentemente usada de forma intercambiável com a padronização de pontuação Z, esta técnica transforma os dados para que tenham média zero e variância unitária. Enquanto a normalização normalmente dimensiona os dados para um intervalo fixo (por exemplo, 0 a 1), a padronização centraliza os dados em torno da média e dimensiona com base no desvio padrão, sem necessariamente restringi-los a um intervalo específico.
- Normalização de lote: É uma técnica aplicada em uma rede neural durante o treinamento, especificamente às entradas das camadas ou ativações. Normaliza as saídas de uma camada de ativação anterior para cada minilote, estabilizando e acelerando o processo de treinamento ao reduzir o problema de deslocamento interno das covariáveis. Ao contrário da normalização de caraterísticas (Min-Max ou Z-score), que é uma etapa de pré-processamento aplicada ao conjunto de dados inicial, a Normalização de lotes faz parte da própria arquitetura da rede, adaptando-se dinamicamente durante o treinamento do modelo.
Aplicações da normalização
A normalização é um passo omnipresente na preparação de dados para várias tarefas de Inteligência Artificial (IA) e ML:
- Visão computacional (CV): Os valores de pixel em imagens (normalmente variando de 0 a 255) são frequentemente normalizados para [0, 1] ou [-1, 1] antes de serem inseridos em Redes Neurais Convolucionais (CNNs). Isto assegura a consistência entre imagens e ajuda a rede a aprender caraterísticas de forma mais eficaz para tarefas como a classificação de imagens, deteção de objectos utilizando modelos como o YOLO11 e segmentação de imagens. Muitos conjuntos de dados CV padrão beneficiam deste passo de pré-processamento.
- Análise de imagens médicas: Em aplicações como a deteção de tumores utilizando modelos YOLO , a normalização dos valores de intensidade de exames de RM ou TC é crucial. Diferentes equipamentos ou configurações de digitalização podem produzir imagens com escalas de intensidade diferentes. A normalização garante que a análise é consistente e comparável em diferentes exames e pacientes, conduzindo a modelos de diagnóstico mais fiáveis. Isto é vital em áreas como a IA nos cuidados de saúde.
- Modelação preditiva: Ao criar modelos para prever resultados com base em diversas caraterísticas (por exemplo, prever preços de casas com base no tamanho, número de divisões e coordenadas de localização), a normalização garante que as caraterísticas com intervalos numéricos maiores (como a metragem quadrada) não dominam os cálculos baseados na distância (por exemplo, em k-Nearest Neighbors) ou as actualizações de gradiente durante o treino. Isto é comum em análises financeiras e de retalho.
- Processamento de linguagem natural (NLP): Embora menos comum para texto em bruto, a normalização pode ser aplicada a caraterísticas numéricas derivadas, como frequências de palavras ou pontuações TF, especialmente quando as combina com outros tipos de caraterísticas num modelo maior.
Em resumo, a normalização é uma etapa vital de pré-processamento que dimensiona os recursos de dados para um intervalo consistente, melhorando o processo de treinamento, a estabilidade e o desempenho de muitos modelos de aprendizado de máquina, incluindo aqueles desenvolvidos e treinados usando ferramentas como o Ultralytics HUB. Garante uma contribuição justa das caraterísticas e é essencial para algoritmos sensíveis à escala de entrada, contribuindo para soluções de IA mais robustas e precisas.