Projetos de aprendizado de máquina mais recentes para testar em 2019



Este artigo fornecerá a você um conhecimento abrangente dos projetos de aprendizado de máquina no setor e as inovações feitas nessa área.

é claramente um campo que viu avanços loucos nos últimos dois anos. Esta tendência e avanços criaram muitas oportunidades de trabalho na indústria. A necessidade de Engenheiros de aprendizado de máquina têm alta demanda e esse aumento é devido à tecnologia em evolução e à geração de grandes quantidades de dados, também conhecida como Big Data. Portanto, neste artigo, irei discutir os projetos de aprendizado de máquina mais incríveis que alguém definitivamente deve conhecer e trabalhar, na seguinte ordem:

O que é aprendizado de máquina?

O aprendizado de máquina é um conceito que permite que a máquina aprenda com exemplos e experiências, e isso também sem ser explicitamente programado. Então, em vez de escrever o código, o que você faz é alimentar dados para o algoritmo genérico, e o algoritmo / máquina constrói a lógica com base nos dados fornecidos.





Quem é um engenheiro de ML

Etapas de aprendizado de máquina

Qualquer algoritmo de aprendizado de máquina segue um padrão ou etapas comuns.



Coletando dados: Esta fase envolve a coleta de todos os dados relevantes de várias fontes

Disputa de dados: É o processo de limpeza e conversão de “Dados Brutos” em um formato que permite o consumo conveniente

Analisar dados: Os dados são analisados ​​para selecionar e filtrar os dados necessários para preparar o modelo



Algoritmo de trem: O algoritmo é treinado no conjunto de dados de treinamento, por meio do qual o algoritmo entende o padrão e as regras que governam os dados

Modelo de teste: O conjunto de dados de teste determina a precisão do nosso modelo.

Desdobramento, desenvolvimento: Se a velocidade e a precisão do modelo forem aceitáveis, esse modelo deve ser implantado no sistema real. Depois que o modelo é implantado com base em seu desempenho, o modelo é atualizado e melhorado se houver uma queda no desempenho, o modelo é retreinado.

Tipos de aprendizado de máquina

O aprendizado de máquina é subdividido em três tipos:

Aprendizagem supervisionada: É aquele em que você tem variáveis ​​de entrada (x) e uma variável de saída (Y) e usa um algoritmo para aprender a função de mapeamento da entrada para a saída.

Aprendizagem não supervisionada: Às vezes, os dados fornecidos não são estruturados nem rotulados. Portanto, torna-se difícil classificar esses dados em diferentes categorias. O aprendizado não supervisionado ajuda a resolver esse problema. Esse aprendizado é usado para agrupar os dados de entrada em classes com base em suas propriedades estatísticas.

Aprendizagem por reforço: É tudo uma questão de tomar as medidas adequadas para maximizar a recompensa em uma situação particular.
quando se trata de aprendizagem por reforço, não há saída esperada. O agente de reforço decide quais ações tomar para realizar uma determinada tarefa. Na ausência de um conjunto de dados de treinamento, é provável que aprenda com sua experiência.

Agora, vamos dar uma olhada em alguns projetos de aprendizado de máquina da vida real que podem ajudar as empresas a gerar lucro.

Casos de uso da indústria

1. MOTION STUDIO

Domínio: Metade

Foco: Otimize o Processo de Seleção

java o que é um scanner

Desafio de negócios: Motion Studio é a maior produtora de rádio da Europa. Com uma receita de mais de um bilhão de dólares, a empresa decidiu lançar um novo reality show: RJ Star. A resposta ao show é sem precedentes e a empresa é inundada com clipes de voz. Você, como um especialista em ML, deve classificar a voz como masculina / feminina para que o primeiro nível de filtragem seja mais rápido.

Assuntos chave: Amostras de voz estão entre sotaques.

Benefício para o negócio: Desde a RJ Star é um reality show, o tempo de seleção de candidatos é muito curto. Todo o sucesso do programa e, portanto, os lucros dependem de uma execução rápida e suave

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns% matplotlib inline import warnings warnings.filterwarnings ('ignore') df = pd.read_csv ('voice-identification.csv') df.head ()

# Verifique o não. de registros df.info () df.describe () df.isnull (). sum ()

print ('Forma dos dados:', df.shape) print ('Número total de etiquetas: {}'. format (df.shape [0])) print ('Número de machos: {}'. format (df [ df.label == 'masculino']. forma [0])) print ('Número de mulheres: {}'. formato (df [df.label == 'feminino']. forma [0]))

X = df.iloc [:,: -1] print (df.shape) print (X.shape)

from sklearn.preprocessing import LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y from sklearn.preprocessing import StandardScaler scaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) de sklearn.model_selection importar train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) de sklearn.svm importar SVC de sklearn importar classificação_remetrics , confusão_matriz svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ('Pontuação de precisão:') print (metrics.accuracy_score (y_test, y_pred))

