Como começar com aprendizado de máquina?

As tentativas de projetar máquinas mais inteligentes que os humanos não são novas.

Um dos primeiros ataques que a ciência da computação fez à “inteligência” humana foi através do jogo de xadrez. O xadrez é (ou deveríamos dizer, era?) assumido por muitos como o teste final do intelecto e da criatividade humanos, e nos anos 1960 e 70, havia diferentes escolas de pensamento dentro da ciência da computação.

Alguns sustentavam que era apenas uma questão de tempo até que os computadores ultrapassassem os humanos no jogo de xadrez, enquanto outros acreditavam que isso nunca aconteceria.

Kasparov vs Deep Blue

O evento mais sensacional do homem contra a máquina na batalha do pensamento foi a partida de xadrez de 1996 entre o então campeão mundial Garry Kasparov (e sem dúvida, o melhor jogador de xadrez de todos os tempos) e Azul profundoum supercomputador que a IBM projetou para este evento.

Crédito da imagem: Wikipédia

Para encurtar a história, Kasparov venceu a partida de 1996 de forma convincente (4-2), mas perdeu a revanche de 1997 (4,5-3,5) em meio a muita controvérsia e as alegações de trapaça direta de Kasparov contra a IBM.

Independentemente disso, uma era no xadrez e na ciência da computação havia acabado. Computadores foram intitulados mais inteligentes do que qualquer ser humano vivo possível. A IBM, feliz com a vingança, desmantelou o Deep Blue e seguiu em frente.

Hoje, é impossível para qualquer grande mestre vencer qualquer mecanismo de xadrez regular rodando em hardware comum.

O que não é Aprendizado de Máquina?

Antes de darmos uma olhada mais profunda no Machine Learning, vamos tirar alguns equívocos do caminho. Machine Learning não é, de forma alguma, uma tentativa de replicar o cérebro humano. Apesar das crenças sensacionalistas mantidas por pessoas como Elon Musk, pesquisadores de ciência da computação afirmam que não estão em busca desse grão sagrado e certamente não estão nem perto dele.

Simplificando, o aprendizado de máquina é a prática de aplicar processos de aprendizado por exemplo a computadores. Isso contrasta com a abordagem tradicional de confiar em um programador humano para pensar em todos os cenários possíveis e regras de código rígido para eles em um sistema.

  Como excluir perfis no Hulu

Honestamente, isso é o que é o aprendizado de máquina: alimentar toneladas e toneladas e toneladas de dados para um computador para que ele possa aprender com exemplos (tentativa → erro → comparação → melhoria) em vez de confiar no código-fonte.

Aplicações de aprendizado de máquina

Então, se Machine Learning não é magia negra e não é algo que vai gerar Exterminadores, para que serve?

O Machine Learning ajuda nos casos em que a programação tradicional falha, e esses casos geralmente se enquadram em uma das duas categorias.

Como o nome indica, a Classificação trata de rotular as coisas corretamente, enquanto a Predição visa corrigir as projeções futuras, dado um conjunto de dados grande o suficiente de valores passados.

Algumas aplicações interessantes do Machine Learning são:

Filtragem de spam

O spam de e-mail é generalizado, mas tentar impedi-lo pode ser um pesadelo. Como o spam é definido? É a presença de palavras-chave específicas? Ou talvez a forma como está escrito? É difícil pensar em um conjunto exaustivo de regras, em termos de programa.

É por isso que usamos Machine Learning. Mostramos ao sistema milhões de mensagens de spam e mensagens não-spam e deixamos que ele descubra o resto. Esse foi o segredo por trás dos excelentes filtros de spam do Gmail que agitaram o e-mail pessoal no início dos anos 2000!

Recomendações

Todas as grandes empresas de comércio eletrônico hoje têm sistemas de recomendação poderosos. Às vezes, sua capacidade de recomendar coisas que “podemos” achar úteis é incrivelmente precisa, apesar de nunca termos clicado nesse item antes.

Coincidência? De jeito nenhum!

O aprendizado de máquina está trabalhando duro aqui, devorando terabytes após terabytes de dados e tentando prever nossos humores e preferências voláteis.

Chatbots

Você já se deparou com o suporte ao cliente de primeiro nível que parecia estranhamente robótico e ainda assim foi capaz de fazer uma conversa interessante?

Bem, então você foi enganado pelo Machine Learning!

Aprender com as conversas e determinar o que dizer quando é uma área próxima e empolgante do aplicativo de chatbot.

Remoção de ervas daninhas

Na agricultura, robôs movidos a aprendizado de máquina são usados ​​para pulverizar ervas daninhas e outras plantas indesejadas entre as culturas de forma seletiva.

Caso contrário, isso teria que ser feito à mão ou seria um grande desperdício, pois o sistema também pulverizaria o produto com o líquido assassino!

A interação baseada em voz com sistemas de computador não é mais ficção científica. Hoje temos assistentes digitais como Alexa, Siri e Google Home que podem receber comandos verbalmente e não atrapalhar (bem, quase!).

  9 Bibliotecas de componentes de grade de dados JavaScript para usar

Alguns podem argumentar que é uma invenção que deve ser evitada, pois está tornando a raça humana mais preguiçosa do que nunca, mas você não pode argumentar com a eficácia.

Diagnóstico médico

