Aplicados AI Estratégia e de Consultoria | InnoArchiTech
Artigos Desta Série
-
Visão geral, objetivos, tipos de aprendizagem, e algoritmos
-
a seleção de Dados, preparação e modelagem
-
Modelo de avaliação, a validação, a complexidade e a melhoria
-
Modelo de desempenho e análise de erros
-
sem a supervisão de aprendizagem, os campos relacionados, e aprendizado de máquina na prática
Introdução
bem-vindo! Este é o primeiro artigo de uma série de cinco partes sobre aprendizagem de máquinas.
A aprendizagem de máquinas é um tópico muito quente por muitas razões-chave, e porque fornece a capacidade de obter automaticamente insights profundos, reconhecer padrões desconhecidos, e criar modelos preditivos de alto desempenho a partir de dados, tudo sem exigir instruções explícitas de programação.apesar da popularidade do sujeito, o verdadeiro propósito e detalhes do aprendizado de máquina não são bem compreendidos, exceto por pessoas muito técnicas e/ou cientistas de dados.
Esta série pretende ser um guia abrangente e profundo para a aprendizagem de máquinas, e deve ser útil para todos, desde executivos de empresas a profissionais de aprendizagem de máquinas. Abrange praticamente todos os aspectos da aprendizagem de máquinas (e muitos domínios conexos) a um nível elevado e deve servir como introdução ou referência suficiente à terminologia, conceitos, ferramentas, considerações e técnicas do campo.
Este entendimento de alto nível é crítico se alguma vez envolvido em um processo de tomada de decisão em torno do uso da aprendizagem de máquinas, como ele pode ajudar a alcançar objetivos de negócios e projeto, quais técnicas de aprendizagem de máquinas para usar, potenciais armadilhas, e como interpretar os resultados.
Note que a maioria dos tópicos discutidos nesta série também são diretamente aplicáveis a campos como análise preditiva, mineração de dados, aprendizagem estatística, inteligência artificial, e assim por diante.
Máquina de Aprendizagem Definidos
O muitas vezes citado e amplamente aceito definição formal de aprendizagem de máquina como indicado pelo campo pioneiro Tom M. Mitchell é:
Um programa de computador é dito para aprender com a experiência E com relação a alguma classe de tarefas T e medida de desempenho P, se o seu desempenho em tarefas T, medida por P, melhora com a experiência E
o seguinte é O meu menos formal para descrever aprendizado de máquina.
A aprendizagem de máquinas é um subcampo da ciência da computação, mas muitas vezes também é referido como análise preditiva, ou modelagem preditiva. Seu objetivo e uso é construir novos e / ou alavancar algoritmos existentes para aprender com os dados, a fim de construir modelos generalizáveis que dão previsões precisas, ou para encontrar padrões, particularmente com dados novos e invisíveis semelhantes.
Visão Geral do processo de aprendizagem por máquina
Imagine um conjunto de dados como uma tabela, onde as linhas são cada observação (aka medição, ponto de dados, etc), e as colunas para cada observação representam as características dessa observação e os seus valores.no início de um projecto de aprendizagem por máquina, um conjunto de dados é normalmente dividido em dois ou três subconjuntos. Os subconjuntos mínimos são os conjuntos de dados de treinamento e teste, e muitas vezes um terceiro conjunto de dados de validação opcional é criado também.
Uma vez que estes subconjuntos de dados são criados a partir do conjunto de dados primários, um modelo preditivo ou classificador é treinado usando os dados de treinamento, e então a precisão preditiva do modelo é determinada usando os dados de teste.
Como mencionado, o aprendizado de máquina alavanca algoritmos para modelar automaticamente e encontrar padrões em dados, geralmente com o objetivo de prever alguma saída ou resposta alvo. Estes algoritmos são fortemente baseados em estatísticas e otimização matemática.
Otimização é o processo de encontrar o menor ou maior valor (mínimos ou maxima) de uma função, muitas vezes referida como uma perda, ou função de custo no minimização de caso. Um dos algoritmos de otimização mais populares usados na aprendizagem de máquinas é chamado de descida gradiente, e outro é conhecido como a equação normal.
In a nutshell, machine learning is all about automatically learning a highly accurate predictive or classifier model, or finding unknown patterns in data, by leveraging learning algorithms and optimization techniques.
tipos de aprendizagem
as categorias primárias de aprendizagem por máquina são supervisionadas, não supervisionadas e semi-supervisionadas. Vamos concentrar-nos nos dois primeiros deste artigo.
na aprendizagem supervisionada, os dados contêm a variável de resposta (label) sendo modelada, e com o objetivo de ser que você gostaria de prever o valor ou classe dos dados não vistos. A aprendizagem não supervisionada envolve aprender a partir de um conjunto de dados que não tem etiqueta ou variável de resposta, e é, portanto, mais sobre encontrar padrões do que predição.como sou um grande fã da NFL e do Chicago Bears, a minha equipa vai ajudar a exemplificar este tipo de aprendizagem! Suponha que você tenha uma tonelada de dados e estatísticas do Chicago Bears que datam de quando o time se tornou um membro fretado da NFL (1920) até o presente (2016).
Imagine que cada linha dos dados é essencialmente um instantâneo de equipe (ou observação) de estatísticas relevantes para cada jogo desde 1920. As colunas, neste caso, e os dados contidos em cada um, representam os recursos (valores) dos dados, e podem incluir o recurso de dados, tais como data do jogo, o jogo do adversário, a temporada de vitórias, época de perdas, a temporada final da divisão de posição, pós-temporada vaga (s/N), pós-temporada estatísticas, e talvez estatísticas específicas para as três fases do jogo: ataque, defesa e equipas especiais.
no caso supervisionado, seu objetivo pode ser usar estes dados para prever se os Bears vão ganhar ou perder contra uma determinada equipe durante um determinado jogo, e em um determinado campo (casa ou distância). Tenha em mente que no futebol tudo pode acontecer em termos de pré e tempo de jogo lesões, condições meteorológicas, mau árbitro chama, e assim por diante, de modo a ter este simplesmente como um exemplo de uma aplicação do aprendizado supervisionado, com uma resposta sim ou não (previsão), em oposição à determinação da probabilidade ‘Da Ursos’ obter a vitória.uma vez que você tem dados históricos de vitórias e Perdas (a resposta) contra certas equipes em certos campos de futebol, você pode alavancar a aprendizagem supervisionada para criar um modelo para fazer essa previsão.
agora suponha que seu objetivo é encontrar padrões nos dados históricos e aprender algo que você ainda não sabe, ou agrupar a equipe de certas maneiras ao longo da história. Para fazer isso, você executa um algoritmo de aprendizagem de máquina não supervisionado que agrupa (agrupa) os dados automaticamente, e em seguida, analisar os resultados de agrupamento.
com um pouco de análise, pode-se descobrir que esses clusters gerados automaticamente aparentemente agrupam a equipe nas seguintes categorias de exemplo ao longo do tempo:
-
defesa Forte, fraca execução ofensa, forte passando ofensa, fraco especiais equipas de playoff cais
-
defesa Forte, forte executando ofensa, fraco passando ofensa, média especiais equipas de playoff cais
-
defesa Fraca, forte de todos em torno ofensa, forte equipas especiais, perdeu os playoffs
-
etc
Um exemplo de não-supervisionada de análise de cluster seria encontrar uma razão por que eles não playoffs no terceiro cluster acima. Talvez devido à fraca defesa? Os Bears têm sido tradicionalmente uma forte equipe defensiva, e alguns dizem que a defesa ganha campeonatos. Apenas dizendo …
em ambos os casos, cada uma das classificações acima pode ser encontrada para se relacionar com um determinado período de tempo, o que seria de esperar. Talvez a equipe foi caracterizada por um desses grupos mais de uma vez ao longo de sua história, e por diferentes períodos de tempo.
para caracterizar a equipa desta forma sem técnicas de aprendizagem por máquina, seria necessário passar por todos os dados e estatísticas históricos, encontrar manualmente os padrões e atribuir as classificações (clusters) para cada ano, tendo em conta todos os dados e compilar a informação. Isso não seria uma tarefa fácil e rápida.
Alternativamente, você pode escrever um programa explicitamente codificado para verter através dos dados, e isso tem que saber quais estatísticas de equipe para considerar, quais limiares para levar em conta para cada estado, e assim por diante. Seria necessário uma quantidade substancial de tempo para escrever o código, e diferentes programas precisariam ser escritos para cada problema que necessitasse de uma resposta.
ou … você pode empregar um algoritmo de aprendizagem da máquina para fazer tudo isso automaticamente para você em alguns segundos.
Máquina de Metas de Aprendizagem e Saídas
Máquina de algoritmos de aprendizagem são utilizados, principalmente, para os seguintes tipos de saída:
-
Cluster (sem supervisão)
-
Dois-classe e multi-classe classificação (Supervisionado)
-
de Regressão: Univariada, Multivariada, etc. (Supervisionado)
-
(detecção de Anomalias não-supervisionada e Supervisionada)
-
sistemas de Recomendação (aka mecanismo de recomendação)
algoritmos Específicos que são utilizados para cada tipo de saída são discutidos na próxima seção, mas, primeiro, vamos dar uma visão geral de cada um dos acima de saída, ou tipos de problema.como discutido, agrupar é uma técnica não supervisionada para descobrir a composição e estrutura de um determinado conjunto de dados. É um processo de aglomerar dados em aglomerados para ver que agrupamentos emergem, se houver. Cada aglomerado é caracterizado por um conjunto contido de pontos de dados, e um aglomerado centroide. O cluster centroid é basicamente a média (média) de todos os pontos de dados que o cluster contém, em todas as características.os problemas de classificação envolvem a colocação de um ponto de dados (também conhecido por observação) numa classe ou categoria pré-definida. Às vezes os problemas de classificação simplesmente atribuem uma classe a uma observação, e em outros casos o objetivo é estimar as probabilidades de que uma observação pertence a cada uma das classes dadas.
um grande exemplo de uma classificação de duas classes é atribuir a classe de Spam ou Ham a um email de entrada, onde ham apenas significa ‘não spam’. Classificação Multi-classe significa apenas mais de duas classes possíveis. Assim, no exemplo de spam, talvez uma terceira classe seria ‘desconhecida’.
regressão é apenas uma palavra elegante para dizer que um modelo irá atribuir um valor contínuo (resposta) a uma observação de dados, em oposição a uma classe discreta. Um grande exemplo disso seria prever o preço final da Média Industrial Dow Jones em qualquer dia. Este valor poderia ser qualquer número, e seria, portanto, um candidato perfeito para a regressão.
Note que às vezes a regressão da palavra é usada em nome de um algoritmo que é realmente usado para problemas de classificação, ou para prever uma resposta categórica discreta (por exemplo, spam ou ham). Um bom exemplo é a regressão logística, que prevê probabilidades de um dado valor discreto.outro tipo de problema é a detecção de anomalias. Embora gostássemos de pensar que os dados são bem comportados e sensatos, infelizmente isso não acontece muitas vezes. Por vezes, existem pontos de dados erróneos devido a anomalias ou erros de medição, ou por vezes devido a fraude. Outras vezes pode ser que Medições anômalas são indicativas de uma falha de hardware ou eletrônica.
às Vezes anomalias são indicativos de um problema real e não são facilmente explicados, como um defeito de fabrico, e, neste caso, a detecção de anomalias fornece uma medida de controle de qualidade, bem como uma visão sobre se as medidas tomadas para reduzir os defeitos tenham trabalhado ou não. Em ambos os casos, há momentos em que é benéfico encontrar esses valores anômalos, e certos algoritmos de aprendizagem de máquina podem ser usados para fazer exatamente isso.
O tipo final de problema é tratado com um sistema de recomendação, ou também chamado motor de recomendação. Sistemas de recomendação são um tipo de Sistema de Filtragem de informação, e são destinados a fazer recomendações em muitas aplicações, incluindo filmes, música, livros, restaurantes, artigos, produtos, etc. As duas abordagens mais comuns são a filtragem baseada em conteúdos e a filtragem colaborativa.dois grandes exemplos de motores de recomendação populares são os oferecidos pela Netflix e Amazon. A Netflix faz recomendações para manter os telespectadores engajados e abastecidos com bastante conteúdo para assistir. Em outras palavras, para manter as pessoas usando Netflix. Eles fazem isso com as recomendações de ” porque você viu…”,” Top Picks para Alex”, e” sugestões para você”.Amazon faz uma coisa semelhante, a fim de aumentar as vendas através de up-selling, manter as vendas através do envolvimento do Usuário, e assim por diante. Eles fazem isso através de seus “clientes que compraram este Item também comprou”, “recomendações para você, Alex”, “relacionados com itens que você viu”, e “mais itens a considerar” recomendações.
algoritmos de aprendizagem de máquinas
agora cobrimos os tipos de problemas de aprendizagem de máquinas e as saídas desejadas. Agora vamos dar uma visão geral de alto nível de algoritmos de aprendizagem de máquinas relevantes.
Aqui está uma lista de algoritmos, supervisionados e não supervisionados, que são muito populares e vale a pena conhecer a um alto nível. Note que alguns destes algoritmos serão discutidos em maior profundidade mais tarde nesta série.
Supervisionado Regressão
-
Simples e regressão linear múltipla
-
árvore de Decisão ou de uma floresta de regressão
-
redes Neurais Artificiais
-
de regressão Ordinal
-
de regressão de Poisson
-
vizinho mais próximo métodos (e.g., k-NN e k-Vizinhos mais próximos)
Supervisionado de Duas classes & Multi-classe Classificação
-
a regressão Logística e regressão multinomial
-
redes Neurais Artificiais
-
árvore de Decisão, floresta, e selvas
-
SVM (support vector machine)
-
Perceptron métodos
-
classificadores Bayesianos (por exemplo, Naive Bayes)
-
vizinho mais próximo métodos (e.g., k-NN e k-Vizinhos mais próximos)
-
Um contra todos multiclass
Supervisionada
-
K-means cluster
-
Hierárquica de cluster
a Detecção de Anomalias
-
Máquina de vetor de suporte (uma classe)
-
PCA (Princípio da análise de componentes)
Note que uma técnica é frequentemente utilizada para melhorar o desempenho do modelo é a de combinar os resultados de vários modelos. Esta abordagem alavanca o que é conhecido como métodos conjuntos, e florestas aleatórias são um grande exemplo (discutido mais tarde).
If nothing else, it’s a good idea to at least familiarize yourself with the names of these popular algorithms, and have a basic idea as to the type of machine learning problem and output that they may be well suited for.
Summary
Machine learning, predictive analytics, and other related topics are very exciting and powerful fields.embora estes tópicos possam ser muito técnicos, muitos dos conceitos envolvidos são relativamente simples de entender a um nível elevado. Em muitos casos, um simples entendimento é tudo o que é necessário para ter discussões baseadas em problemas de aprendizagem por máquina, projetos, técnicas, etc.
Parte Dois desta série irá fornecer uma introdução ao desempenho do modelo, cobrir o processo de aprendizagem da máquina, e discutir a seleção do modelo e tradeoffs associados em detalhes.fiquem sintonizados!
sobre o autor
Alex é o fundador do Instituto InnoArchiTech e InnoArchiTech, bem como o autor de AI para pessoas e Negócios publicado por O’Reilly Media.