📚 Veja o nosso tutorial mergulhando em regressão linear simples com matemática e Python. 📚
O que é a aprendizagem mecânica?
p>Diz-se que um programa de computador aprende com a experiência E no que diz respeito a alguma classe de tarefas T e medida de desempenho P, se o seu desempenho em tarefas T, tal como medido por P, melhora com a experiência E. ~ Tom M. Mitchell
A aprendizagem da máquina comporta-se de forma semelhante ao crescimento de uma criança. À medida que uma criança cresce, a sua experiência E na execução da tarefa T aumenta, o que resulta numa medida de desempenho superior (P).
Por exemplo, damos um brinquedo de “bloco de classificação de formas” a uma criança. (Agora todos sabemos que, neste brinquedo, temos diferentes formas e buracos de forma). Neste caso, a nossa tarefa T é encontrar um buraco de forma apropriada para uma forma. Posteriormente, a criança observa a forma e tenta encaixá-la num buraco com forma. Digamos que este brinquedo tem três formas: um círculo, um triângulo, e um quadrado. Na sua primeira tentativa de encontrar um buraco com forma, a sua medida de desempenho(P) é 1/3, o que significa que a criança encontrou 1 de 3 buracos com forma correcta.
Segundo, a criança tenta noutra altura e nota que tem pouca experiência nesta tarefa. Considerando a experiência adquirida (E), a criança experimenta esta tarefa noutra altura, e ao medir o desempenho(P), acaba por ser 2/3. Depois de repetir esta tarefa (T) 100 vezes, a criança agora descobriu que forma vai para que buraco de forma.
Então a sua experiência (E) aumentou, o seu desempenho(P) também aumentou, e então notamos que à medida que o número de tentativas neste brinquedo aumenta. O desempenho também aumenta, o que resulta numa maior precisão.
Tal execução é semelhante à aprendizagem da máquina. O que uma máquina faz é pegar numa tarefa (T), executá-la, e medir o seu desempenho (P). Agora uma máquina tem um grande número de dados, de modo que ao processar esses dados, a sua experiência (E) aumenta com o tempo, resultando numa medida de desempenho superior (P). Assim, depois de analisar todos os dados, a precisão do nosso modelo de aprendizagem da máquina aumenta, o que significa que as previsões feitas pelo nosso modelo serão muito precisas.
Outra definição de aprendizagem da máquina por Arthur Samuel:
Machine Learning é o subcampo da informática que dá “aos computadores a capacidade de aprender sem ser explicitamente programado”. ~ Arthur Samuel
Deixe-nos tentar compreender esta definição: Ela diz “aprender sem ser explicitamente programado” – o que significa que não vamos ensinar o computador com um conjunto específico de regras, mas sim, o que vamos fazer é alimentar o computador com dados suficientes e dar-lhe tempo para aprender com ele, cometendo os seus próprios erros e melhorando-os. Por exemplo, não ensinámos a criança a encaixar nas formas, mas ao executar a mesma tarefa várias vezes, a criança aprendeu a encaixar as formas no brinquedo sozinha.
Por isso, podemos dizer que não ensinámos explicitamente a criança a encaixar as formas. Fazemos a mesma coisa com as máquinas. Damos-lhe dados suficientes para trabalhar e alimentamo-la com a informação que queremos dela. Assim, processa os dados e prevê os dados com precisão.
Por que precisamos de aprendizagem com máquinas?
Por exemplo, temos um conjunto de imagens de cães e gatos. O que queremos fazer é classificá-los num grupo de gatos e cães. Para tal, precisamos de descobrir diferentes características dos animais, tais como:
- Quantos olhos tem cada animal?
- Qual é a cor dos olhos de cada animal?
- Qual é a altura de cada animal?
- Qual é o peso de cada animal?
- O que é que cada animal come geralmente?
Formamos um vector nas respostas a cada uma destas perguntas. A seguir, aplicamos um conjunto de regras tais como:
Se altura > 1 pé e peso > 15 lbs, então poderá ser um gato.
Agora, temos de fazer um tal conjunto de regras para cada ponto de dados. Além disso, colocamos uma árvore de decisão de se, caso contrário, outras declarações e verificamos se se enquadra numa das categorias.
Deixe-nos assumir que o resultado desta experiência não foi frutífero, uma vez que classificou mal muitos dos animais, o que nos dá uma excelente oportunidade de utilizar a aprendizagem mecânica.
O que a aprendizagem mecânica faz é processar os dados com diferentes tipos de algoritmos e diz-nos qual a característica mais importante para determinar se se trata de um gato ou de um cão. Assim, em vez de aplicarmos muitos conjuntos de regras, podemos simplificá-lo com base em duas ou três características, e como resultado, dá-nos uma maior precisão. O método anterior não era suficientemente generalizado para fazer previsões.
Modelos de aprendizagem de máquinas ajudam-nos em muitas tarefas, tais como:
- Reconhecimento de objectos
- Summarização
- Previsão
- Classificação
- Clustering
- Sistemas de recompensa
- E outros
O que é um modelo de aprendizagem de máquinas?
Um modelo de aprendizagem de máquina é um sistema de perguntas/respostas que se ocupa do processamento de tarefas relacionadas com a aprendizagem de máquina. Pense nele como um sistema de algoritmo que representa dados na resolução de problemas. Os métodos que iremos abordar abaixo são benéficos para fins relacionados com a indústria para resolver problemas empresariais.
Por exemplo, imaginemos que estamos a trabalhar no sistema ML do Google Adwords, e a nossa tarefa é implementar um algoritmo ML para transmitir uma determinada demografia ou área utilizando dados. Tal tarefa visa passar da utilização de dados para recolher conhecimentos valiosos para melhorar os resultados do negócio.
Major Machine Learning Algorithms:
Utilizamos algoritmos de regressão para prever valores contínuos.
Algoritmos de regressão:
- Regressão Linear
- Regressão Polinomial
- Regressão Expoencial
- Regressão Lógica
- Regressão Logarítmica
Classificação
Usamos algoritmos de classificação para prever um conjunto de classe ou categoria de itens.
Algoritmos de classificação:
- K-Nearest Neighbors
- Árvores de decisão
- Floresta Aleatória
- Máquina Vectorial de Apoio
- Naive Bayes
Clustering
Usamos algoritmos de clustering para resumir ou estruturar dados.
Algoritmos de agregação:
- K significa
- DBSCAN
- Mean Shift
- Hierárquico
Associação
Usamos algoritmos de associação para associar itens ou eventos co-ocorrentes.
Algoritmos de associação:
- Apriori
Detecção de anomalias
Utilizamos a detecção de anomalias para descobrir actividades anormais e casos invulgares como a detecção de fraudes.
Mineração de padrões de sequência
Utilizamos a mineração de padrões sequenciais para prever os próximos eventos de dados entre exemplos de dados numa sequência.
Dimensionalidade Redução
Usamos redução de dimensionalidade para reduzir o tamanho dos dados para extrair apenas características úteis de um conjunto de dados.
Sistemas de recomendação
Usamos algoritmos de recomendação para construir motores de recomendação.
Exemplos:
- Sistema de recomendação de rede.
- Um sistema de recomendação de livros.
- Um sistema de recomendação de produtos na Amazon.
Agora, ouvimos muitas palavras como inteligência artificial, aprendizagem de máquinas, aprendizagem profunda, e outras.
Quais são as diferenças fundamentais entre Inteligência Artificial, Aprendizagem de Máquina e Aprendizagem Profunda?
📚 Veja as nossas recomendações editoriais sobre os melhores livros de aprendizagem de máquina. 📚
Inteligência Artificial (IA):
Inteligência Artificial (IA), tal como definida pelo Professor Andrew Moore, é a ciência e a engenharia de fazer com que os computadores se comportem de uma forma que, até há pouco tempo, pensávamos necessitar de inteligência humana .
Estes incluem:
- Visão do Computador
- Processamento linguístico
- Criatividade
- Summarização
Aprendizagem da Máquina (ML):
Como definido pelo Professor Tom Mitchell, a aprendizagem de máquinas refere-se a um ramo científico da IA, que se concentra no estudo de algoritmos informáticos que permitem que os programas informáticos melhorem automaticamente através da experiência .
Estes incluem:
- Classificação
- Neural Network
- Clustering
Deep Learning:
Deep Learning é um subconjunto de aprendizagem de máquinas em que as redes neurais em camadas, combinadas com elevado poder computacional e grandes conjuntos de dados, podem criar poderosos modelos de aprendizagem de máquinas.
Por que razão preferimos Python a implementar algoritmos de aprendizagem de máquinas?
Python é uma linguagem de programação popular e de uso geral. Podemos escrever algoritmos de aprendizagem de máquinas usando Python, e funciona bem. A razão pela qual Python é tão popular entre os cientistas de dados é que Python tem uma variedade diversa de módulos e bibliotecas já implementadas que tornam a nossa vida mais confortável.
Deixe-nos dar uma breve vista de olhos a algumas bibliotecas Python excitantes.
- Numpy: É uma biblioteca matemática para trabalhar com arrays n-dimensionais em Python. Permite-nos fazer cálculos de forma eficaz e eficiente.
- Scipy: É uma colecção de algoritmos numéricos e caixa de ferramentas específicas de domínio, incluindo processamento de sinais, optimização, estatísticas, e muito mais. Scipy é uma biblioteca funcional para cálculos científicos e de alto desempenho.
- Matplotlib: É um pacote de plotting da moda que fornece plotting 2D bem como plotting 3D.
- Scikit-learn: É uma biblioteca de aprendizagem automática gratuita para a linguagem de programação python. Tem a maioria dos algoritmos de classificação, regressão e agrupamento, e funciona com bibliotecas numéricas Python tais como Numpy, Scipy.
Algoritmos de aprendizagem de máquinas classificam em dois grupos :
- Algoritmos de aprendizagem supervisionada
- Algoritmos de aprendizagem não supervisionada
I. Algoritmos de Aprendizagem Supervisionada:
Goal: Prever classe ou etiqueta de valor.
Aprendizagem Supervisionada é um ramo da aprendizagem de máquinas (talvez seja a corrente dominante da aprendizagem de máquinas/aprofundamento por agora) relacionado com a inferência de uma função a partir de dados de formação rotulados. Os dados de formação consistem num conjunto de *(entrada, alvo)* pares, onde a entrada poderia ser um vector de características, e o alvo instrui o que desejamos que a função produza. Dependendo do tipo de *alvo*, podemos dividir grosso modo a aprendizagem supervisionada em duas categorias: classificação e regressão. A classificação envolve alvos categóricos; exemplos que vão desde alguns casos simples, como a classificação de imagens, a alguns tópicos avançados, como as traduções automáticas e a legenda de imagens. A regressão envolve alvos contínuos. As suas aplicações incluem previsão de stock, mascaramento de imagem, e outras – que se enquadram todas nesta categoria.
Para compreender o que é a aprendizagem supervisionada, utilizaremos um exemplo. Por exemplo, damos a uma criança 100 animais de peluche em que há dez animais de cada espécie como dez leões, dez macacos, dez elefantes, e outros. Em seguida, ensinamos a criança a reconhecer os diferentes tipos de animais com base nas diferentes características (características) de um animal. Tal como se a sua cor fosse laranja, então poderia ser um leão. Se for um animal grande com tromba, então poderá ser um elefante.
Ensinamos a criança a diferenciar animais, isto pode ser um exemplo de aprendizagem supervisionada. Agora quando damos ao cabrito animais diferentes, ele deve ser capaz de os classificar num grupo animal apropriado.
Por causa deste exemplo, notamos que 8/10 das suas classificações estavam correctas. Portanto, podemos dizer que o miúdo fez um bom trabalho. O mesmo se aplica aos computadores. Fornecemos-lhes milhares de pontos de dados com os seus valores reais rotulados (Os dados rotulados são dados classificados em diferentes grupos juntamente com os seus valores característicos). Depois aprende com as suas diferentes características no seu período de formação. Depois de terminado o período de formação, podemos utilizar o nosso modelo de formação para fazer previsões. Tenha em mente que já alimentámos a máquina com dados etiquetados, pelo que o seu algoritmo de previsão se baseia na aprendizagem supervisionada. Em suma, podemos dizer que as previsões deste exemplo se baseiam em dados rotulados.
Exemplo de algoritmos de aprendizagem supervisionada :
- Regressão linear
- Regressão logística
- K-Nearest Neighbors
- Árvore de decisão
- Floresta aleatória
- Máquina Vectorial de Apoio
II. Aprendizagem sem supervisão:
Goal: Determinar padrões/grupos de dados.
Em contraste com a aprendizagem supervisionada. A aprendizagem não supervisionada infere de dados não etiquetados, uma função que descreve estruturas ocultas em dados.
P>Talvez o tipo mais básico de aprendizagem não supervisionada são os métodos de redução de dimensões, tais como PCA, t-SNE, enquanto o PCA é geralmente utilizado no pré-processamento de dados, e o t-SNE normalmente utilizado na visualização de dados.
Um ramo mais avançado é o clustering, que explora os padrões ocultos nos dados e depois faz previsões sobre eles; exemplos incluem o clustering de K-mean, modelos de misturas Gaussianas, modelos Markov ocultos, e outros.
Ao longo do renascimento da aprendizagem profunda, a aprendizagem não supervisionada ganha cada vez mais atenção porque nos liberta da rotulagem manual dos dados. luz da aprendizagem profunda, consideramos dois tipos de aprendizagem não supervisionada: aprendizagem de representação e modelos generativos.
Aprendizagem de representação visa destilar uma característica representativa de alto nível que é útil para algumas tarefas a jusante, enquanto os modelos generativos pretendem reproduzir os dados de entrada a partir de alguns parâmetros ocultos.
Aprendizagem não supervisionada funciona como soa. Neste tipo de algoritmos, não dispomos de dados etiquetados. Assim, a máquina tem de processar os dados de entrada e tentar fazer conclusões sobre a saída. Por exemplo, lembram-se do miúdo a quem demos um brinquedo de forma? Neste caso, ele aprenderia com os seus próprios erros a encontrar o buraco de forma perfeita para diferentes formas.
Mas o senão é que não estamos a alimentar a criança ensinando os métodos para encaixar as formas (para fins de aprendizagem da máquina chamados dados etiquetados). No entanto, a criança aprende com as diferentes características do brinquedo e tenta tirar conclusões sobre elas. Em suma, as previsões baseiam-se em dados não rotulados.
Exemplos de algoritmos de aprendizagem não supervisionados:
- Dimension Reduction
- Density Estimation
- Market Basket Analysis
- Redes adversas geradoras (GANs)
- Clustering