portaldacalheta.pt
  • Principal
  • Noticias Do Mundo
  • Lucratividade E Eficiência
  • Ágil
  • Família
Processo Interno

Como abordar problemas de aprendizado de máquina



Uma das principais tarefas dos computadores é automatizar as tarefas humanas. Algumas dessas tarefas são simples e repetitivas, como 'mover X de A para B.' Fica muito mais interessante quando o computador tem que tomar decisões sobre problemas que são muito mais difíceis de formalizar. É aí que começamos a encontrar problemas básicos de aprendizado de máquina.

Ilustração de capa de problemas de aprendizado de máquina



Historicamente, esses algoritmos foram construídos por cientistas ou especialistas que possuíam conhecimento íntimo de seu campo e eram amplamente baseados em regras. Com a explosão do poder de computação e a disponibilidade de grandes e diversos conjuntos de dados, o foco mudou para uma abordagem mais computacional.



Mais popularizado aprendizado de máquina os conceitos atuais têm a ver com redes neurais e, em minha experiência, isso criou em muitas pessoas a impressão de que as redes neurais são algum tipo de arma milagrosa para todos os problemas de inferência. Na verdade, isso está muito longe da verdade. Aos olhos do estatístico, eles formam uma classe de abordagens de inferência com seus pontos fortes e fracos associados, e isso depende completamente do problema se as redes neurais serão a melhor solução ou não.



Muitas vezes, existem abordagens melhores.

Neste artigo, descreveremos uma estrutura para atacar problemas de aprendizado de máquina. Não há espaço para entrar em muitos detalhes sobre modelos específicos de aprendizado de máquina , mas se este artigo gerar interesse, os artigos subsequentes podem oferecer soluções detalhadas para alguns problemas interessantes de aprendizado de máquina.



Primeiro, no entanto, vamos nos esforçar para mostrar por que você deve ser mais cauteloso do que pensar automaticamente ' rede neural ”Ao enfrentar um problema de aprendizado de máquina.

Prós e contras das redes neurais

Com as redes neurais, a inferência é feita por meio de uma 'rede' ponderada. Os pesos são calibrados durante o processo denominado de “aprendizagem” e, posteriormente, aplicados para atribuir resultados aos insumos.

Por mais simples que possa parecer, todos os pesos são parâmetros para a rede calibrada e, geralmente, isso significa muitos parâmetros para um humano entender.

Ilustração de entrada-saída da teoria da rede neural

Portanto, podemos também considerar as redes neurais como algum tipo de caixa preta de inferência que conecta a entrada à saída, sem nenhum modelo específico entre elas.

Vamos examinar mais de perto os prós e os contras dessa abordagem.

Vantagens das redes neurais

  • A entrada são os próprios dados. Resultados utilizáveis ​​mesmo com pouca ou nenhuma engenharia de recursos.
  • Habilidade treinável. Sem engenharia de recursos, não há necessidade de habilidades difíceis de desenvolver, como intuição ou experiência de domínio. Ferramentas padrão estão disponíveis para inferências genéricas.
  • A precisão melhora com a quantidade de dados. Quanto mais entradas ele vê, melhor o desempenho da rede neural.
  • Pode superar os modelos clássicos quando não há informações completas sobre o modelo. Pense no sentimento público, por exemplo.
  • A inferência aberta pode descobrir padrões desconhecidos. Se você usar um modelo e deixar uma consideração fora dele, ele não detectará o fenômeno correspondente. Redes neurais podem.

Exemplo de rede neural de sucesso: Do Google Eu encontrei um planeta orbitando uma estrela distante - onde a NASA não - analisando dados acumulados do telescópio.

