Algoritmo de Aprendizagem linear - Amazônia SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Algoritmo de Aprendizagem linear

Modelos lineares são algoritmos de aprendizagem supervisionada para resolver problemas de classificação ou regressão. Para entrada, você dá ao modelo exemplos rotulados (x, y). x é um vetor altamente dimensional e y é um rótulo numérico. Para problemas de classificação binária, o rótulo deve ser 0 ou 1. Para problemas de classificação de várias classes, os rótulos devem ser de 0 a num_classes - 1. Para problemas de regressão, y é um número real. O algoritmo aprende uma função linear ou, para problemas de classificação, uma função de limite linear, e mapeia um vetor x para uma aproximação do rótulo y.

A Amazon SageMaker o algoritmo linear do aluno fornece uma solução para problemas de classificação e regressão. Com a SageMaker algoritmo, você pode explorar simultaneamente diferentes objetivos de treinamento e escolher a melhor solução de um conjunto de validação. Você também pode explorar um grande número de modelos e escolher o melhor. O melhor modelo otimiza uma das seguintes opções:

  • Objetivos contínuos, como erro quadrático médio, perda de entropia cruzada e erro absoluto.

  • Objetivos discretos adequados para classificação, como medida F1, precisão, recall ou acurácia.

Em comparação com métodos que proporcionam uma solução apenas para objetivos contínuos, o algoritmo de aprendizagem linear do SageMaker proporciona um aumento significativo na velocidade em relação às técnicas de otimização de hiperparâmetros nativas. Ele também é mais conveniente.

O algoritmo de aprendizagem linear requer uma matriz de dados, com linhas representando as observações e colunas representando as dimensões dos recursos. Ele também requer uma coluna adicional que contenha os rótulos que correspondem aos pontos de dados. No mínimo, a Amazon SageMaker O aluno linear exige que você especifique as localizações dos dados de entrada e saída e o tipo de objetivo (classificação ou regressão) como argumentos. A dimensão do recurso também é necessária. Para obter mais informações, consulteCreateTrainingJob É possível especificar parâmetros adicionais no mapa de strings de HyperParameters do corpo da solicitação. Esses parâmetros controlam o procedimento de otimização ou as especificidades da função objetiva na qual o treinamento é feito. Por exemplo, o número de epochs, regularização e tipo de perda.

Se você estiver usandoTreinamento spot gerenciado, o algoritmo linear do aluno suporta o usopontos de verificação para tirar uma foto do estado do modelo.

Interface de entrada/saída para o algoritmo linear do aluno

A Amazon SageMaker o algoritmo linear do aluno suporta três canais de dados: treinamento, validação (opcional) e teste (opcional). Se você fornecer dados de validação, o S3DataDistributionType deverá ser FullyReplicated. O algoritmo registra a perda de validação em todos os epochs e usa uma amostra dos dados de validação para calibrar e selecionar o melhor modelo. Se você não fornecer dados de validação, o algoritmo usará uma amostra dos dados de treinamento para calibrar e selecionar o modelo. Se você fornecer dados de teste, os logs do algoritmo incluirão a pontuação do teste para o modelo final.

Para treinamento, o algoritmo de Aprendizagem linear oferece suporte aos formatos recordIO-wrapped protobuf e CSV. Para o tipo de entrada application/x-recordio-protobuf, há suporte apenas para os tensores Float32. Para o tipo de entrada text/csv, a primeira coluna é considerada o rótulo, que é a variável de destino para previsão. É possível usar o modo de Arquivo ou de Pipe para treinar modelos de Aprendizagem linear em dados formatados como recordIO-wrapped-protobuf ou como CSV.

Para inferência, o algoritmo de Aprendizagem linear oferece suporte aos formatos application/json, application/x-recordio-protobuf e text/csv. Quando você faz previsões sobre novos dados, o formato da resposta depende do tipo de modelo. Para regressão (predictor_type='regressor'), o score é a previsão gerada pelo modelo. Para classificação (predictor_type='binary_classifier' ou predictor_type='multiclass_classifier'), o modelo retorna um score e um predicted_label. O predicted_label é a classe prevista pelo modelo e score mede a intensidade dessa previsão.

  • Para classificação binária, predicted_label é 0 ou 1, e score é um único número de ponto flutuante que indica a intensidade com que o algoritmo acredita que o rótulo deve ser 1.

  • Para classificação multiclasse, a predicted_class será um número inteiro de 0 a num_classes-1 e a score será uma lista de um número de ponto flutuante por classe.

Para interpretar o score em problemas de classificação, você deve considerar a função de perda usada. Se o valor do hiperparâmetro loss for logistic para classificação binária ou softmax_loss para classificação de várias classes, o score pode ser interpretado como a probabilidade da classe correspondente. Esses são os valores de perda usados pela aprendizagem linear quando o valor loss é o valor padrão auto. No entanto, se a perda for definido como hinge_loss, a pontuação não poderá ser interpretada como probabilidade. Isso ocorre porque a perda da dobradiça corresponde a um classificador Support Vector que não produz estimativas de probabilidade.

Para obter mais informações sobre formatos de arquivo de entrada e saída, consulte Formatos lineares de resposta do aluno. Para obter mais informações sobre os formatos de inferência e sobre o Cadernos de amostra lineares para alunos.

Recomendação de instância do EC2 para o algoritmo linear do aluno

O algoritmo linear do aluno oferece suporte a instâncias de CPU e GPU para treinamento e inferência. Para GPU, o algoritmo linear de aprendizagem é compatível com as famílias de GPU P2, P3, G4dn e G5.

Durante os testes, não encontramos evidências substanciais de que as instâncias com várias GPUs sejam mais rápidas do que as instâncias de uma única GPU. Os resultados podem variar dependendo do seu caso de uso específico.

Cadernos de amostra lineares para alunos

A tabela a seguir descreve uma variedade de exemplos de cadernos que tratam de diferentes casos de uso da Amazon SageMaker algoritmo linear do aluno.

Site Title Descrição

Uma introdução com o conjunto de dados MNIST

Usando o conjunto de dados MNIST, treinamos um classificador binário para prever um único dígito.

Preveja o câncer de mama

Usando o conjunto de dados de câncer de mama da UCI, treinamos um modelo para prever o câncer de mama.

Como criar um classificador multiclasse?

Usando o conjunto de dados Covertype da UCI, demonstramos como treinar um classificador multiclasse.

Como criar um pipeline Machine Learning (ML) para inferência?

Usando um contêiner Scikit-learn, demonstramos como construir um end-to-end pipeline ML.

Para obter instruções sobre como criar e acessar instâncias do notebook Jupyter que você pode usar para executar o exemplo no SageMaker, consulteInstâncias de SageMaker notebook da Amazon. Após criar uma instância de notebook e abri-la, escolha a referênciaSageMakerExemplosguia para ver uma lista de todos os SageMaker exemplos. Os blocos de anotações de exemplo de modelagem de tópicos que usam os algoritmos de aprendizagem linear estão localizados na seção Introdução a algoritmos da Amazon. Para abrir um bloco de anotações, escolha sua guia Use (Uso) e depois escolha Create copy (Criar cópia).