“Superpredição” – a vida empresarial não é uma competição Kaggle

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[This article was first published on That’s so Random, and kindly contributed to R-bloggers]. (Você pode relatar problemas sobre o conteúdo desta página aqui)


Quer compartilhar seu conteúdo em R-bloggers? clique aqui se você tiver um blog, ou aqui se não tiver.

“Superengenharia é o ato de projetar um produto para ser mais robusto ou ter mais recursos do que muitas vezes o necessário para o uso pretendido, ou para que um processo seja desnecessariamente complexo ou ineficiente”. É assim que começa a página da Wikipedia sobre superengenharia. É o engenheiro diligente que deseja garantir que todos os recursos possíveis sejam incorporados ao produto, que cria um produto sobredimensionado. Encontramos superengenharia em produtos do mundo real, bem como em software. É um conceito relevante também na ciência de dados. Em primeiro lugar, porque a engenharia de software faz parte da ciência de dados. Devemos ter cuidado para não criar painéis, relatórios e outros produtos que sejam muito complexos e contenham mais informações do que o usuário pode tolerar. Mas talvez haja uma segunda lição, mais sutil, sobre engenharia excessiva para cientistas de dados. Podemos criar modelos de aprendizado de máquina com previsões muito boas. Parece engraçado? Deixe-me explicar o que quero dizer com isso.

No aprendizado de máquina, pelo menos teoricamente, existe um modelo ideal para fornecer os dados disponíveis no conjunto de trens. É aquele que dá as melhores previsões sobre novos dados, é aquele que tem o nível certo de complexidade. Não é muito simples, de forma que deixaria de haver relações preditivas entre o recurso e o alvo (também conhecido como não é insuficiente), mas também não é tão complexo que incorpore ruído aleatório no conjunto de trens (também conhecido como não superajuste). O padrão de ouro dentro o aprendizado de máquina é manter uma parte do conjunto de trens para representar novos dados, para avaliar onde está o preditor no continuum de polarização-variância. Tanto usando um conjunto de teste, usando validação cruzada ou, idealmente, usando ambos.

Leia Também  Um método de força bruta refinado para informar a simulação de dados de resposta ordinal

As competições de aprendizado de máquina, como as do Kaggle, desafiam os cientistas de dados a encontrar o modelo mais próximo possível do ótimo teórico. Uma vez que diferentes modelos e algoritmos de aprendizado de máquina geralmente se destacam em diferentes áreas, muitas vezes o resultado ideal é obtido combinando-os no que é chamado de conjunto. Não raramente as competições de ML são vencidas por vários competidores que uniram forças e combinaram seus modelos em um grande supermodelo.

No contexto da competição de ML, não existe “prever muito bem”. Prever o melhor que puder é o objetivo absoluto dessas competições. No entanto, em aplicativos do mundo real, esse não é o caso, em minha opinião. Aí está o objetivo (ou talvez devesse estar) criando tanto valor comercial quanto possível. Com esse objetivo em mente, devemos perceber que otimizar modelos de aprendizado de máquina acarreta custos. Obviamente, existe o salário do (s) cientista (s) de dados envolvido (s). À medida que você se aproxima do modelo ideal, mais precisa se esforçar para melhorar. Provavelmente, haverá retornos decrescentes sobre o tempo gasto à medida que o projeto avança em termos de precisão de predição obtida.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Mas os custos também podem estar na complexidade da implementação. Não me refiro à complexidade do modelo aqui, mas à complexidade do produto como um todo. A quantidade de código escrito pode aumentar drasticamente quando recursos mais complexos são introduzidos. Ou usar um modelo mais complexo pode exigir que o treinamento seja executado em vários núcleos ou aumentará o tempo de treinamento, digamos, em cinco vezes. Tornar seu produto mais complexo o torna mais vulnerável a bugs e mais difícil de manter no futuro. Embora as previsões de um modelo mais complexo possam ser (um pouco) melhores, seu valor de negócios pode na verdade ser menor do que uma solução mais simples, devido a essa vulnerabilidade.

Leia Também  Comentários sobre o código-fonte do modelo COVID-19 da Imperial

A declaração que soa estranha na introdução deste blog “Podemos criar modelos de aprendizado de máquina que funcionam muito bem” pode fazer mais sentido agora. Muito tempo e dinheiro podem ser investidos, criando um produto que é muito complexo e tem um desempenho muito bom para as necessidades de negócios que atende. Em outras palavras, estamos fazendo uma superengenharia da solução de aprendizado de máquina. Podemos dizer que somos excesso de previsão.

Superpredição de luta

Existem pelo menos duas maneiras que o ajudarão a não projetar demais um produto de aprendizado de máquina. Em primeiro lugar, construindo um produto de forma incremental. Provavelmente nenhuma surpresa vindo de um defensor de trabalhar de forma ágil, acho que começar pequeno e simples é o caminho a percorrer. Se as previsões não estiverem de acordo com os requisitos de negócios, veja onde a maior melhoria pode ser feita no menor tempo, adicionando o mínimo de complexidade ao produto. Em seguida, avalie novamente e inicie outro ciclo, se necessário. Até você chegar a uma solução que seja boa o suficiente para as necessidades do negócio. Nós poderíamos chamar isso Modelo de Occam, a solução mais simples possível que atende aos requisitos.

Em segundo lugar, percebendo que a chamada, se as previsões forem boas o suficiente para atender às necessidades de negócios, é uma decisão de negócios, não uma escolha de ciência de dados. Se você tem alguém em sua equipe que é responsável pela alocação de recursos, planejamento, etc. (OC, gerente, líder de negócios, como for chamado), deve ser predominantemente a chamada se houver necessidade de melhorias adicionais. A pergunta dessas pessoas para os cientistas de dados é muitas vezes “O modelo já é bom o suficiente?”, Onde deveria estar “Qual é o desempenho atual do modelo?”. Como um cientista de dados, no meio da otimização, você pode não ser o melhor avaliador do que é bom o suficiente. Nossas ideias para otimização adicional e perfeccionismo geral podem obscurecer nosso julgamento. Em vez disso, devemos tornar nosso trabalho informar os empresários da melhor maneira possível sobre o desempenho atual e deixar a decisão final para eles.

Leia Também  Uma atualização para "Uma aventura no download de livros"



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br