Desvantagens das redes neurais

  • Eles exigem muitos dados (anotados!). Em primeiro lugar, essa quantidade de dados nem sempre está disponível. A convergência é lenta. Um modelo sólido (digamos, em física) pode ser calibrado após algumas observações - com redes neurais, isso está fora de questão. A anotação é muito trabalhosa, sem mencionar que, por si só, não é infalível.
  • Nenhuma informação sobre a estrutura interna dos dados. Você está interessado em em que se baseia a inferência? Sem sorte aqui. Existem situações em que o ajuste manual dos dados melhora a inferência por um salto, mas uma rede neural não será capaz de ajudar nisso.
  • Problemas de overfitting. Muitas vezes acontece que a rede tem mais parâmetros do que os dados justificam, o que leva a inferências abaixo do ideal.
  • O desempenho depende das informações. Se houver informações completas sobre um problema, um modelo sólido tende a superar o desempenho de uma rede neural.
  • Existem problemas de amostragem. A amostragem é sempre uma questão delicada, mas com um modelo, pode-se desenvolver rapidamente uma noção de amostragem problemática. As redes neurais aprendem apenas com os dados, portanto, se obtiverem dados tendenciosos, terão conclusões tendenciosas.

Um exemplo de falha: Um parente falou-me de uma grande empresa (que não consigo nomear) que estava trabalhando na detecção de veículos militares em fotos aéreas. Eles tinham imagens onde havia tais veículos e outros que não. A maioria das imagens da primeira aula foi tirada em um dia chuvoso, enquanto a última foi tirada em um dia ensolarado. Como resultado, o sistema aprendeu a distinguir a luz da sombra.

Para resumir, as redes neurais formam uma classe de métodos de inferência que têm seus prós e contras.

O fato de sua popularidade superar todos os outros métodos estatísticos aos olhos do público provavelmente tem mais a ver com governança corporativa do que qualquer outra coisa.

Treinar pessoas para usar ferramentas padrão e métodos de rede neural padronizados é um processo muito mais previsível do que procurar especialistas em domínio e artistas de várias áreas. Isso, no entanto, não muda o fato de que usar uma rede neural para um problema simples e bem definido é, na verdade, apenas atirar em um pardal com um canhão: ela precisa de muitos dados, requer muito trabalho de anotação e, em troca, pode apenas baixo desempenho quando comparado a um modelo sólido. Não é o melhor pacote.

Ainda assim, há um grande poder no fato de eles “democratizarem” o conhecimento estatístico. Uma vez que uma solução de inferência baseada em rede neural é vista como uma mera ferramenta de programação, ela pode ajudar até mesmo aqueles que não se sentem confortáveis ​​com algoritmos complexos. Então, inevitavelmente, muitas coisas são construídas agora que de outra forma não existiriam se pudéssemos operar apenas com modelos sofisticados.

Abordando problemas de aprendizado de máquina

Ao abordar problemas de aprendizado de máquina, estas são as etapas pelas quais você precisará seguir:

  • Definição de critérios de aceitação
  • Limpando seus dados e maximizando seu conteúdo de informação
  • Escolha da abordagem de inferência ideal
  • Treine, teste, repita

Vamos ver esses itens em detalhes.

Etapas diferentes de um problema de aprendizado de máquina

Definição de critérios de aceitação

Você deve ter uma ideia da precisão do seu alvo o mais rápido possível, na medida do possível. Este será o alvo pelo qual você trabalhará.

Limpando Seus Dados e Maximizando Seu Conteúdo de Informações

Esta é a etapa mais crítica. Em primeiro lugar, seus dados não devem conter (ou ter poucos) erros. Limpá-lo é um primeiro passo essencial. Substitua os valores ausentes, tente identificar padrões que são obviamente falsos, elimine duplicatas e qualquer outra anomalia que você possa notar.

Quanto à informação, se seus dados são muito informativos (no sentido linear), então praticamente qualquer método de inferência lhe dará bons resultados. Se as informações necessárias não estiverem lá, o resultado será ruído. Maximizar as informações significa principalmente encontrar quaisquer relacionamentos não lineares úteis nos dados e linearizá-los. Se isso melhorar significativamente as entradas, ótimo. Caso contrário, talvez seja necessário adicionar mais variáveis. Se tudo isso não der frutos, a precisão do alvo pode ser prejudicada.

Com alguma sorte, haverá variáveis ​​únicas úteis. Você pode identificar variáveis ​​úteis se, por exemplo, plotá-las contra as variáveis ​​de destino de aprendizagem e descobrir que o gráfico é semelhante a uma função (ou seja, a faixa estreita na entrada corresponde a uma faixa estreita na saída). Essa variável pode então ser linearizada - por exemplo, se ela for plotada como uma parábola, subtraia alguns valores e obtenha a raiz quadrada.

