Reconhecimento de padrões

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

O reconhecimento de padrões é o reconhecimento automatizado de padrões e regularidades nos dados . Possui aplicações em análise estatística de dados , processamento de sinais , análise de imagens , recuperação de informações , bioinformática , compressão de dados , computação gráfica e aprendizado de máquina . O reconhecimento de padrões tem suas origens em estatística e engenharia; algumas abordagens modernas para reconhecimento de padrões incluem o uso de aprendizado de máquina , devido à maior disponibilidade de big data e uma nova abundância de poder de processamento. Essas atividades podem ser vistas como duas facetas de um mesmo campo de aplicação e sofreram um desenvolvimento substancial nas últimas décadas.

Os sistemas de reconhecimento de padrões são comumente treinados a partir de dados de "treinamento" rotulados. Quando não há dados rotulados disponíveis, outros algoritmos podem ser usados ​​para descobrir padrões anteriormente desconhecidos. O KDD e a mineração de dados têm um foco maior em métodos não supervisionados e uma conexão mais forte ao uso comercial. O reconhecimento de padrões se concentra mais no sinal e também leva em consideração a aquisição e o processamento do sinal . Originou-se na engenharia , e o termo é popular no contexto da visão computacional : uma conferência líder em visão computacional é chamada Conferência sobre Visão Computacional e Reconhecimento de Padrões .

No aprendizado de máquina , o reconhecimento de padrões é a atribuição de um rótulo a um determinado valor de entrada. Em estatística, a análise discriminante foi introduzida para esse mesmo propósito em 1936. Um exemplo de reconhecimento de padrões é a classificação , que tenta atribuir cada valor de entrada a um determinado conjunto de classes (por exemplo, determinar se um determinado e-mail é "spam" ou "não spam"). O reconhecimento de padrões é um problema mais geral que engloba também outros tipos de saída. Outros exemplos são a regressão , que atribui uma saída de valor real a cada entrada; [1] rotulagem de sequência , que atribui uma classe a cada membro de uma sequência de valores [2](por exemplo, marcação de parte do discurso , que atribui uma parte do discurso a cada palavra em uma frase de entrada); e parsing , que atribui uma árvore de análise sintática a uma sentença de entrada, descrevendo a estrutura sintática da sentença. [3]

Os algoritmos de reconhecimento de padrões geralmente visam fornecer uma resposta razoável para todas as entradas possíveis e realizar a correspondência "mais provável" das entradas, levando em consideração sua variação estatística. Isso se opõe aos algoritmos de correspondência de padrões , que procuram correspondências exatas na entrada com padrões pré-existentes. Um exemplo comum de um algoritmo de correspondência de padrões é a correspondência de expressões regulares , que procura padrões de uma determinada classificação em dados textuais e está incluída nos recursos de pesquisa de muitos editores de texto e processadores de texto .

Visão geral

Uma definição moderna de reconhecimento de padrões é:

O campo de reconhecimento de padrões está preocupado com a descoberta automática de regularidades nos dados através do uso de algoritmos de computador e com o uso dessas regularidades para realizar ações como classificar os dados em diferentes categorias. [4]

O reconhecimento de padrões é geralmente categorizado de acordo com o tipo de procedimento de aprendizado usado para gerar o valor de saída. O aprendizado supervisionado assume que um conjunto de dados de treinamento (o conjunto de treinamento ) foi fornecido, consistindo em um conjunto de instâncias que foram rotuladas manualmente com a saída correta. Um procedimento de aprendizado gera então um modelo que tenta atender a dois objetivos às vezes conflitantes: Executar o melhor possível nos dados de treinamento e generalizar o melhor possível para novos dados (geralmente, isso significa ser o mais simples possível, para alguma definição técnica de "simples", de acordo com a Navalha de Occam , discutida abaixo). Aprendizado não supervisionado, por outro lado, assume dados de treinamento que não foram rotulados manualmente e tenta encontrar padrões inerentes nos dados que podem ser usados ​​para determinar o valor de saída correto para novas instâncias de dados. [5] Uma combinação dos dois que foi explorada é o aprendizado semi-supervisionado , que usa uma combinação de dados rotulados e não rotulados (normalmente um pequeno conjunto de dados rotulados combinados com uma grande quantidade de dados não rotulados). Em casos de aprendizado não supervisionado, pode não haver nenhum dado de treinamento.

