Algoritmo de impulso - Tipos de algoritmo de impulso com seu trabalho

Índice:

Anonim

O que é o algoritmo de impulso?

Impulsionar é o método em algoritmos que convertem aprendiz fraco em aprendiz forte. É uma técnica que adiciona novos modelos para corrigir os erros dos modelos existentes.

Exemplo:

Vamos entender esse conceito com a ajuda do exemplo a seguir. Vamos dar um exemplo do email. Como você reconhecerá seu email, seja spam ou não? Você pode reconhecê-lo pelas seguintes condições:

  • Se um email contém muitas fontes como essa, significa que é spam.
  • Se um email contiver apenas uma imagem de arquivo, será spam.
  • Se um email contiver a mensagem "Você possui uma loteria no valor de $ xxxxx", isso significa que é spam.
  • Se um email contém alguma fonte conhecida, não é spam.
  • Se ele contém o domínio oficial como educba.com, etc, significa que não é spam.

As regras acima mencionadas não são tão poderosas para reconhecer o spam ou não; portanto, essas regras são chamadas de aprendizes fracos.

Para converter um aluno fraco em um aluno forte, combine a previsão do aluno fraco usando os métodos a seguir.

  1. Usando média ou média ponderada.
  2. Considere que a previsão tem um voto mais alto.

Considere as 5 regras acima mencionadas, há 3 votos para spam e 2 votos para não spam. Como existe um grande número de spam de votos, nós o consideramos spam.

Como funciona o algoritmo de reforço?

O aumento de algoritmos combina cada aluno fraco para criar uma regra de previsão forte. Para identificar a regra fraca, existe um algoritmo de aprendizado básico (Machine Learning). Sempre que o algoritmo Base é aplicado, ele cria novas regras de previsão usando o processo de iteração. Após alguma iteração, ele combina todas as regras fracas para criar uma única regra de previsão.

Para escolher a distribuição correta, siga as etapas abaixo mencionadas:

Etapa 1: o algoritmo Base Learning combina cada distribuição e aplica peso igual a cada distribuição.

Etapa 2: se ocorrer alguma previsão durante o primeiro algoritmo de aprendizado básico, prestamos muita atenção a esse erro de previsão.

Etapa 3: Repita a etapa 2 até que o limite do algoritmo Base Learning tenha sido atingido ou com alta precisão.

Etapa 4: Finalmente, combina todo o aluno fraco para criar um tule de previsão forte.

Tipos de algoritmo de impulso

Os algoritmos de reforço usam diferentes mecanismos, como carimbo de decisão, algoritmo de classificação para maximizar a margem, etc. Existem três tipos de algoritmos de reforço, que são os seguintes:

  1. Algoritmo AdaBoost (Adaptive Boosting)
  2. Algoritmo de aumento de gradiente
  3. Algoritmo XG Boost

Algoritmo AdaBoost (Adaptive Boosting)

Para entender o AdaBoost, consulte a imagem abaixo:

Caixa 1: Na Caixa 1, para cada conjunto de dados, atribuímos pesos iguais e, para classificar os sinais de mais (+) e de menos (-), aplicamos o coto de decisão D1, que cria uma linha vertical no lado esquerdo da caixa 1. Essa linha incorretamente previu três sinais de mais (+) como menos (-), portanto, aplicamos pesos mais altos a esses sinais de adição e aplicamos outro coto de decisão.

Caixa 2: na caixa 2, o tamanho de três sinais de adição previstos incorretamente (+) se torna maior em comparação com outro. A segunda decisão, coto D2, no lado direito do bloco, prediz esse sinal de adição previsto incorretamente (+) como correto. Porém, como ocorreu um erro de classificação incorreta devido ao peso desigual com um sinal de menos (-), atribuímos um peso maior a um sinal de menos (-) e aplicamos outro toco de decisão.

Caixa 3: Na caixa três, devido a um erro de classificação incorreta, o sinal de menos três (-) tem um peso alto. aqui o coto de decisão D3 é aplicado para prever essa classificação incorreta e corrigi-la. Este tempo para classificar a linha horizontal do sinal de mais (+) e menos (-) é criado.

Caixa 4: Na caixa 4, o coto de decisão D1, D2 e ​​D3 são combinados para criar uma nova previsão forte.

Os trabalhos de Adaptive Boosting são semelhantes aos mencionados acima. Ele combina o grupo de alunos fracos com base na idade do peso para criar um aluno forte. Na primeira iteração, atribui peso igual a cada conjunto de dados e começa a prever esse conjunto de dados. Se ocorrer uma previsão incorreta, isso dará muito peso a essa observação. Reforço adaptativo repita esse procedimento na próxima fase da iteração e continue até que a precisão seja alcançada. Em seguida, combina isso para criar uma forte previsão.

Algoritmo de aumento de gradiente

O algoritmo de aumento de gradiente é uma técnica de aprendizado de máquina para definir e reduzir a função de perda. É usado para resolver problemas de classificação usando modelos de previsão. Envolve as seguintes etapas:

1. Função de Perda

O uso da função de perda depende do tipo de problema. A vantagem do aumento de gradiente é que não há necessidade de um novo algoritmo de aumento para cada função de perda.

2. aluno fraco

No aumento do gradiente, as árvores de decisão são usadas como um aluno fraco. Uma árvore de regressão é usada para fornecer valores verdadeiros que podem ser combinados para criar previsões corretas. Como no algoritmo AdaBoost, pequenas árvores com divisão única são usadas, isto é, coto de decisão. Árvores maiores são usadas para grandes níveis i, e 4-8.

3. Modelo Aditivo

Nesse modelo, as árvores são adicionadas uma de cada vez. as árvores existentes permanecem as mesmas. Durante a adição de árvores, a descida de gradiente é usada para minimizar a função de perda.

XG Boost

XG Boost é a abreviação de Extreme Gradient Boosting. O XG Boost é uma implementação atualizada do Algoritmo de aumento de gradiente, desenvolvido para alta velocidade computacional, escalabilidade e melhor desempenho.

O XG Boost possui vários recursos, como a seguir:

  1. Processamento paralelo: O XG Boost fornece processamento paralelo para a construção de árvores que usam núcleos de CPU durante o treinamento.
  2. Validação cruzada: o XG Boost permite que os usuários executem a validação cruzada do processo de otimização a cada iteração, facilitando a obtenção do número ideal exato de iterações de otimização em uma execução.
  3. Otimização de cache: fornece otimização de cache dos algoritmos para maior velocidade de execução.
  4. Computação distribuída : Para o treinamento de modelos grandes, o XG Boost permite a computação distribuída.

Artigos recomendados

Neste artigo, vimos o que é o algoritmo de reforço, vários tipos de algoritmo de reforço no aprendizado de máquina e seu trabalho. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é aprendizado de máquina? | Uma definição
  2. Linguagens de programação para aprender algoritmos
  3. O que é a tecnologia Blockchain?
  4. O que é um algoritmo?