imprimir (confusão_matriz (y_test, y_pred))

2. LITHIONPOWER

Domínio: Automotivo

Foco: Incentivar motoristas

Desafio de negócios: A Lithionpower é o maior fornecedor de baterias para veículos elétricos (e-veículos). Os motoristas alugam a bateria normalmente por um dia e depois a substituem por uma bateria carregada da empresa. Lithionpower tem um modelo de preço variável com base no histórico de direção do motorista. Como a vida útil de uma bateria depende de fatores como velocidade excessiva, distância percorrida por dia, etc. Você, como um especialista em ML, precisa criar um modelo de cluster onde os motoristas podem ser agrupados com base nos dados de direção.

Assuntos chave: Os motoristas serão incentivados com base no cluster, portanto, o agrupamento deve ser preciso.

Benefícios para o negócio: Aumento nos lucros de até 15-20%, pois os motoristas com histórico ruim serão cobrados mais caro.

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns sns.set () # para plot styling% matplotlib inline import warnings warnings.filterwarnings ('ignore') import matplotlib.pyplot as plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.describe ()

from sklearn.cluster import KMeans #Taking 2 clusters kmeans = KMeans (n_clusters = 2) df_analyze = df.drop ('id', axis = 1) kmeans.fit (df_analyze)

kmeans.cluster_centers_

print (kmeans.labels_) print (len (kmeans.labels_))

print (type (kmeans.labels_)) unique, counts = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (exclusivo, contagens)))

df_analyze ['cluster'] = kmeans.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', size = 6, aspecto = 1, fit_reg = False)

#Agora, vamos verificar os clusters, quando n = 4 kmeans_4 = KMeans (n_clusters = 4) kmeans_4.fit (df.drop ('id', axis = 1)) kmeans_4.fit (df.drop ('id', axis = 1)) print (kmeans_4.cluster_centers_) unique, counts = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (exclusivo, contagens)))

df_analyze ['cluster'] = kmeans_4.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', size = 6, aspecto = 1, fit_reg = False)

3. BluEx

Domínio: Logística

Foco: Caminho Ideal

Desafio de negócios: BluEx é uma empresa líder em logística na Índia. É conhecido pela entrega eficiente de pacotes aos clientes. No entanto, o BluEx está enfrentando um desafio em que seus motoristas de van estão seguindo um caminho abaixo do ideal para a entrega. Isso está causando atrasos e aumento do custo do combustível. Você, como especialista em ML, precisa criar um modelo de ML usando o Reinforcement Learning para que o caminho eficiente seja encontrado no programa.

Assuntos chave: Os dados têm muitos atributos e a classificação pode ser complicada.

Benefícios para o negócio: Até 15% do custo de combustível pode ser economizado seguindo o caminho ideal.

import numpy as np import pylab as plt import networkx as nx #Inicializando pontos points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] objetivo = 7 mapeamento = {0: 'Iniciar', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-Destination '} G = nx.Graph () G.add_edges_from (points_list) pos = nx.spring_layout (G, k = .5, center = points_list [2]) nx .draw_networkx_nodes (G, pos, node_color = 'g') nx.draw_networkx_edges (G, pos, edge_color = 'b') nx.draw_networkx_labels (G, pos) plt.show ()

NO_OF_POINTS = 8 #Inititlaizing R Matrix R = np.matrix (np.ones (forma = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 para ponto em points_list: print (point) if point [1] == objetivo: R [ponto] = 150 else: R [ponto] = 0 se ponto [0] == objetivo: R [ponto [:: - 1]] = 150 else: # reverso do ponto R [ponto [:: - 1]] = 0

R [objetivo, objetivo] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # O parâmetro de aprendizagem gamma = 0.8 initial_state = 1 def available_actions (state): current_state_row = R [state,] av_act = np.where (current_state_row & ampampampgt = 0 ) [1] return av_act available_act = available_action (initial_state) def sample_next_action (available_actions_range): next_action = int (np.random.choice (available_act, 1)) return next_action action = sample_next_action (available_act) def update (current_state, action, gamma) : max_index = np.where (Q [action,] == np.max (Q [action,])) [1] if max_index.shape [0] & ampampgt 1: max_index = int (np.random.choice (max_index, size = 1)) else: max_index = int (max_index) max_value = Q [action, max_index] Q [current_state, action] = R [current_state, action] + gama * max_value print ('max_value', R [current_state, action] + gama * max_value) if (np.max (Q) & ampampampgt 0): return (np.sum (Q / np.max (Q) * 100)) else: return (0) update (initial_state, action, gamma)

