Lar Finanças Pessoais Otimizando as opções de validação cruzada na aprendizagem de máquinas - dummies

Otimizando as opções de validação cruzada na aprendizagem de máquinas - dummies

Vídeo: Lecture 09 - The Linear Model II 2024

Vídeo: Lecture 09 - The Linear Model II 2024
Anonim

Ser capaz de validar uma hipótese de aprendizagem de máquina efetivamente permite uma maior otimização do algoritmo escolhido. O algoritmo fornece a maior parte do desempenho preditivo em seus dados, dada a sua capacidade de detectar sinais a partir de dados e ajustar a verdadeira forma funcional da função preditiva sem superação e gerando muita variação das estimativas. Nem todo algoritmo de aprendizado de máquina é o melhor para seus dados, e nenhum algoritmo único pode atender a todos os problemas. Cabe a você encontrar o ideal para um problema específico.

Uma segunda fonte de desempenho preditivo são os dados propriamente ditos quando adequadamente transformados e selecionados para aprimorar as capacidades de aprendizagem do algoritmo escolhido.

A fonte final de desempenho deriva do ajuste fino do hiper-parâmetros do algoritmo, que são os parâmetros que você decide antes do aprendizado e que não são aprendidos com os dados. O seu papel é definir uma hipótese a priori, enquanto outros parâmetros especificam a posteriori, depois que o algoritmo interage com os dados e, ao usar um processo de otimização, descobre que determinados valores de parâmetros Trabalhar melhor na obtenção de boas previsões.

Nem todos os algoritmos de aprendizagem de máquinas exigem muito ajuste de hiper parâmetros, mas alguns dos mais complexos fazem, e embora tais algoritmos ainda funcionem fora da caixa, puxar as alavancas direitas pode fazer uma grande diferença na correção das previsões. Mesmo quando os hiper-parâmetros não são aprendidos com os dados, você deve considerar os dados em que você está trabalhando ao decidir os hiper-parâmetros, e você deve fazer a escolha com base na validação cruzada e na avaliação cuidadosa das possibilidades.

Algoritmos complexos de aprendizagem de máquinas, os mais expostos à variação de estimativas, apresentam muitas opções expressas em um grande número de parâmetros. Twiddling com eles faz com que eles se adaptem mais ou menos aos dados de que estão aprendendo. Às vezes, o excesso de parâmetros hiper-parâmetro pode mesmo fazer com que o algoritmo detecte sinais falsos a partir dos dados. Isso faz com que os hiper-parâmetros sejam uma fonte de variação não detectada se você começar a manipulá-los demais com base em alguma referência fixa como um conjunto de testes ou um esquema de validação cruzada repetido.

Tanto R como Python oferecem funcionalidades de corte que cortam sua matriz de entrada em peças de trem, teste e validação. Em particular, para procedimentos de teste mais complexos, como validação cruzada ou bootstrapping, o pacote Scikit-learn oferece um módulo inteiro e R possui um pacote especializado, oferecendo funções para divisão de dados, pré-processamento e testes.Este pacote é chamado de caret.

As possíveis combinações de valores que os hiper-parâmetros podem formar fazem decidir onde procurar otimizações difíceis. Conforme descrito ao discutir a descida de gradiente, um espaço de otimização pode conter combinações de valores que melhoram o desempenho. Mesmo depois de encontrar uma boa combinação, você não tem certeza de que é a melhor opção. (Este é o problema de ficar preso em mínimos locais ao minimizar o erro.)

Como forma prática de resolver esse problema, a melhor maneira de verificar hiper-parâmetros para um algoritmo aplicado a dados específicos é testá-los todos validação cruzada, e escolher a melhor combinação. Esta abordagem simples, chamada de busca por grade, oferece vantagens indiscutíveis, permitindo que você experimente o intervalo de valores possíveis para inserir o algoritmo de forma sistemática e detectar quando ocorre o mínimo geral.

Por outro lado, a busca em grade também tem graves desvantagens porque é computacionalmente intensiva (você pode facilmente realizar esta tarefa em paralelo em computadores multinacionais modernos) e bastante demorado. Além disso, testes sistemáticos e intensivos aumentam a possibilidade de incorrer em erro porque alguns bons resultados de validação falsos podem ser causados ​​pelo ruído presente no conjunto de dados.

Algumas alternativas para pesquisa em grade estão disponíveis. Em vez de testar tudo, você pode tentar explorar o espaço de possíveis valores de hiper-parâmetros guiados por técnicas computacionalmente pesadas e matematicamente complexas de otimização não-linear (como o método Nelder-Mead), usando uma abordagem bayesiana (onde o número de testes é minimizado tomando vantagem de resultados anteriores) ou usando busca aleatória.