Estamos à beira de uma revolução no diagnóstico médico, pois os sistemas baseados em Machine Learning estão começando a superar os médicos experientes em diagnóstico através de raios-x, etc.

Observe que isso não significa que os médicos não serão necessários em breve, mas que a qualidade do atendimento médico aumentará drasticamente, enquanto os custos despencarão (a menos que os cartéis comerciais ditem o contrário!).

Esta foi apenas uma amostra do que o Machine Learning está sendo usado. Carros autônomos, robôs de estratégia, máquinas de dobrar camisetas, quebra de captcha e fotos coloridas em preto e branco estão acontecendo nos dias de hoje.

Tipos de aprendizado de máquina

As técnicas de aprendizado de máquina são de dois tipos.

Aprendizado Supervisionado, no qual o sistema é dirigido pelo julgamento humano, e Aprendizado Não Supervisionado, no qual o sistema aprende sozinho. Outra maneira de dizer a mesma coisa seria que no Aprendizado Supervisionado, temos um conjunto de dados contendo as entradas e a saída esperada, que o sistema usa para comparar e autocorrigir. No Aprendizado Não Supervisionado, no entanto, não há saída existente para medir, portanto, os resultados podem variar muito.

Uma aplicação emocionante e assustadora de aprendizado de máquina não supervisionado?

Isso seriam bots jogando jogos de tabuleiro, em que o programa aprende as regras do jogo e as condições de vitória e depois é deixado por conta própria. O programa então joga milhões de jogos contra si mesmo, aprendendo com seus erros e reforçando as decisões vantajosas.

Se você estiver em um computador poderoso o suficiente, uma IA de jogo mundial pode ser preparada em questão de algumas horas!

As imagens a seguir ilustram essas ideias de forma sucinta (fonte: Medium):

Recursos para começar em Machine Learning

Então, agora que você está entusiasmado com o Machine Learning e como ele pode ajudá-lo a conquistar o mundo, por onde começar?

Abaixo, listei alguns recursos fantásticos na Web que podem ajudá-lo a obter fluência em Machine Learning sem obter um Ph.D. em informática! Se você não é um pesquisador de Machine Learning, achará o domínio do Machine Learning tão prático e agradável quanto a programação em geral.

Portanto, não se preocupe, não importa qual seja o seu nível atualmente, você pode, como um bom programa de Machine Learning, aprender sozinho e melhorar. 😛

  15 melhores ferramentas e recursos para se tornar um escritor profissional

#1. Programação

O primeiro requisito para entrar no Machine Learning é aprender a programar. Isso porque os sistemas de Machine Learning vêm na forma de bibliotecas para várias linguagens de programação.

Python é o mais recomendado, em parte porque é incrivelmente agradável de aprender e em parte porque possui um enorme ecossistema de bibliotecas e recursos.

o oficial O Guia do Iniciante é um ótimo lugar para começar, mesmo se você estiver um pouco familiarizado com o Python. Ou pegue isso Curso de bootcamp para se tornar um herói do zero.

#2. Estatísticas de Pensamento

Depois de terminar com o básico do Python, minha segunda recomendação seria ler dois livros excelentes. Eles são 100% gratuitos e estão disponíveis em PDF para download. Estatísticas de Pensamento e Pense Bayes são dois clássicos modernos que todo aspirante a engenheiro de Machine Learning deve internalizar.

#3. Udemy

Neste ponto, eu recomendo que você faça alguns cursos da Udemy. O formato interativo e individualizado ajudará você a entrar no âmago da questão e a criar confiança.

Certifique-se de verificar a visualização do curso, as avaliações (especialmente as negativas!) e a sensação geral do curso antes de começar.

Você também pode encontrar tutoriais incríveis no YouTube gratuitamente. Senddex é um desses canais que posso recomendar, onde muita diversão está sempre acontecendo, mas sua abordagem não é amigável para iniciantes.

#4. André Ng

Curso ministrado por Andrew Ng em Coursera é sem dúvida o recurso de aprendizado mais popular para os fundamentos do Machine Learning.

Embora use a linguagem de programação R, permanece inigualável no tratamento do assunto e em suas explicações lúcidas. Por causa deste curso, Andrew Ng alcançou uma certa estatura divina nos círculos do ML, e as pessoas o admiram em busca de sabedoria suprema (não estou brincando!).

Este não é um curso para iniciantes, mas se você já é bom em manipulação de dados e não se importa com algumas pesquisas paralelas à medida que avança, este curso é a melhor recomendação.

#5. Udacity

Torne-se um engenheiro de aprendizado de máquina fazendo este nanograu pela Udacity.

Levará aproximadamente 3 meses para concluir e terminar o curso, espera-se que você tenha uma boa ideia sobre algoritmos de aprendizado de máquina, como modelá-los e implantá-los na produção.

Conclusão

Não há fim para os recursos na internet, e você pode facilmente se perder ao começar. A maioria dos tutoriais e discussões por aí são matematicamente desafiadores ou carecem de estrutura e podem quebrar sua confiança antes mesmo de você começar.

Então, eu gostaria de avisá-lo contra a autodestruição: mantenha seu objetivo modesto e mova-se em passos mínimos. O aprendizado de máquina não é algo com o qual você possa se sentir confortável em um ou dois dias, mas em breve você começará a se divertir e, quem sabe, talvez até criar algo assustador!

Divirta-se! 🙂