Para variáveis ​​com ruído - faixa estreita na entrada corresponde a uma faixa ampla na saída - podemos tentar combiná-las com outras variáveis.

Para ter uma ideia da precisão, você pode querer medir as probabilidades de classe condicional para cada uma de suas variáveis ​​(para problemas de classificação) ou aplicar alguma forma muito simples de regressão, como regressão linear (para problemas de previsão). Se o conteúdo da informação da entrada melhorar, então o mesmo acontecerá com a sua inferência, e você simplesmente não quer perder muito tempo neste estágio calibrando um modelo quando os dados ainda não estão prontos. Portanto, continue testando o mais simples possível.

Escolhendo a abordagem de inferência mais ideal

Uma vez que seus dados estejam em uma forma decente, você pode ir para o método de inferência (os dados ainda podem ser polidos mais tarde, se necessário).

Você deve usar um modelo? Bem, se você tem bons motivos para acreditar que pode construir um bom modelo para a tarefa, então provavelmente deveria. Se você não pensa assim, mas há muitos dados com boas anotações, então você pode usar o viva-voz com uma rede neural. Em aplicativos práticos de aprendizado de máquina, no entanto, muitas vezes não há dados suficientes para isso.

A precisão de jogo vs. cobertura geralmente compensa tremendamente. As abordagens híbridas geralmente são totalmente aceitáveis. Suponha que os dados sejam tais que você possa obter precisão de quase 100% em 80% deles com um modelo simples. Isso significa que você pode demonstrar resultados rapidamente e, se seu sistema puder identificar quando está operando em um território amigável de 80%, basicamente você cobriu a maior parte do problema. Seu cliente pode ainda não estar totalmente satisfeito, mas isso fará com que você ganhe a confiança deles rapidamente. E não há nada que o impeça de fazer algo semelhante com os dados restantes: com um esforço razoável agora você cobre, digamos, 92% dos dados com 97% de precisão. É verdade que, no restante dos dados, é um cara ou coroa, mas você já produziu algo útil.

Para a maioria das aplicações práticas, isso é muito útil. Digamos que você esteja no ramo de empréstimos e queira decidir quem concederá um empréstimo, e tudo o que você sabe é que em 70% dos clientes seu algoritmo é muito preciso. Ótimo - verdade, os outros 30% de seus candidatos exigirão mais processamento, mas 70% podem ser totalmente automatizados. Ou: suponha que você esteja tentando automatizar o trabalho da operadora para call centers, você pode fazer um bom trabalho (rápido e sujo) apenas nas tarefas mais simples, mas essas tarefas cobrem 50% das chamadas? Ótimo, o call center economiza dinheiro se puder automatizar 50% de suas chamadas de maneira confiável.

Resumindo: Se os dados não forem informativos o suficiente ou se o problema for muito complexo para ser resolvido em sua totalidade, pense fora da caixa. Identifique subproblemas úteis e fáceis de resolver até ter uma ideia melhor.

Depois de ter seu sistema pronto, aprenda, teste e faça um loop até ficar satisfeito com os resultados.

Treinar, testar, repetir

Após as etapas anteriores, resta pouco de interesse. Você tem os dados, tem o método de aprendizado de máquina, então é hora de extrair parâmetros por meio do aprendizado e, em seguida, testar a inferência no conjunto de testes. A literatura sugere que 70% dos registros devem ser usados ​​para treinamento e 30% para teste.

Se você está feliz com os resultados, a tarefa está concluída. Porém, é mais provável que você tenha desenvolvido algumas idéias novas durante o procedimento, e elas podem ajudá-lo a aumentar a precisão. Talvez você precise de mais dados? Ou apenas mais limpeza de dados? Ou outro modelo? De qualquer forma, é provável que você fique ocupado por um bom tempo.

Então, boa sorte e aproveite o trabalho que tem pela frente!

Relacionado:
  • Máquinas e confiança: como mitigar o viés de IA
  • Estrelas Realinhadas: Melhorando o Sistema de Classificação IMDb