Surpreendentemente, a pesquisa aleatória funciona incrivelmente bem, é simples de entender, e não é apenas baseada em sorte cega, embora possa parecer inicialmente. Na verdade, o ponto principal da técnica é que, se você escolher testes aleatórios suficientes, você realmente possui possibilidades suficientes para detectar os parâmetros certos sem desperdiçar energia ao testar combinações ligeiramente diferentes de combinações similares.

A representação gráfica abaixo explica por que a pesquisa aleatória funciona bem. Uma exploração sistemática, embora útil, tende a testar todas as combinações, o que se transforma em um desperdício de energia se alguns parâmetros não influenciarem o resultado. Uma pesquisa aleatória realmente testa menos combinações, mas mais no intervalo de cada hiper-parâmetro, uma estratégia que prova ganhar se, como muitas vezes acontece, certos parâmetros são mais importantes do que outros.

Comparando pesquisa em grade para pesquisa aleatória.

Para que a pesquisa aleatória seja boa, você deve fazer de 15 a um máximo de 60 testes. Faz sentido recorrer a pesquisas aleatórias se uma busca em grade requer um maior número de experimentos.

Otimizando as opções de validação cruzada na aprendizagem de máquinas - dummies

Escolha dos editores

Origem e Design de Hadoop - dummies

Origem e Design de Hadoop - dummies

Então, o que é exatamente isso com o nome engraçado - Hadoop? No seu núcleo, o Hadoop é uma estrutura para armazenar dados em grandes clusters de hardware de commodities - hardware de computador todos os dias acessível e facilmente disponível - e executando aplicativos contra esses dados. Um cluster é um grupo de computadores interligados (conhecido como ...

A arquitetura do porco em Hadoop - dummies

A arquitetura do porco em Hadoop - dummies

"Simples" geralmente significa "elegante" quando se trata de desenhos arquitetônicos para Essa nova mansão do Vale do Silício que você planejou quando o dinheiro começa a rolar depois de implementar o Hadoop. O mesmo princípio se aplica à arquitetura de software. O porco é composto por dois componentes (count 'em, two): O próprio idioma: como prova de que os programadores ...

MapReduce Application Flow em Hadoop - dummies

MapReduce Application Flow em Hadoop - dummies

No seu núcleo, MapReduce é um modelo de programação para o processamento de conjuntos de dados que são armazenados de forma distribuída nos nós de escravo de um cluster Hadoop. O conceito-chave aqui é dividir e conquistar. Especificamente, você deseja quebrar um grande conjunto de dados em muitas peças menores e processá-las em paralelo com o mesmo algoritmo. ...

Escolha dos editores

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

Apoiando a sua campanha PPC com análise de palavras-chave - manequins

A base de todo o trabalho do mecanismo de pesquisa é uma análise de palavras-chave. Fazer uma análise de palavras-chave realmente não é tão complicado e pode significar a diferença entre sucesso e falha em sua campanha PPC. Comece digitando as palavras-chave óbvias em um editor de texto ou processador de texto - aqueles que você já pensou ou, se você ...

Envie seu site para Yahoo! Search Directory - dummies

Envie seu site para Yahoo! Search Directory - dummies

Envios para o Yahoo! O diretório costumava ser muito difícil. Pesquisas mostraram que as pessoas que conseguiram obter seus sites listados no diretório tiveram que tentar várias vezes em questão de meses. Era grátis, mas era um aborrecimento. A boa notícia: você pode obter seu site listado em Yahoo! Diretório ...

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Dicas para criar e otimizar conteúdo para objetos e indústrias difíceis - manequins

Em A superfície, a criação de conteúdo não soa tão difícil até você se sentar e tentar escrever. Sua estratégia de SEO depende desse conteúdo. É ainda pior se você estiver escrevendo conteúdo para o que muitas pessoas podem considerar uma indústria chata. A boa notícia é que é possível transformar indivíduos potencialmente chatos em bons ...

Escolha dos editores

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Componentes eletrônicos: transistores como um potenciômetro mágico - manequins

Um transistor dentro de um O circuito eletrônico funciona como uma combinação de um diodo e um resistor variável, também chamado de potenciômetro ou pote. Mas isso não é apenas um pote comum; é um pote mágico cujo botão é misteriosamente conectado ao diodo por raios invisíveis, tipo desse tipo: quando a tensão direta é aplicada em ...

Componentes eletrônicos: Resistores - manequins

Componentes eletrônicos: Resistores - manequins

Um resistor é um pequeno componente projetado para fornecer um específico quantidade de resistência em um circuito eletrônico. Como a resistência é um elemento essencial de quase todos os circuitos eletrônicos, você usará resistores em quase todos os circuitos que você constrói. Embora os resistores venham em uma variedade de tamanhos e formas, o tipo mais comum ...