Autor: Zen e a arte da programação de computadores
1. Introdução
1. Definição
"Aprendizado de máquina" é um processo iterativo de construção de um modelo baseado em dados, otimização de parâmetros e resolução da função objetivo. Os parâmetros do modelo são estimados por meio do conjunto de treinamento para prever ou classificar novos dados. Devido à sua forte interpretabilidade natural e ampla gama de aplicações, tornou-se uma das direções de pesquisa mais populares e importantes no campo da inteligência artificial atualmente.
2. Visão geral
A tarefa do aprendizado de máquina é aprender um modelo a partir de dados fornecidos que possa fazer boas previsões ou classificações em dados desconhecidos. Para uma determinada tarefa, normalmente existem três dificuldades principais que precisam ser enfrentadas:
(1) A quantidade de dados é muito pequena: Por exemplo, a quantidade de dados exigida pelos métodos estatísticos tradicionais é muito grande e não pode lidar eficazmente com problemas de grande escala.
(2) Relações não lineares complexas: Muitos problemas do mundo real têm relações não lineares complexas, o que torna muito difícil a modelagem usando métodos estatísticos tradicionais.
(3) Falta de informação suficiente: Em muitos casos, mesmo que existam dados suficientes, ainda é impossível obter informação suficiente para modelação. Por exemplo, num sistema de diagnóstico de saúde, não existe uma ligação óbvia entre as várias características dos sintomas do paciente e o resultado final do diagnóstico.Portanto, mesmo que existam registos de casos, os sintomas do paciente não podem ser associados a tempo para formar um modelo eficaz.
Para resolver os três problemas acima, o aprendizado de máquina propõe uma nova estrutura - a hipótese de dados estruturados.Com esta hipótese, um modelo abstrato e baseado em regras é estabelecido, e os dados são gradualmente ajustados para tornar o modelo eficiente e preciso. Capacidade preditiva e generalização adicional para amostras novas e invisíveis.
3. Conceitos básicos
Antes de começarmos a discutir modelos matemáticos específicos, devemos primeiro compreender alguns conceitos importantes.
(1) Aprendizagem supervisionada
No processo de aprendizagem supervisionada, o sistema consiste em entrada e saída, onde a entrada é chamada de vetor de característica ou vetor de amostra, e a saída é o valor do rótulo ou rótulo de categoria correspondente. Através da aprendizagem supervisionada, o sistema pode aprender a interação entre recursos para classificar e prever dados desconhecidos. A aprendizagem supervisionada é dividida em duas subcategorias:
1. Problema de classificação: o valor da variável de entrada X só pode ser um número limitado de valores discretos, e o valor da variável de saída Y só pode ser um número limitado de valores discretos. Algoritmos de classificação comumente usados incluem árvores de decisão, métodos bayesianos, redes neurais, máquinas de vetores de suporte, K-vizinhos mais próximos, métodos de reforço, etc.
2. Problema de regressão: O valor da variável de entrada X pode ser um valor contínuo, e o valor da variável de saída Y também pode ser um valor contínuo. Algoritmos de regressão comumente usados incluem regressão simples, regressão de crista, regressão ponderada local, regressão de laço, etc.
(2) Aprendizagem não supervisionada
A aprendizagem não supervisionada não requer informações de saída. O próprio sistema analisa, agrupa, reduz dimensionalmente, modela, etc. Algoritmos de aprendizagem não supervisionados comumente usados incluem clustering, clustering de densidade, detecção de anomalias, análise de componentes principais, regras de associação, análise fatorial, etc.
(3) Amostras e recursos
O modelo de aprendizado de máquina aprende os dados de entrada e obtém uma função ou relação de mapeamento g(x), que é usada para previsão ou classificação. Entre eles, os dados de entrada contêm múltiplas amostras e cada amostra contém vários recursos. Os recursos representam certos aspectos da amostra, como valores de pixel na imagem, palavras, frases no texto, etc.; enquanto a amostra representa uma entidade ou coisa real, como um objeto na imagem, uma frase no text , um conjunto de comportamentos de compra.
(4) Função objetivo
A função objetivo é o efeito que o sistema de aprendizagem espera alcançar e descreve a relação entre a função de perda e o tamanho do erro da saída do modelo, permitindo ao sistema minimizar ou maximizar a função objetivo com base na taxa de erro. Funções objetivo comuns incluem entropia cruzada, perda 0/1, erro quadrático médio, perda de termo regular L2, etc.
(5) Hiperparâmetros
Os hiperparâmetros referem-se aos parâmetros do modelo de aprendizado de máquina, que são parâmetros internos ao algoritmo de aprendizado de máquina e estão diretamente relacionados ao desempenho do modelo. São parâmetros definidos artificialmente pelo projetista do modelo, como o coeficiente de penalidade λ, a taxa de aprendizagem α, o número de nós da árvore m, etc. Os hiperparâmetros afetam a velocidade de treinamento, a precisão e a capacidade de generalização do modelo.
4. Algoritmo de árvore de decisão
Árvore de decisão é um algoritmo de aprendizado de máquina comumente usado, é um algoritmo ganancioso que divide recursivamente o espaço e seleciona o método de divisão ideal até que todas as amostras sejam completamente classificadas.
(1) Processo básico
O processo básico do algoritmo da árvore de decisão é o seguinte:
- Colete dados: limpe, prepare e divida os dados em diferentes conjuntos com base em amostras e recursos.
- Construir uma árvore de decisão: Construa uma árvore em que cada nó represente um julgamento condicional. De acordo com os princípios do algoritmo da árvore de decisão, o melhor atributo de teste é selecionado no nó e, em seguida, os dois subconjuntos de nós filhos são processados, respectivamente.
- Poda: Quando a profundidade da árvore é muito grande, a árvore pode ser comprimida através da poda para reduzir o sobreajuste.
- Avaliação do modelo: Avalie a qualidade da árvore de decisão através de padrões de medição, como entropia, índice de Gini, etc.
(2) Terminologia da árvore de decisão
(a) Nó raiz
O nó raiz é o nó inicial da árvore de decisão e representa o ponto inicial da tomada de decisão de toda a árvore de decisão.(b) Nó de terminação
O nó terminal refere-se ao nó no qual todos os nós filhos da árvore de decisão não podem mais ser divididos. Para problemas de classificação, representa a categoria correspondente ao nó folha. Para problemas de regressão, representa o valor correspondente ao nó folha.(c) Nós internos
Os nós internos representam um julgamento condicional e são nós que podem continuar a ser divididos.(d) Nó pai
O nó pai refere-se ao nível acima do nó atual.(e) Nó filho
Os nós filhos referem-se ao nível abaixo do nó atual.(f) Propriedades
Um atributo refere-se a uma característica de uma coisa, que pode ser um valor contínuo ou um valor discreto.(g) Grau do nó
O grau de um nó representa o número de nós filhos que um nó possui.(h) ponto de divisão
O ponto de divisão refere-se ao valor de divisão de dois nós filhos, que é usado para dividir a amostra.(i) Amostra
Uma amostra refere-se a um registro no conjunto de dados, que consiste em vários valores de recursos.(j) Categoria da amostra
A categoria da amostra refere-se ao valor de saída da amostra, que é o resultado previsto pelo algoritmo da árvore de decisão.(k) Nó folha
Os nós folha referem-se aos nós onde a divisão foi concluída.(l) Nó pai
O nó pai refere-se ao predecessor direto de um nó e seu nível superior é o nó ancestral.(m) nó filho
Um nó filho refere-se ao sucessor direto de um nó e seu próximo nível é o nó descendente.(n) comprimento do caminho
O comprimento do caminho refere-se ao número de arestas do nó raiz até um nó folha.(o) Profundidade
A profundidade se refere ao número de arestas no caminho mais longo do nó raiz ao nó folha.(p) Divisão equilibrada
O particionamento balanceado significa que cada nó interno possui dois nós filhos ou nós filhos esquerdo e direito, e os tamanhos dos nós filhos em ambos os lados devem ser semelhantes.(3) Explicação detalhada do algoritmo
(a) Construir árvore
O processo de construção de uma árvore pode ser descrito como: a partir do nó raiz, calcule todos os pontos de divisão possíveis para cada nó e divida o espaço de entrada em dois subespaços de acordo com os pontos de divisão selecionados, de modo que as amostras em cada subespaço sejam divididas tanto quanto possível, podem ser obtidos e esses subespaços estão completos (ou seja, eles contêm todas as amostras). O mesmo método é então chamado recursivamente em ambos os subespaços até que todos os subespaços contenham apenas uma amostra. Neste momento, uma árvore binária completa será gerada, e esta árvore constitui uma árvore de decisão.(b) Selecione o ponto de divisão ideal
Para nós internos, se todas as amostras pertencerem à mesma classe, pare de dividir porque nenhuma divisão pode maximizar o ganho de informação. Para nós internos, percorra todos os pontos de divisão possíveis e calcule o ganho de informação dos dois subespaços com o ponto de divisão como valor de divisão. Selecione o ponto divisório com o maior ganho de informação como ponto divisório do nó.(c) Calcular o ganho de informação
O ganho de informação refere-se à quantidade de informação fornecida para um determinado recurso, tornando mais fácil prever quão bem os dados são classificados de acordo com o recurso. É o recíproco da entropia. Supondo que o recurso A tenha V valores possíveis, então calcular a entropia de informação H(A) do recurso A é: $$ H(A)=\sum_{v=1}^V-\frac{|C_v|}{| D |}log_2\frac{|C_v|}{|D|} $$ Entre eles, $|C_v|$ é o número de amostras com o recurso A tendo valor v, $|D|$ é o número total de amostras, $ -log_2 \ frac{|C_v|}{|D|}$ representa a proporção de amostras com o recurso A tendo valor v. O ganho de informação representa a redução na incerteza da informação do recurso A, mesmo que o recurso A mude, a quantidade de informação diminuirá. Quanto maior o ganho de informação, melhor o recurso classifica a amostra. Quanto menor o ganho de informação, pior será o efeito de classificação do recurso na amostra. Portanto, recursos com grande ganho de informação geralmente devem ser selecionados primeiro.(d) Construir nós folha
O processo de construção de nós folha é semelhante ao processo de construção de uma árvore de decisão. Se após a divisão ser concluída, os nós filhos contiverem apenas amostras de um tipo, a divisão será interrompida. Caso contrário, continue a dividir recursivamente os subnós até que todos os subnós contenham apenas um tipo de amostra.(e) Poda
Poda refere-se ao processo de poda de uma árvore de decisão. Ele mescla ou exclui árvores por meio de certas estratégias para reduzir a complexidade da árvore ou melhorar o desempenho de previsão da árvore. Através da poda, o overfitting pode ser evitado e a capacidade de previsão da árvore de decisão pode ser melhorada. As estratégias de poda comuns incluem:(i) Pré-poda
No processo de geração de uma árvore de decisão, os nós folha que já são puros (ou seja, amostras sem nenhum registro de erro) são mesclados para reduzir o tamanho da árvore de decisão.(ii) Pós-poda
Depois de gerar uma árvore de decisão completa, os nós folhas mais rasos são mesclados para que a largura da árvore de decisão não exceda um determinado limite, reduzindo assim a complexidade da árvore de decisão.(f) Geração de árvore de decisão
A geração de árvore de decisão refere-se ao processo de construção recursiva de uma árvore com base em amostras de dados até que todos os nós folha contenham apenas a mesma categoria ou valor. A geração de árvores de decisão geralmente é dividida nas seguintes etapas: - Gere nós iniciais com base nos dados do conjunto de treinamento de entrada;
- Teste o nó inicial para decidir se deve dividi-lo em dois nós filhos;
- Se a condição de parada for atendida, o nó atual é marcado como nó folha e sua categoria é marcada como resultado do teste;
- Se o nó atual não for um nó folha, repita as etapas 2 a 3 para os dois nós filhos em sequência até que todos os nós folha contenham apenas a mesma categoria ou valor.
(g) Vantagens e desvantagens do algoritmo de árvore de decisão
O algoritmo de árvore de decisão tem as seguintes vantagens: - Intuitivos e compreensíveis: As árvores de decisão são fáceis de entender e interpretar, representam os padrões internos dos dados de forma muito intuitiva e são fáceis de implementar e operar.
- Pode lidar com dados multidimensionais: O algoritmo da árvore de decisão pode lidar facilmente com dados multidimensionais e reduzir a dimensionalidade dos dados, mantendo a correlação entre os recursos dos dados de entrada, tornando a árvore de decisão mais fácil de processar.
- Irrestrito: O algoritmo da árvore de decisão não possui nenhum requisito quanto à distribuição e características dos dados. Ele pode lidar com qualquer tipo de dados de entrada e não está sujeito a restrições como tamanho dos dados de entrada, distribuição de valores, etc.
- Estabilidade: O algoritmo da árvore de tomada de decisão usa a ideia de "algoritmo ganancioso" e seleciona apenas uma variável de segmentação e um ponto de segmentação da escolha ideal atual a cada vez, de modo que a função de perda geral seja reduzida.
- Adequado para processamento de dados nominais: O algoritmo de árvore de decisão é adequado apenas para processamento de dados nominais. Para dados ordenados, discretos ou com distribuição de densidade, o algoritmo de árvore de decisão pode ser insuficientemente ajustado.
- Lide facilmente com valores ausentes no estágio de geração da árvore: o algoritmo da árvore de decisão pode lidar com valores ausentes usando votação majoritária e pode realizar a seleção de recursos de forma eficiente durante o estágio de geração da árvore. No entanto, o algoritmo da árvore de decisão também apresenta as seguintes deficiências:
- O algoritmo da árvore de decisão pode se ajustar demais a pequenos conjuntos de dados (como milhões de dados).
- O algoritmo da árvore de decisão não conduz à seleção de recursos de dados.
- O algoritmo da árvore de decisão não é sensível a valores discrepantes.