Impulsionando redes neurais

21

Bem, recentemente, eu estava trabalhando no aprendizado de algoritmos de impulso, como adaboost, aumento de gradiente, e eu sabia que o mais comumente usado é o árvores. Eu realmente quero saber se existem alguns exemplos bem-sucedidos recentes (refiro-me a alguns artigos ou artigos) para o uso de redes neurais como aprendiz básico.

user4380802
fonte
Esta pode ser uma leitura interessante para você: arxiv.org/pdf/1706.04964.pdf
Daniel

Respostas:

8

Para impulsionar, classificadores fracos ou instáveis ​​são usados ​​como alunos de base. É esse o caso, pois o objetivo é gerar limites de decisão consideravelmente diferentes. Então, um bom aluno de base é altamente tendencioso, ou seja, o resultado permanece basicamente o mesmo, mesmo quando os parâmetros de treinamento para os alunos de base são ligeiramente alterados.

Nas redes neurais, o abandono é uma técnica de regularização que pode ser comparada a conjuntos de treinamento. A diferença é que o conjunto é feito no espaço latente (neurônios existem ou não), diminuindo o erro de generalização.

"Cada exemplo de treinamento pode, portanto, ser visto como fornecendo gradientes para uma arquitetura diferente, amostrada aleatoriamente, de modo que a rede neural final represente eficientemente um enorme conjunto de redes neurais, com boa capacidade de generalização" - citando aqui .

Existem duas técnicas: no dropout, os neurônios são eliminados (o que significa que os neurônios existem ou não com uma certa probabilidade), enquanto no dropconnect os pesos são descartados.

Agora, para responder sua pergunta, acredito que as redes neurais (ou perceptrons) não são usadas como alunos de base em uma configuração de reforço, pois são mais lentas para treinar (leva muito tempo) e os alunos não são tão fracos, embora possam ser configurado para ficar mais instável. Então, não vale a pena o esforço.

Pode ter havido pesquisas sobre esse tópico, no entanto, é uma pena que idéias que não funcionem bem nem sempre sejam publicadas com êxito. Precisamos de mais pesquisas sobre caminhos que não levam a lugar algum, também conhecido como "não se preocupe em tentar isso".

EDITAR:

Eu pensei um pouco mais sobre isso e se você está interessado em conjuntos de redes grandes, talvez esteja se referindo a métodos de combinar as saídas de várias redes desse tipo. A maioria das pessoas faz a média ou usa a maioria dos votos, dependendo da tarefa - isso pode não ser o ideal. Eu acredito que deve ser possível alterar os pesos para cada saída da rede de acordo com o erro em um registro específico. Quanto menos correlacionadas as saídas, melhor será sua regra de montagem.

shuriken x blue
fonte
2

Vejo que isso não tem uma resposta aceita, então darei uma resposta muito heurística. Sim, está feito ... por exemplo, está disponível no JMP Pro (provavelmente o melhor pacote de estatísticas que você nunca ouviu falar). http://www.jmp.com/support/help/Overview_of_Neural_Networks.shtml

Há uma descrição no meio da página do que é usada. Eu não coloquei nenhum ciclo em investigar a teoria, mas parece que eles estão implicando que ela alcança essencialmente os mesmos resultados que o uso de mais nós em um único modelo maior. A vantagem [eles afirmam] está na velocidade de ajuste do modelo.

Para apenas um medidor muito aproximado, comparei-o em um conjunto de dados que possuo com 2 nós sigmoides e 2 gaussianos e aprimorei o modelo 6x contra 12 nós sigmoides e 12 nós gaussianos em um único modelo e os resultados foram praticamente idênticos no meu conjunto de dados de teste .

Também não notei nenhuma diferença de velocidade ... mas o conjunto de dados tem apenas 1600 pontos e estou usando apenas 12 variáveis; portanto, em um conjunto de dados maior com mais variáveis, pode ser verdade que há uma diferença perceptível na computação.

JPJ
fonte