Este artigo será dividido em 3 partes ( Teoria / Métodos e Algoritmos para Solução de Problemas / Desenvolvimento e Implementação em Java ) para descrever o quadro completo. O primeiro artigo incluirá apenas teoria para preparar a mente dos leitores.
Objetivo do artigo:
- Automatização parcial ou total da tarefa de agrupamento e classificação de big data, nomeadamente dados de texto.
- Aplicação de algoritmos de aprendizado de máquina "não supervisionado" (clustering) e "supervisionado" (classificação).
- Análise de soluções de problemas atuais.
Tarefas a serem consideradas em geral:
- Desenvolvimento e aplicação de algoritmos e métodos para processamento de linguagem natural.
- Desenvolvimento e aplicação de métodos de clustering para determinar os grupos de cluster de documentos de entrada.
- Aplicação de métodos de classificação para definir o objeto de cada grupo de cluster
- Desenvolvimento de interface web baseado em Java Vaadin
Hipóteses que deduzi do problema e ao ensinar teoria:
- A classificação de grupos de agrupamentos define um conhecimento oculto abstrato e mais valioso, ignorando o ruído, do que a classificação de objetos individuais.
- A precisão do agrupamento é diretamente proporcional ao número de grupos de agrupamento e inversamente proporcional ao número de objetos em um grupo de agrupamento.
Para qualquer pessoa interessada no algoritmo em si, aqui está uma visão geral.
O algoritmo de software de aprendizado de máquina consiste em 3 partes principais:
- Processamento de linguagem natural.
- tokenização;
- lematização;
- parar de listar;
- frequência da palavra;
- Métodos de agrupamento.
TF-IDF;
SVD;
encontrar grupos de cluster;
- Métodos de classificação - API Aylien.
Então, vamos começar a teoria.
1. O conceito de aprendizado de máquina
‒ , , . – , , - . “ , , , . , ?”. ‒ , “”. – , , — , .
. , , , , , . - () . , , , .. , ? — , , . ? — , . .
, , , , . , , , , . , . , , . , .
, . ‒ . , . , , . . , " ", . , , .
()? , : “ , E T P, T, P, E”. , E , T , P , . – E, , 100 . “” .
, , . . , , , .
, .
2.
‒ , :
- ‒ . , .
- ‒ . , , , .
- – , , . . , . , ‒ , .
- ‒ , . , .
. , , , . , . , , , . ‒ , , , , .
, , , , , .
, . . , . . , . , . , , , . , .
, , . , . , Google, Yahoo, Microsoft, Amazon , . , , Facebook, YouTube Twitter, . , , , , .
, . , . . , . , , , , , .
, . , , . , , .
, . , , , , , , , , , , , / .. , / . , .
Concluindo, podemos dizer que big data e machine learning estão intimamente relacionados, já que big data é inútil sem sua análise e extração de informações, e machine learning não poderia coexistir sem big data, o que dá experiência e aprendizado ao algoritmo.
3. Tipos de aprendizado de máquina
O aprendizado de máquina, como ciência, pode ser classificado em 3 categorias principais, dependendo da natureza do aprendizado:
- ensinando com um professor;
- ensino sem professor;
- aprendizagem por reforço.
Em alguns trabalhos científicos, por natureza, a aprendizagem é dividida em 4 categorias, que incluem aprendizagem parcial, mas esta é apenas uma simbiose de aprendizagem com um professor e sem professor.
3.1. Aprendendo com um professor
, , , , . , , . , . . , . , , , , . , .
Para resolver o problema de aplicação da aprendizagem supervisionada, devem ser seguidos os seguintes passos:
- Determine o tipo de exemplos de treinamento. Em primeiro lugar, você precisa decidir quais dados devem ser usados como um conjunto de treinamento.
- Coleção de dados. O conjunto de dados deve ser representativo do uso real da função. Assim, um conjunto de recursos de entrada e saídas associadas são coletados.
- Determinação da representação de entrada do objeto da função estudada. A precisão da função que está sendo estudada é altamente dependente de como o objeto de entrada é representado. Normalmente, um objeto de entrada é convertido em um vetor de objetos que contém uma série de objetos que descrevem o objeto. O número de funções não deve ser muito grande, devido à "maldição da dimensão", mas deve conter informações suficientes para prever com precisão o resultado.
- .
- . . . ( ) .
- . , , .
Algoritmos são treinados usando exemplos pré-processados e, neste estágio, o desempenho dos algoritmos é avaliado usando dados de teste. Às vezes, os padrões identificados em um subconjunto de dados não podem ser encontrados em uma população maior de dados. Se o modelo for adequado apenas para representar padrões que existem em um subconjunto de treinamento, um problema chamado “Overfitting” é criado.
Overfitting significa que o modelo é ajustado para o conjunto de dados de treinamento, mas não pode ser aplicado a grandes conjuntos de dados desconhecidos. Para proteger contra overfitting, o teste deve ser feito contra dados inesperados ou desconhecidos. Usar dados inesperados para um conjunto de testes pode ajudá-lo a avaliar a precisão de um modelo ao prever resultados. Os modelos de aprendizagem supervisionada têm ampla aplicabilidade a uma variedade de problemas de negócios, incluindo detecção de fraude, recomendação, reconhecimento de voz ou análise de risco.
Os algoritmos de aprendizagem supervisionada mais amplamente usados e populares são:
- máquina de vetores de suporte;
- regressão linear;
- regressão logística;
- classificador bayesiano ingênuo;
- treinamento em árvore de decisão;
- método dos k-vizinhos mais próximos;
- rede neural artificial;
- estudo de semelhanças.
Cada um dos algoritmos acima tem diferentes abordagens para fórmulas e métodos matemáticos estatísticos e matemáticos. Mas o padrão geral do algoritmo pode ser enfatizado, uma vez que todos esses algoritmos são de aprendizagem supervisionada:
n (x_1,y_1),(x_2,y_2),...,(x_n,y_n), x_i ‒ , y_i ‒ . , x_i , , , , . y_i «” „“.
‒ m : (xn+1, xn+2,..., xn+m) * (x_(n+1),x_(n+2),...,x_(n+m) ). , , (, “” “ ”), , .
3.3.
‒ . , . , () . . , “” .
, , (), . , , . ‒ ‒ .
, , . , , , . , , , . , , , , .
O dilema é que nem o aprendizado nem o domínio podem ser realizados exclusivamente sem falhas na tarefa. O algoritmo deve tentar ações diferentes e gradualmente favorecer as que parecem melhores. Em um problema estocástico, cada ação deve ser tentada repetidamente para obter uma estimativa confiável. O dilema do aprendizado-domínio foi intensamente estudado por matemáticos por muitas décadas, mas permanece sem solução.
Os erros o ajudam a aprender porque acrescentam uma medida de disciplina (custo, tempo perdido, arrependimento, dor, etc., ensinando que um determinado curso de ação é menos provável do que outros). por si próprios sem intervenção humana.
O aprendizado de máquina também pode ser classificado com base nos resultados desejados:
- classificação;
- agrupamento;
- regressão.
Os algoritmos de regressão são comumente usados para análises estatísticas. A regressão ajuda a analisar relacionamentos de modelo entre pontos de dados. Algoritmos de regressão podem quantificar a força da correlação entre as variáveis em um conjunto de dados. Além disso, a análise de regressão pode ser útil para prever valores de dados futuros com base em valores históricos. É importante lembrar, no entanto, que a análise de regressão pressupõe que a correlação é sobre causa e efeito. Sem entender o contexto em torno dos dados, a análise de regressão pode levar a previsões imprecisas. Tipos de regressão:
- regressão linear;
- regressão não linear;
- regressão vetorial;
- regressão logística.
O agrupamento é uma técnica bastante simples de entender. Objetos com parâmetros semelhantes são agrupados (em um cluster). Todos os objetos em um cluster são mais semelhantes uns aos outros do que aos objetos em outros clusters. O clustering é um tipo de aprendizado não supervisionado porque o próprio algoritmo determina as características gerais dos elementos nos dados. O algoritmo interpreta os parâmetros que constituem cada elemento e os agrupa de acordo.
Categorias de agrupamento:
- método de k-médias;
- clustering espacial baseado em densidade para aplicações ruidosas - DBSCAN;
- algoritmo de agrupamento OPTICS;
- método dos componentes principais.
Mas é importante notar que no agrupamento, especialmente no aprendizado não supervisionado, o algoritmo procura conexões entre os dados de entrada. A beleza do aprendizado de máquina é encontrar conexões ocultas entre os dados, mais conhecidas como conexões latentes. Para o agrupamento em busca de relações latentes, é utilizado um modelo de variáveis ocultas, que é aplicado para estudar as relações entre os valores das variáveis. O modelo de variável oculta inclui:
- Algoritmo EM;
- método dos momentos;
- separação cega de sinal;
- método dos componentes principais;
- análise de componentes independentes;
- decomposição de matriz não negativa;
- decomposição de valor singular.
Classificação é o processo de prever uma classe de dados dados. Às vezes, as classes são chamadas de rótulos ou categorias. A modelagem preditiva de classificação é o problema de aproximar uma função de mapeamento (f) de variáveis de entrada (X) para variáveis de saída discretas (y) . A classificação pertence à categoria de aprendizagem supervisionada. Tipos de esquemas de classificação:
- tesauro;
- taxonomia;
- modelo de dados;
- Rede de transporte;
- ontologia.
Já no aprendizado de máquina, os tipos de classificação são feitos de acordo com os tipos de algoritmos que de uma forma ou de outra se referem a esquemas de classificação. Os algoritmos de aprendizagem mais amplamente usados são:
- máquina de vetores de suporte;
- regressão logística;
- classificador bayesiano ingênuo;
- método dos k-vizinhos mais próximos;
- rede neural artificial;
- .
4.
, . . , . – . ‒ , , – . , . , .
(NLP) ‒ . ‒ , , ( ) . , , , . , .
, , .
, , . , . ( ) (), . / . . , , . : () .
, . , -, , ‒ . (NLP). NLP ‒ (-) . NLP , , . NLP, , : . , , ( ). NLP , . NLP, , . , :
- ‒ () , . – . , . .
- ‒ , . ? , () , . . . , , . .
- – , . , . , :
- , , , , .
- ,
, . , .
- - ‒ - , , , , - , . .
- – . , . , , ( ).
, , . , . . . . . , , . .
No aprendizado de máquina, um documento de texto pode se sobrepor a muitas categorias em uma classificação ou a muitos clusters em clustering. Os algoritmos de amostragem de recursos mais comumente usados são:
- Frequência do termo - Frequência inversa do documento (TF-IDF) é comumente usada para ponderar cada palavra em um documento de texto de acordo com sua exclusividade. O peso da palavra (token) é frequentemente usado para recuperação de informações e análise semântica de texto. Este peso é uma medida estatística usada para avaliar a importância de uma palavra para um documento em uma coleção ou corpus.Em outras palavras, a abordagem do TF-IDF reflete a relevância das palavras, documentos de texto e categorias específicas.
- Word2Vec é uma ferramenta (conjunto de algoritmos) para o cálculo de representações vetoriais de palavras, implementando duas arquiteturas principais - Continuous Packet of Words (CBOW) e Skip-gram. Um documento de texto ou palavra é passado como entrada e a saída será representada como variáveis vetoriais (coordenadas no espaço vetorial).
Posfácio
Na verdade, a teoria do aprendizado de máquina é muito vasta e vasta. Aqui escrevi com palavras mais abstratas e mais simples. Se houver alterações no texto ou na teoria, por favor, escreva. O objetivo deste artigo, novamente, é preparar os leitores para os problemas e soluções mais práticos.
Deixe um comentário se você estiver esperando por mais.