
Olá leitores!
Recentemente, lancei o repositório Homemade Machine Learning , que contém exemplos de algoritmos e abordagens populares de aprendizado de máquina, como regressão linear, regressão logística, método K-means e rede neural (perceptron de várias camadas). Cada algoritmo contém páginas de demonstração interativas lançadas no Jupyter NBViewer-e ou Binder-e. Assim, todos têm a oportunidade de alterar dados de treinamento, parâmetros de treinamento e ver imediatamente o resultado do treinamento, visualização e previsão do modelo em seu navegador sem instalar o Jupyter localmente.
O objetivo deste repositório é implementar algoritmos quase do zero, a fim de ter uma compreensão mais detalhada dos modelos matemáticos que estão por trás de cada um dos algoritmos. As principais bibliotecas usadas foram o NumPy e o Pandas . Essas bibliotecas são usadas para operações eficientes em matrizes, bem como para carregar e analisar dados CSV. Nas páginas de demonstração para plotagem de gráficos e visualização de dados de treinamento, as bibliotecas Matplotlib e Plotly também são usadas. No caso de regressão logística, a biblioteca SciPy é usada para minimizar a função de perda, mas em outros casos, a descida do gradiente é implementada no NumPy / Python puro. O uso de bibliotecas como PyTorch ou TensorFlow é evitado devido ao objetivo de ensino do repositório.
No momento, os seguintes algoritmos são implementados no repositório ...
Regressão. Regressão linear.
Nos problemas associados à regressão, tentamos prever o número real com base nos dados recebidos. De fato, estamos construindo um plano linear / plano / n-dimensional ao longo dos dados de treinamento para poder fazer uma previsão para dados de entrada que não estão no conjunto de treinamento. Isso acontece, por exemplo, se queremos prever o custo de um apartamento de 2 quartos, no centro de N, no 7º andar.
Classificação. Regressão logística.
Em problemas relacionados à classificação, dividimos os dados em classes, dependendo dos parâmetros desses dados. Um exemplo de uma tarefa de classificação é o reconhecimento de spam. Dependendo do texto da carta (dados recebidos), atribuímos cada letra a uma das duas classes ("spam" ou "sem spam").
Agrupamento Método K-significa.
Nas tarefas de cluster, dividimos nossos dados em clusters que não são conhecidos antecipadamente. Esses algoritmos podem ser usados para segmentação de mercado, análise de redes sociais e não apenas redes.
Redes neurais. Perceptron multicamada (MLP).
As redes neurais provavelmente não são um algoritmo, mas um "padrão" ou "estrutura" para organizar diferentes algoritmos de aprendizado de máquina em um sistema para análise posterior de dados de entrada complexos.
Procure anomalias usando a distribuição Gaussiana
Nos problemas associados à pesquisa de anomalias, tentamos isolar as instâncias de dados que parecem "suspeitas" em comparação com a maioria das outras instâncias. Por exemplo, a definição de transações atípicas (suspeitas) por cartão de crédito.
Espero que você ache o repositório útil, experimentando demonstrações de cada algoritmo, lendo os modelos matemáticos por trás deles ou analisando os detalhes de implementação de cada um deles.
Codificação bem sucedida!