Estou um pouco confuso sobre a aprendizagem de conjuntos. Em poucas palavras, ele executa os modelos k e obtém a média desses k modelos. Como se pode garantir que a média dos modelos k seria melhor do que qualquer um deles por si só? Eu entendo que o viés é "espalhado" ou "mediado". No entanto, e se houver dois modelos no conjunto (ou seja, k = 2) e um deles for pior que o outro - o conjunto não seria pior que o melhor modelo?
machine-learning
ensemble
user1691278
fonte
fonte
Respostas:
Não é garantido. Como você diz, o conjunto pode ser pior que os modelos individuais. Por exemplo, tirar a média do modelo verdadeiro e de um modelo ruim daria um modelo bastante ruim.
A média de modelos só será uma melhoria se os modelos forem (um pouco) independentes um do outro. Por exemplo, no empacotamento, cada modelo é construído a partir de um subconjunto aleatório dos dados, para que seja incorporada alguma independência. Ou os modelos podem ser construídos usando diferentes combinações de recursos e, em seguida, combinados pela média.k
Além disso, a média do modelo só funciona bem quando os modelos individuais têm alta variação. É por isso que uma floresta aleatória é construída usando árvores muito grandes. Por outro lado, a média de vários modelos de regressão linear ainda fornece um modelo linear, que provavelmente não será melhor do que os modelos com os quais você começou (tente!)
Outros métodos de conjunto, como aumentar e mesclar, funcionam usando as saídas de modelos individuais, juntamente com os dados de treinamento, como entradas para um modelo maior. Nesse caso, não é surpreendente que eles geralmente funcionem melhor do que os modelos individuais, pois na verdade são mais complicados e ainda usam os dados de treinamento.
fonte
No seu exemplo, seu conjunto de dois modelos pode ser pior que um único modelo. Mas seu exemplo é artificial, geralmente construímos mais de dois em nosso conjunto.
Não há garantia absoluta de que um modelo de conjunto tenha um desempenho melhor que um modelo individual, mas se você criar muitos deles, e seu classificador individual for fraco . Seu desempenho geral deve ser melhor que um modelo individual.
No aprendizado de máquina, o treinamento de vários modelos geralmente supera o treinamento de um único modelo. Isso porque você tem mais parâmetros para ajustar.
fonte
Eu só quero jogar algo que raramente é discutido nesse contexto, e isso deve lhe dar um pouco de reflexão.
O Ensemble também trabalha com humanos!
Foi observado que a média das previsões humanas fornece melhores previsões do que qualquer previsão individual. Isso é conhecido como a sabedoria da multidão.
Agora, você poderia argumentar que é porque algumas pessoas têm informações diferentes, então você efetivamente calcula a média das informações. Mas não, isso é verdade mesmo para tarefas como adivinhar o número de feijões em uma jarra.
Há muitos livros e experimentos escritos sobre isso, e o fenômeno ainda intriga os pesquisadores.
Dito isto, como o @Flounderer apontou, os ganhos reais provêm dos chamados modelos instáveis, como árvores de decisão, onde cada observação geralmente afeta o limite de decisão. Os mais estáveis, como os SVMs, não ganham tanto, porque a reamostragem geralmente não afeta muito os vetores de suporte.
fonte
Na verdade, é bem possível que modelos únicos sejam melhores que conjuntos.
Mesmo que não existam pontos em seus dados em que alguns de seus modelos estejam superestimando e alguns estejam subestimando (nesse caso, você pode esperar que o erro médio seja negado), algumas das funções de perda mais populares (como perda quadrática média) estão penalizando desvios grandes únicos mais do que algum número de desvios moderados. Se os modelos que você está calculando a média são um pouco diferentes, você pode esperar que a variação se torne "menor", pois a média mata os desvios pendentes. Provavelmente é explicável com isso .
fonte
Sim, pode ser o caso, mas a idéia para o conjunto é treinar modelos mais simples para evitar o excesso de ajuste ao capturar diferentes características dos dados de diferentes conjuntos. Obviamente, não há garantia de que um modelo de conjunto supere um único modelo enquanto treinado com os mesmos dados de treinamento. O desempenho superior pode ser obtido combinando modelos de conjuntos e reforçando (por exemplo, AdaBoost). Ao impulsionar, você treina cada próximo modelo conjunto atribuindo pesos em cada ponto de dados e atualizando-os de acordo com o erro. Então, pense nele como um algoritmo de descida coordenada, que permite que o erro de treinamento diminua a cada iteração, mantendo uma complexidade média constante do modelo. No geral, isso afeta o desempenho. Há muitos
fonte