uma matriz de objetos java
scores = [] para i no intervalo (700): current_state = np.random.randint (0, int (Q.shape [0])) available_act = available_actions (current_state) action = sample_next_action (available_act) score = update (current_state, ação, gama) scores.append (score) print ('Score:', str (score)) print ('Matriz Q treinada:') print (Q / np.max (Q) * 100) # Testing current_state = 0 steps = [current_state] enquanto current_state! = 7: next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] se next_step_index.shape [0] & ampampampgt 1: next_step_index = int (np.random.choice (next_step_index, size = 1)) else: next_step_index = int (next_step_index) steps.append (next_step_index) current_state = next_step_index

print ('Caminho mais eficiente:') print (etapas) plt.plot (pontuação) plt.show ()

Projetos de aprendizado de máquina de código aberto em 2019

Detectron : Detectron é o sistema de software do Facebook AI Research que implementa algoritmos de detecção de objetos de última geração. Ele foi escrito em Python e desenvolvido com a estrutura de aprendizado profundo Caffe2.

O objetivo do Detectron é fornecer uma base de código de alta qualidade e alto desempenho para pesquisas de detecção de objetos. Ele é projetado para ser flexível a fim de apoiar a rápida implementação e avaliação de novas pesquisas. Ele contém mais de 50 modelos pré-treinados.

Densidade : A estimativa densa da pose humana visa mapear todos os pixels humanos de uma imagem RGB para a superfície 3D do corpo humano. DensePose-RCNN é implementado na estrutura Detectron.

TensorFlow.js : É uma biblioteca para desenvolver e treinar modelos de ML e implantar no navegador. Tornou-se um lançamento muito popular desde o seu lançamento no início deste ano e continua a surpreender com sua flexibilidade. Com isso você pode

  • Desenvolva ML no navegador: Use APIs flexíveis e intuitivas para construir modelos do zero usando a biblioteca de álgebra linear JavaScript de baixo nível ou a API de camadas de alto nível.
  • Executar modelos existentes : Use os conversores de modelo TensorFlow.js para executar modelos TensorFlow pré-existentes direto no navegador.
  • Treine novamente os modelos existentes: Treine novamente modelos de ML pré-existentes usando dados de sensor conectados ao navegador ou outros dados do lado do cliente.

Waveglow: O aprendizado de máquina também está fazendo grandes avanços no processamento de áudio, e não apenas gerando música ou classificação. WaveGlow é uma rede geradora baseada em fluxo para síntese de fala da NVIDIA. Os pesquisadores também listaram as etapas que você pode seguir se quiser treinar seu próprio modelo do zero.

Tratamento de imagem : Imagine que você tem uma meia imagem de uma cena e deseja o cenário completo, bem, isso é o que a pintura de imagem pode fazer por você. Este projeto é uma implementação Keras do papel de pintura de imagem de Stanford. O modelo foi treinado com 3500 dados de praia descartados com argumentação totalizando até 10.500 imagens para 25 épocas .

Este é um artigo incrível com uma explicação detalhada passo a passo. Um exemplo obrigatório para todos os entusiastas do aprendizado de máquina. Pessoalmente, este é meu projeto de aprendizado de máquina favorito.

Harmonização de pintura profunda : Bem, por falar em imagens, esta é uma obra-prima. O que esse algoritmo faz é pegar uma imagem como entrada e, em seguida, se você adicionar um elemento externo à imagem, ele combina esse elemento com o ambiente como se fosse parte dela.

Você pode dizer a diferença? Não, certo? Bem, isso nos mostra o quão longe chegamos em termos de aprendizado de máquina.

DeepMimic: Agora, dê uma olhada nas imagens aqui, você verá uma figura palito fazendo spin-kick, backflip e cartwheel. Que meu amigo está aprendendo por reforço em ação. DeepMimic é um exemplo de Aprendizagem por Reforço Profundo Guiada de Habilidades de Personagem Baseadas na Física.

Magenta : Magenta é um projeto de pesquisa que explora o papel do aprendizado de máquina no processo de criação de arte e música. Basicamente, isso envolve o desenvolvimento de novos algoritmos de aprendizado de reforço e aprendizado profundo para gerar músicas, imagens, desenhos e outros materiais.

É também uma exploração na construção de ferramentas e interfaces inteligentes que permitem a artistas e músicos expandir ( não substitua! ) seus processos usando esses modelos. Abra suas asas, crie seu conteúdo exclusivo para Instagram ou Soundcloud e torne-se um influenciador.

Então pessoal, com isso chegamos ao fim deste artigo incrível sobre projetos de aprendizado de máquina. Experimente esses exemplos e deixe-nos saber na seção de comentários abaixo. Espero que você tenha conhecido a implementação prática do Aprendizado de Máquina na indústria. Edureka's torna você proficiente em técnicas como Aprendizagem Supervisionada, Aprendizagem Não Supervisionada e Processamento de Linguagem Natural. Inclui treinamento sobre os últimos avanços e abordagens técnicas em Inteligência Artificial e Aprendizado de Máquina, como Aprendizado Profundo, Modelos Gráficos e Aprendizado por Reforço