Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Principal Component Analysis (PCA)

A análise de componentes principais (PCA) projeta os dados nas direções ortogonais que capturam a maior variância. Como funciona, como escolher k, aplicações e código.

A análise de componentes principais (PCA) é uma técnica linear de redução de dimensionalidade que reexpressa os dados como novas variáveis não correlacionadas, chamadas componentes principais, ordenadas pela quantidade de variância dos dados que cada uma capta. Manter apenas os primeiros componentes comprime muitas características correlacionadas num pequeno conjunto, preservando a maior parte da informação. Karl Pearson apresentou o método em 1901, e Harold Hotelling desenvolveu-o mais tarde e deu-lhe o nome em 1933. A PCA é uma técnica não supervisionada que ignora os rótulos e serve como etapa padrão de pré-processamento de dados, forma rápida de visualizar dados de alta dimensão em duas ou três dimensões e referência para compressão e remoção de ruído na aprendizagem automática.

Como funciona a PCA#

A PCA começa por centrar cada característica, subtraindo a respetiva média. O primeiro componente principal é a direção em que os dados centrados variam mais, e cada componente seguinte é a direção de maior variância restante, ortogonal a todos os anteriores. Os componentes são os vetores próprios da matriz de covariância dos dados, e os valores próprios correspondentes são as variâncias ao longo dessas direções; as bibliotecas calculam ambos através da decomposição em valores singulares (SVD) dos dados centrados, que é numericamente mais estável do que formar a matriz de covariância. Projetar os dados nos k componentes principais dá a representação reduzida, e mapeá-la de volta reconstrói uma aproximação do original. Entre todas as projeções lineares para k dimensões, a PCA produz o menor erro quadrático de reconstrução.

A variância depende das unidades, pelo que as características medidas em escalas diferentes, como o rendimento em dólares e a idade em anos, são primeiro normalizadas; caso contrário, a característica com o maior intervalo numérico domina o primeiro componente. O número de componentes k costuma ser escolhido a partir da proporção de variância explicada, mantendo componentes até a sua proporção cumulativa atingir um objetivo como 95%, ou a partir do cotovelo num gráfico scree da variância por componente.

A PCA do scikit-learn aceita diretamente um objetivo de variância. Este exemplo comprime imagens de dígitos manuscritos de 8×8:

from sklearn.datasets import load_digits
from sklearn.decomposition import PCA

# 1,797 handwritten digits, each an 8x8 image flattened to 64 pixel values
X, _ = load_digits(return_X_y=True)

# Keep the fewest components that explain 95% of the variance
pca = PCA(n_components=0.95)
X_reduced = pca.fit_transform(X)

print(f"{X.shape[1]} features -> {pca.n_components_} components")
print(f"First two components: {pca.explained_variance_ratio_[:2].sum():.1%} of the variance")

Vinte e nove componentes preservam 95% da variância dos 64 píxeis, reduzindo o tamanho da entrada para menos de metade, e os dois primeiros componentes, por si só, contêm 28,5%. A variância concentra-se porque os píxeis vizinhos estão fortemente correlacionados e os píxeis ao longo das extremidades esquerda e direita das imagens quase não variam.

Limitações#

A PCA encontra apenas estruturas lineares, por isso dados que se encontram numa superfície curva precisam de mais componentes do que a sua dimensionalidade real. Cada componente combina todas as características originais, o que dificulta a interpretação dos componentes, e as distâncias ao quadrado permitem que alguns valores atípicos os distorçam. Uma variância elevada também não significa maior utilidade: uma direção de baixa variância pode conter o sinal que separa duas classes, por isso descartá-la pode prejudicar um classificador, mesmo que pouca variância se perca. Reduzir muitas características a apenas algumas continua a ajudar a combater a maldição da dimensionalidade, em que os modelos precisam de muito mais amostras para generalizar à medida que o número de características aumenta, e limita o sobreajuste quando há muitas características e poucas amostras.

PCA para embeddings em visão computacional#

Os modelos de visão descrevem cada imagem ou objeto com um embedding, um vetor com centenas de números, e a PCA é um primeiro passo comum para visualizar, fazer agrupamento ou comprimir esses vetores. Os modelos YOLO26 devolvem um embedding por imagem através de model.embed(), e projetar esses vetores nas duas primeiras componentes principais fornece um mapa linear rápido de como um modelo treinado à medida separa as suas classes. Reduzir os embeddings armazenados a menos dimensões também diminui o índice de uma base de dados vetorial e acelera a pesquisa vetorial.

Aplicações#

  • Reconhecimento facial: O método de faces próprias de Turk e Pentland (1991) representava cada rosto pelas suas coordenadas nas componentes principais de um conjunto de imagens faciais e reconhecia as pessoas comparando essas coordenadas.
  • Deteção de anomalias: A monitorização de processos industriais ajusta a PCA aos dados dos sensores durante o funcionamento normal e emite um alarme quando uma nova leitura é reconstruída com pouca precisão ou fica muito afastada ao longo das componentes mantidas.
  • Genética populacional: A PCA dos dados de genótipos resume a ancestralidade e, num estudo de 2008 com 1.387 europeus, as duas primeiras componentes reproduziram um mapa reconhecível da Europa.
  • Risco da taxa de juro: As alterações na curva de rendimentos das obrigações são dominadas por três componentes a que os analistas chamam nível, inclinação e curvatura, por isso os modelos de risco acompanham três números em vez de cada prazo de vencimento.
  • t-SNE e UMAP: Métodos não lineares concebidos para visualização que preservam as vizinhanças locais, fazendo com que os grupos se separem mais claramente, enquanto as distâncias entre grupos afastados perdem significado. O t-SNE do Scikit-learn não tem uma transformação para novos pontos, enquanto uma PCA ajustada projeta novos dados com uma única multiplicação de matrizes.
  • Autoencoders: Redes neuronais que comprimem e reconstroem dados e podem aprender estruturas não lineares. Um autoencoder linear treinado com erro quadrático aprende o mesmo subespaço que a PCA.
  • Seleção e extração de características: A seleção de características mantém um subconjunto das colunas originais, que continuam a ser interpretáveis, enquanto a PCA, um método clássico de extração de características, cria novas características que as combinam todas.
  • Análise discriminante linear (LDA): Uma técnica relacionada e supervisionada que escolhe direções que maximizam a separação entre classes em vez da variância total e produz, no máximo, menos uma componente do que o número de classes.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina