CapÃtulo 1 : Aprendizagem automática
Machine learning (ML) é um subcampo da ciência da computação que se concentra no estudo e desenvolvimento de técnicas que permitem aos computadores "aprender", ou mais especificamente, técnicas que fazem uso de dados para melhorar o desempenho de um computador em um determinado conjunto de tarefas.
O aprendizado de máquina, quando usado para a solução de desafios de negócios, também é conhecido como análise preditiva.
Os algoritmos de aprendizagem baseiam-se na hipótese de que métodos, algoritmos e julgamentos que foram bem-sucedidos no passado provavelmente continuarão a ser bem-sucedidos no futuro também. Essas deduções às vezes podem ser evidentes, como quando se diz que "porque o sol nasceu todas as manhãs nos últimos 10.000 dias, há uma boa chance de que ele ressuscite amanhã de manhã". Em outras ocasiões, essas explicações podem ser mais sutis, como "X por cento das famílias têm espécies geograficamente diferentes com variações de cor, o que significa que há uma probabilidade de Y por cento de que cisnes negros desconhecidos existem.".
Arthur Samuel, um trabalhador da IBM e pioneiro nas áreas de jogos de computador e inteligência artificial, é creditado como sendo aquele que usou pela primeira vez o termo "aprendizado de máquina" em 1959.
A busca pela inteligência artificial levou ao desenvolvimento do campo do machine learning como campo de pesquisa (IA). Durante os estágios iniciais do desenvolvimento da IA como um campo acadêmico, vários acadêmicos expressaram interesse em ensinar computadores a aprender com dados. Eles tentaram resolver o problema usando uma variedade de métodos simbólicos, além do que eram então conhecidos como "redes neurais". Estas "redes neurais" consistiam principalmente em perceptrons e vários outros modelos que mais tarde foram descobertos como reinvenções dos modelos lineares generalizados de estatística.
Embora o aprendizado de máquina e a mineração de dados frequentemente usem os mesmos métodos e tenham uma quantidade significativa de sobreposição, o foco principal do aprendizado de máquina é a previsão, com base nas propriedades conhecidas aprendidas com os dados de treinamento, enquanto o foco principal da mineração de dados é a descoberta de propriedades (anteriormente desconhecidas) nos dados (esta é a etapa de análise da descoberta de conhecimento em bancos de dados). A mineração de dados faz uso de inúmeras técnicas de aprendizado de máquina, mas seus objetivos são distintos dos do aprendizado de máquina. Por outro lado, o aprendizado de máquina faz uso de métodos de mineração de dados na forma de "aprendizagem não supervisionada" ou como uma etapa de pré-processamento, a fim de aumentar a precisão do aluno. Estes dois grupos de investigação (que frequentemente têm conferências diferentes e publicações separadas, sendo o ECML PKDD um exemplo significativo) são muitas vezes confundidos um com o outro como resultado das presunções fundamentais sob as quais ambos operam, que são as seguintes: No campo da aprendizagem automática, o desempenho é frequentemente medido em termos da capacidade de um indivíduo para repetir material previamente aprendido, mas no campo da descoberta de conhecimento e mineração de dados (KDD), o objetivo principal é descobrir informações que não eram conhecidas anteriormente. Uma técnica não informada (não supervisionada) será facilmente ultrapassada por outros métodos supervisionados quando avaliada em relação à informação existente; no entanto, os métodos supervisionados não podem ser empregados em um trabalho KDD típico, uma vez que não há dados de treinamento suficientes.
Muitos problemas de aprendizagem são enquadrados como a minimização de alguma função de perda em um conjunto de exemplos de treinamento, que é um exemplo de uma das ligações estreitas que existem entre aprendizado de máquina e otimização. A variância que existe entre as previsões do modelo que está sendo treinado e as ocorrências reais do problema é representada pela função de perda (por exemplo, na classificação, deseja-se atribuir um rótulo a instâncias, e os modelos são treinados para prever corretamente os rótulos pré-atribuídos de um conjunto de exemplos).
O objetivo da generalização é o que diferencia a otimização do machine learning; Enquanto as técnicas de otimização podem reduzir a perda em um conjunto de treinamento, o aprendizado de máquina está preocupado em diminuir a perda em amostras que não foram vistas antes. Pesquisas estão sendo conduzidas sobre uma série de tópicos quentes no momento, um dos quais está caracterizando a generalização de diferentes algoritmos de aprendizagem, particularmente algoritmos de aprendizagem profunda.
O objetivo primário da estatística é tirar conclusões sobre uma população com base em informações colhidas de uma amostra, enquanto o objetivo do aprendizado de máquina é identificar padrões preditivos generalizáveis. Embora os dois campos partilhem uma relação estreita em termos dos métodos que utilizam, são fundamentalmente diferentes. em que "modelo algorítmico" se refere, mais ou menos, aos algoritmos de aprendizado de máquina, como Random Forest.
Alguns estatísticos adotaram técnicas do tema do aprendizado de máquina, o que levou à criação de uma disciplina híbrida que esses estatísticos chamam de aprendizagem estatística.
Técnicas analíticas e computacionais derivadas da física profundamente enraizada de sistemas desordenados podem ser estendidas a problemas de grande escala, como aqueles que envolvem aprendizado de máquina. Por exemplo, essas técnicas podem ser usadas para analisar o espaço de peso de redes neurais profundas. Além disso, estas técnicas podem ser aplicadas a problemas de grande escala.
Ser capaz de tirar conclusões gerais a partir de exemplos específicos é um dos principais objetivos de um aluno. Generalização é a capacidade de uma máquina de aprendizagem para executar corretamente em novas instâncias ou tarefas depois de ter encontrado um conjunto de dados de aprendizagem. Neste contexto, a generalização refere-se à capacidade de uma máquina de aprendizagem para executar com precisão. Os exemplos de treinamento são retirados de alguma distribuição de probabilidade geralmente desconhecida, que é pensada para ser representativa do espaço de ocorrências. O/A aluno/a é incumbido de desenvolver um modelo geral sobre este espaço, que lhe permitirá fazer previsões em novos casos que sejam suficientemente precisas.
A teoria da aprendizagem computacional é um campo da ciência da computação teórica que analisa o desempenho de algoritmos de aprendizado de máquina através da lente do modelo Probably Approximately Correct Learning (PAC). Este tipo de estudo é conhecido como análise computacional de algoritmos de aprendizagem automática. Na maioria dos casos, a teoria da aprendizagem não fornece garantias sobre o desempenho dos algoritmos. Isto deve-se ao facto de os conjuntos de treino serem limitados e o futuro ser desconhecido. Em seu lugar, utilizam-se frequentemente limites probabilísticos sobre o desempenho. Uma técnica para medir o erro de generalização é pelo uso da decomposição de viés-variância.
É importante que a complexidade da hipótese seja comparável à complexidade da função subjacente aos dados, a fim de obter o maior desempenho possível no contexto da generalização. No caso de a hipótese ser mais simples do que a função, isso indica que o modelo não correspondeu adequadamente aos dados. Quando a complexidade do modelo é aumentada em resposta, há uma redução correspondente na quantidade de erro de treinamento. No entanto, se a hipótese for muito complicada, o modelo pode ser propenso a overfitting, e os resultados da generalização serão menos precisos.
Os teóricos da aprendizagem investigam uma variedade de tópicos, incluindo restrições de desempenho, a complexidade temporal da aprendizagem e a viabilidade da aprendizagem. No campo da teoria da aprendizagem computacional, a viabilidade de uma computação é determinada pela possibilidade ou não de ser concluída em tempo polinomial. Existem dois tipos distintos de achados em termos de sua complexidade temporal: A conclusão bem-sucedida do experimento demonstra que uma determinada classe de funções pode ser aprendida em uma quantidade polinomial de tempo. De acordo com os resultados negativos, algumas aulas não podem ser aprendidas em um período polinomial de tempo.
Os métodos tradicionais de aprendizagem automática podem ser amplamente classificados em um de três grupos, que correspondem a diferentes paradigmas de aprendizagem. Estas categorias são determinadas pelo tipo de "sinal" ou "feedback" que é disponibilizado ao sistema de aprendizagem:
O objetivo da aprendizagem supervisionada é que o computador aprenda uma regra geral que mapeia entradas para saídas, sendo mostrados exemplos de entradas e as saídas pretendidas para essas entradas. Estes exemplos são entregues ao computador por um "professor".
A aprendizagem não supervisionada é um tipo de aprendizagem automática em que o algoritmo de aprendizagem não é fornecido com quaisquer rótulos e, em vez disso, é deixado para descobrir a estrutura por conta própria dentro dos dados que é alimentado. Descobrir padrões anteriormente ocultos nos dados pode ser um propósito de aprendizagem não supervisionada em si mesmo, ou pode ser um meio para um fim (aprendizagem de recursos).
A aprendizagem através do reforço ocorre quando um programa de computador interage com um ambiente dinâmico no qual é necessário...