Às vezes, termos diferentes são usados ​​para descrever os procedimentos de aprendizado supervisionado e não supervisionado correspondentes para o mesmo tipo de saída. O equivalente não supervisionado da classificação é normalmente conhecido como clustering , baseado na percepção comum da tarefa como não envolvendo nenhum dado de treinamento, e de agrupar os dados de entrada em clusters com base em alguma medida de similaridade inerente (por exemplo, a distância entre instâncias, considerada como vetores em um espaço vetorial multidimensional ), em vez de atribuir cada instância de entrada em um de um conjunto de classes predefinidas. Em alguns campos, a terminologia é diferente. Na ecologia de comunidades , o termo classificaçãoé usado para se referir ao que é comumente conhecido como "agrupamento".

A parte dos dados de entrada para a qual um valor de saída é gerado é formalmente chamada de instância . A instância é formalmente descrita por um vetor de características, que juntas constituem uma descrição de todas as características conhecidas da instância. Esses vetores de recursos podem ser vistos como pontos de definição em um espaço multidimensional apropriado , e métodos para manipular vetores em espaços vetoriais podem ser aplicados a eles de forma correspondente, como calcular o produto escalar ou o ângulo entre dois vetores. Os recursos geralmente são categóricos (também conhecidos como nominais, ou seja, consistindo em um de um conjunto de itens não ordenados, como um gênero de "masculino" ou "feminino", ou um tipo sanguíneo de "A", "B", "AB" ou "O"), ordinal ( consistindo em um de um conjunto de itens ordenados, por exemplo, "grande", "médio" ou "pequeno"), de valor inteiro (por exemplo, uma contagem do número de ocorrências de uma palavra específica em um e-mail) ou de valor real (por exemplo, uma medição da pressão arterial). Frequentemente, dados categóricos e ordinais são agrupados, e esse também é o caso de dados de valor inteiro e de valor real. Muitos algoritmos funcionam apenas em termos de dados categóricos e exigem que os dados de valor real ou inteiro sejam discretizados em grupos (por exemplo, menos de 5, entre 5 e 10,

Classificadores probabilísticos

Muitos algoritmos comuns de reconhecimento de padrões são probabilísticos por natureza, pois usam inferência estatística para encontrar o melhor rótulo para uma determinada instância. Ao contrário de outros algoritmos, que simplesmente produzem um rótulo "melhor", muitas vezes os algoritmos probabilísticos também produzem uma probabilidade de a instância ser descrita pelo rótulo fornecido. Além disso, muitos algoritmos probabilísticos produzem uma lista dos N - melhores rótulos com probabilidades associadas, para algum valor de N , em vez de simplesmente um único melhor rótulo. Quando o número de rótulos possíveis é bastante pequeno (por exemplo, no caso de classificação ), Npode ser definido de modo que a probabilidade de todos os rótulos possíveis seja gerada. Os algoritmos probabilísticos têm muitas vantagens sobre os algoritmos não probabilísticos:

  • Eles produzem um valor de confiança associado à sua escolha. (Observe que alguns outros algoritmos também podem gerar valores de confiança, mas em geral, apenas para algoritmos probabilísticos esse valor é matematicamente fundamentado na teoria da probabilidade . Valores de confiança não probabilísticos geralmente não podem receber nenhum significado específico e são usados ​​apenas para comparar com outros valores de confiança gerados pelo mesmo algoritmo.)
  • Da mesma forma, eles podem se abster quando a confiança de escolher qualquer produto específico é muito baixa.
  • Por causa da saída de probabilidades, algoritmos de reconhecimento de padrões probabilísticos podem ser incorporados de forma mais eficaz em tarefas maiores de aprendizado de máquina, de uma forma que evita parcial ou completamente o problema de propagação de erros .

Número de variáveis ​​de recursos importantes

Os algoritmos de seleção de recursos tentam eliminar diretamente recursos redundantes ou irrelevantes. Uma introdução geral à seleção de recursos que resume abordagens e desafios foi dada. [6] A complexidade da seleção de características é, devido ao seu caráter não monótono, um problema de otimização onde dado um total deapresenta o powerset composto por todossubconjuntos de recursos precisam ser explorados. O algoritmo Branch-and-Bound [7] reduz essa complexidade, mas é intratável para valores médios a grandes do número de recursos disponíveis

Técnicas para transformar os vetores de recursos brutos ( extração de recursos ) às vezes são usadas antes da aplicação do algoritmo de correspondência de padrões. Os algoritmos de extração de recursos tentam reduzir um vetor de recursos de grande dimensionalidade em um vetor de menor dimensionalidade que é mais fácil de trabalhar e codifica menos redundância, usando técnicas matemáticas como análise de componentes principais (PCA). A distinção entre seleção de recursos e extração de recursosé que os recursos resultantes após a extração de recursos são de um tipo diferente dos recursos originais e podem não ser facilmente interpretáveis, enquanto os recursos restantes após a seleção de recursos são simplesmente um subconjunto dos recursos originais.

Declaração do problema

O problema do reconhecimento de padrões pode ser enunciado da seguinte forma: Dada uma função desconhecida(the ground truth ) que mapeia instâncias de entradapara saída de rótulos, juntamente com dados de treinamentoassumido para representar exemplos precisos do mapeamento, produza uma funçãoque se aproxime o máximo possível do mapeamento correto. (Por exemplo, se o problema for filtrar spam, entãoé alguma representação de um e-mail eé "spam" ou "não-spam"). Para que este seja um problema bem definido, "aproximações tão próximas quanto possível" precisam ser definidas com rigor. Na teoria da decisão , isso é definido pela especificação de uma função de perda ou função de custo que atribui um valor específico à "perda" resultante da produção de um rótulo incorreto. O objetivo então é minimizar a perda esperada , com a expectativa assumida sobre a distribuição de probabilidade de. Na prática, nem a distribuição denem a função de verdadesão conhecidos exatamente, mas podem ser calculados apenas empiricamente pela coleta de um grande número de amostras dee rotulá-los manualmente usando o valor correto de(um processo demorado, que normalmente é o fator limitante na quantidade de dados desse tipo que podem ser coletados). A função de perda específica depende do tipo de rótulo que está sendo previsto. Por exemplo, no caso de classificação , a simples função de perda zero-um geralmente é suficiente. Isso corresponde simplesmente a atribuir uma perda de 1 a qualquer rotulagem incorreta e implica que o classificador ótimo minimiza a taxa de erro em dados de teste independentes (ou seja, contando a fração de instâncias que a função aprendidarótulos incorretamente, o que equivale a maximizar o número de instâncias classificadas corretamente). O objetivo do procedimento de aprendizado é, então, minimizar a taxa de erro (maximizar a correção ) em um conjunto de teste "típico".

Para um reconhecedor de padrões probabilísticos, o problema é, em vez disso, estimar a probabilidade de cada rótulo de saída possível dada uma instância de entrada particular, ou seja, estimar uma função da forma

onde a entrada do vetor de características é, e a função f é tipicamente parametrizada por alguns parâmetros. [8] Em uma abordagem discriminativa do problema, f é estimado diretamente. Em uma abordagem generativa , no entanto, a probabilidade inversaé estimado e combinado com a probabilidade anterior usando a regra de Bayes , como segue:

Quando os rótulos são distribuídos continuamente (por exemplo, na análise de regressão ), o denominador envolve integração em vez de soma:

O valor deé tipicamente aprendido usando a estimativa máxima a posteriori (MAP). Isso encontra o melhor valor que atende simultaneamente a dois objetos conflitantes: Para ter o melhor desempenho possível nos dados de treinamento (menor taxa de erro ) e encontrar o modelo mais simples possível. Essencialmente, isso combina a estimativa de máxima verossimilhança com um procedimento de regularização que favorece modelos mais simples sobre modelos mais complexos. Em um contexto Bayesiano , o procedimento de regularização pode ser visto como a colocação de uma probabilidade prévia em diferentes valores de. Matematicamente:

Ondeé o valor usado parano procedimento de avaliação subsequente, e, a probabilidade posterior de, É dado por

Na abordagem Bayesiana para este problema, em vez de escolher um único vetor de parâmetro, a probabilidade de um determinado rótulo para uma nova instânciaé calculado integrando sobre todos os valores possíveis de, ponderado de acordo com a probabilidade posterior:

Abordagem frequente ou Bayesiana para reconhecimento de padrões

O primeiro classificador de padrões – o discriminante linear apresentado por Fisher – foi desenvolvido na tradição frequentista . A abordagem frequentista implica que os parâmetros do modelo sejam considerados desconhecidos, mas objetivos. Os parâmetros são então calculados (estimados) a partir dos dados coletados. Para o discriminante linear, esses parâmetros são precisamente os vetores médios e a matriz de covariância . Também a probabilidade de cada classeé estimado a partir do conjunto de dados coletados. Observe que o uso da ' regra de Bayes ' em um classificador de padrões não torna a abordagem de classificação bayesiana.

A estatística bayesiana tem sua origem na filosofia grega onde já se fazia distinção entre o conhecimento ' a priori ' e o ' a posteriori '. Mais tarde , Kant definiu sua distinção entre o que é conhecido a priori – antes da observação – e o conhecimento empírico adquirido a partir das observações. Em um classificador de padrão Bayesiano, as probabilidades de classepodem ser escolhidos pelo usuário, que são então a priori. Além disso, a experiência quantificada como valores de parâmetros a priori pode ser ponderada com observações empíricas – usando, por exemplo, as distribuições Beta- ( conjugado a priori ) e Dirichlet . A abordagem Bayesiana facilita uma mistura perfeita entre conhecimento especializado na forma de probabilidades subjetivas e observações objetivas.

Os classificadores de padrões probabilísticos podem ser usados ​​de acordo com uma abordagem freqüentista ou bayesiana.

Usa

O rosto foi detectado automaticamente por um software especial.

Dentro da ciência médica, o reconhecimento de padrões é a base para sistemas de diagnóstico auxiliado por computador (CAD). O CAD descreve um procedimento que apóia as interpretações e descobertas do médico. Outras aplicações típicas de técnicas de reconhecimento de padrões são o reconhecimento automático de fala , identificação de locutor , classificação de texto em várias categorias (por exemplo, mensagens de e-mail spam ou não spam), reconhecimento automático de caligrafia em envelopes postais, reconhecimento automático de imagens de rostos humanos, ou extração de imagens manuscritas de formulários médicos. [9] [10] Os dois últimos exemplos formam o subtópico análise de imagemde reconhecimento de padrões que lida com imagens digitais como entrada para sistemas de reconhecimento de padrões. [11] [12]

O reconhecimento óptico de caracteres é um exemplo da aplicação de um classificador de padrões. O método de assinar o nome de alguém foi capturado com caneta e sobreposição a partir de 1990. Os traços , velocidade, min relativa, máxima relativa, aceleração e pressão são usados ​​exclusivamente para identificar e confirmar a identidade. Os bancos receberam essa tecnologia pela primeira vez, mas se contentaram em cobrar do FDIC por qualquer fraude bancária e não queriam incomodar os clientes. [ citação necessária ]

O reconhecimento de padrões tem muitas aplicações do mundo real no processamento de imagens. Alguns exemplos incluem:

Na psicologia, o reconhecimento de padrões, que é usado para dar sentido e identificar objetos, está intimamente relacionado à percepção. Isso explica como as entradas sensoriais que os humanos recebem são significativas. O reconhecimento de padrões pode ser pensado de duas maneiras diferentes. A primeira diz respeito à correspondência de modelos e a segunda diz respeito à detecção de recursos. Um modelo é um padrão usado para produzir itens com as mesmas proporções. A hipótese de correspondência de modelos sugere que os estímulos recebidos são comparados com os modelos na memória de longo prazo. Se houver correspondência, o estímulo é identificado. Modelos de detecção de características, como o sistema Pandemonium para classificar letras (Selfridge, 1959), sugerem que os estímulos sejam divididos em suas partes componentes para identificação. Uma observação é um E maiúsculo com três linhas horizontais e uma linha vertical. [22]

Algoritmos

Algoritmos para reconhecimento de padrões dependem do tipo de saída do rótulo, se o aprendizado é supervisionado ou não e se o algoritmo é estatístico ou não estatístico por natureza. Os algoritmos estatísticos podem ainda ser categorizados como generativos ou discriminativos .

Métodos de classificação (métodos de previsão de rótulos categóricos)

Paramétrico: [23]

Não paramétrico: [24]

Métodos de agrupamento (métodos para classificar e prever rótulos categóricos)

Algoritmos de aprendizado conjunto (meta-algoritmos supervisionados para combinar vários algoritmos de aprendizado)

Métodos gerais para prever (conjuntos de) rótulos estruturados arbitrariamente

Algoritmos de aprendizado de subespaço multilinear (prevendo rótulos de dados multidimensionais usando representações de tensor)

Não supervisionado:

Métodos de rotulagem de sequência de valor real (prevendo sequências de rótulos de valor real)

Métodos de regressão (prevendo rótulos de valor real)

Métodos de rotulagem de sequências (prevendo sequências de rótulos categóricos)

Veja também

Referências

  1. ^ Howard, WR (2007-02-20). "Reconhecimento de padrões e aprendizado de máquina". Kybernetes . 36 (2): 275. doi : 10.1108/03684920710743466 . ISSN  0368-492X .
  2. ^ "Etiquetagem de sequência" (PDF) . utah.edu . Arquivado (PDF) do original em 2018-11-06 . Recuperado 2018-11-06 .
  3. ^ Ian., Chiswell (2007). Lógica matemática, p. 34 . Imprensa da Universidade de Oxford. ISBN 9780199215621. OCLC  799802313 .
  4. ^ Bispo, Christopher M. (2006). Reconhecimento de Padrões e Aprendizado de Máquina . Springer.
  5. ^ Carvalko, JR, Preston K. (1972). "Na determinação de transformações de marcação Golay simples ótimas para processamento de imagens binárias". Transações IEEE em Computadores . 21 (12): 1430-33. doi : 10.1109/TC.1972.223519 . S2CID 21050445 . {{cite journal}}: CS1 maint: multiple names: authors list (link).
  6. ^ Isabelle Guyon Clopinet, André Elisseeff (2003). Uma introdução à seleção de variáveis ​​e recursos . O Journal of Machine Learning Research, Vol. 3, 1157-1182. Link arquivado em 2016-03-04 na Wayback Machine
  7. ^ Iman Foroutan; Jack Sklansky (1987). "Seleção de recursos para classificação automática de dados não gaussianos". Transações IEEE em Sistemas, Homem e Cibernética . 17 (2): 187–198. doi : 10.1109/TSMC.1987.4309029 . S2CID 9871395 .  .
  8. ^ Para análise discriminante linear, o vetor de parâmetrosconsiste nos dois vetores médiosee a matriz de covariância comum .
  9. ^ Milewski, Robert; Govindaraju, Venu (31 de março de 2008). "Binarização e limpeza de texto manuscrito de imagens de formulário médico de cópia carbono" . Reconhecimento de padrões . 41 (4): 1308-1315. doi : 10.1016/j.patcog.2007.08.018 . Arquivado a partir do original em 10 de setembro de 2020 . Recuperado em 26 de outubro de 2011 .
  10. ^ Sarangi, Susanta; Sahidullah, Md; Saha, Goutam (setembro de 2020). "Otimização do banco de filtros orientado a dados para verificação automática de alto-falante". Processamento Digital de Sinais . 104 : 102795. arXiv : 2007.10729 . doi : 10.1016/j.dsp.2020.102795 . S2CID 220665533 . 
  11. ^ Richard O. Duda , Peter E. Hart , David G. Stork (2001). Classificação de padrões (2ª ed.). Wiley, Nova York. ISBN 978-0-471-05669-0. Arquivado a partir do original em 19/08/2020 . Recuperado 2019-11-26 .{{cite book}}: CS1 maint: multiple names: authors list (link)
  12. ^ R. Brunelli, Técnicas de correspondência de modelos em visão computacional: teoria e prática , Wiley, ISBN 978-0-470-51706-2 , 2009 
  13. ^ O TUTORIAL DE RECONHECIMENTO AUTOMÁTICO DE PLACAS DE NÚMERO Arquivado em 2006-08-20 na Wayback Machine http://anpr-tutorial.com/ Arquivado em 2006-08-20 na Wayback Machine
  14. Neural Networks for Face Recognition Arquivado em 2016-03-04 no Wayback Machine Companion to Chapter 4 do livro Machine Learning.
  15. ^ Poddar, Arnab; Sahidullah, Md; Saha, Goutam (março de 2018). "Verificação do locutor com enunciados curtos: uma revisão de desafios, tendências e oportunidades" . Biometria IET . 7 (2): 91–101. doi : 10.1049/iet-bmt.2017.0065 . Arquivado a partir do original em 2019-09-03 . Recuperado 2019-08-27 .
  16. ^ PAPNET para triagem cervical arquivado 2012-07-08 em archive.today
  17. ^ "Desenvolvimento de uma estratégia de controle de veículos autônomos usando uma única câmera e redes neurais profundas (2018-01-0035 Technical Paper) - SAE Mobilus" . saemobilus.sae.org . Arquivado a partir do original em 2019-09-06 . Recuperado 2019-09-06 .
  18. ^ Gerdes, J. Christian; Kegelman, John C.; Kapania, Nitin R.; Brown, Mateus; Spielberg, Nathan A. (2019-03-27). "Modelos de veículos de rede neural para condução automatizada de alto desempenho" . Robótica Científica . 4 (28): eaaw1975. doi : 10.1126/scirobotics.aaw1975 . ISSN 2470-9476 . PMID 33137751 . S2CID 89616974 .   
  19. ^ Pickering, Chris (2017-08-15). "Como a IA está abrindo caminho para carros totalmente autônomos" . O Engenheiro . Arquivado a partir do original em 2019-09-06 . Recuperado 2019-09-06 .
  20. ^ Ray, Baishakhi; Jana, Suman; Pei, Kexin; Tian, ​​Yuchi (28/08/2017). "DeepTest: Teste Automatizado de Carros Autônomos acionados por Rede Neural Profunda". arXiv : 1708.08559 . Bibcode : 2017arXiv170808559T . {{cite journal}}: Cite journal requires |journal= (help)
  21. ^ Sinhá, PK; Hadjiiski, LM; Mutib, K. (1993-04-01). "Redes Neurais no Controle de Veículos Autônomos". Volumes de Anais da IFAC . 1º Workshop Internacional da IFAC sobre Veículos Autônomos Inteligentes, Hampshire, Reino Unido, 18–21 de abril. 26 (1): 335–340. doi : 10.1016/S1474-6670(17)49322-0 . ISSN 1474-6670 . 
  22. ^ "A-level Psychology Attention Revision - reconhecimento de padrões | S-cool, o site de revisão" . S-cool.co.uk. Arquivado a partir do original em 22/06/2013 . Recuperado 2012-09-17 .
  23. ^ Assumindo uma forma de distribuição conhecida de distribuições de recursos por classe, como a forma gaussiana .
  24. ^ Nenhuma suposição distributiva sobre a forma de distribuições de recursos por classe.

Leitura adicional

Links externos