Compreender o básico

Aprendizado de máquina vs. aprendizado profundo: qual é a diferença?

O aprendizado de máquina inclui todas as técnicas de inferência, enquanto o aprendizado profundo visa descobrir relacionamentos não lineares significativos nos dados. Portanto, o aprendizado profundo é um subconjunto do aprendizado de máquina e também um meio de engenharia automatizada de recursos aplicada a um problema de aprendizado de máquina.

como escrever casos de teste de unidade

Qual linguagem é melhor para aprendizado de máquina?

A escolha ideal é uma linguagem que tenha amplo suporte para biblioteca de programação e permita que você se concentre na matemática em vez da infraestrutura. A linguagem mais popular é Python, mas linguagens algorítmicas como Matlab ou R ou mainstreamers como C ++ e Java também são escolhas válidas.

Aprendizado de máquina vs. redes neurais: qual é a diferença?

As redes neurais representam apenas uma abordagem dentro do aprendizado de máquina com seus prós e contras, conforme detalhado acima.

Qual é a melhor maneira de aprender aprendizado de máquina?

Existem alguns bons cursos online e páginas de resumo. Tudo depende das habilidades e gostos de cada um. Meu conselho pessoal: pense no aprendizado de máquina como uma programação estatística. Aprimore sua matemática e evite todas as fontes que equiparam o aprendizado de máquina às redes neurais.

Quais são as vantagens e desvantagens das redes neurais artificiais?

Algumas vantagens: nenhuma matemática, engenharia de recursos ou habilidades artesanais necessárias; fácil de treinar; pode revelar aspectos do problema não considerados originalmente. Algumas desvantagens: requer relativamente mais dados; trabalho de preparação tedioso; não deixa nenhuma explicação de por que eles decidem da maneira que fazem, overfitting.

Como inicializar e criar projetos .NET

Processo Interno

Como inicializar e criar projetos .NET
Você é um 'pai severo'? Veja como isso pode impactar seu filho

Você é um 'pai severo'? Veja como isso pode impactar seu filho

Família

Publicações Populares
Quem, o quê e por quê - um guia para métodos de teste do usuário
Quem, o quê e por quê - um guia para métodos de teste do usuário
Aflição financeira em uma crise: você não pode prever, você pode se preparar
Aflição financeira em uma crise: você não pode prever, você pode se preparar
Bangladesh condena seis militantes à morte por matar dois ativistas gays
Bangladesh condena seis militantes à morte por matar dois ativistas gays
Mães solteiras na arte de criar filhos sozinhas
Mães solteiras na arte de criar filhos sozinhas
Vender uma empresa para valor máximo em um mercado desafiador de fusões e aquisições
Vender uma empresa para valor máximo em um mercado desafiador de fusões e aquisições
 
Robo-conselheiro Risco de portfólio da indústria: eficiência ou redução de cantos?
Robo-conselheiro Risco de portfólio da indústria: eficiência ou redução de cantos?
EUA: corrida para prefeito de Honolulu segue para segundo turno
EUA: corrida para prefeito de Honolulu segue para segundo turno
13 podcasts que todo designer deve ouvir
13 podcasts que todo designer deve ouvir
Vazamentos de Panama Papers podem dar a Sanders algum poder de fogo contra o rival Clinton
Vazamentos de Panama Papers podem dar a Sanders algum poder de fogo contra o rival Clinton
Com 21 anos e raízes de Kerala, é o mais jovem na lista de MBE do Queen
Com 21 anos e raízes de Kerala, é o mais jovem na lista de MBE do Queen
Publicações Populares
  • qual das seguintes ferramentas de visualização de dados é usada para organizar dados quantitativos?
  • nó js o que é isso
  • como fazer web design responsivo
  • princípios de definição de arte de design
  • como desenhar um projeto de software
  • converter servidor sql para oracle
  • renderização do lado do cliente vs do lado do servidor
Categorias
  • Noticias Do Mundo
  • Lucratividade E Eficiência
  • Ágil
  • Família
  • © 2022 | Todos Os Direitos Reservados

    portaldacalheta.pt