Derniers projets d'apprentissage automatique à essayer en 2019

Cet article vous fournira une connaissance approfondie des projets d'apprentissage automatique dans l'industrie et des avancées réalisées dans ce domaine.

est clairement un domaine qui a connu des avancées folles au cours des deux dernières années. Cette tendance et ces progrès ont créé de nombreuses opportunités d'emploi dans l'industrie. Le besoin de Ingénieurs en apprentissage automatique sont très demandés et cette augmentation est due à l'évolution de la technologie et à la génération d'énormes quantités de données, aussi appelées Big Data. Dans cet article, je vais donc discuter des projets d'apprentissage automatique les plus étonnants à connaître et à utiliser, dans l'ordre suivant:



Qu'est-ce que l'apprentissage automatique?

L'apprentissage automatique est un concept qui permet à la machine d'apprendre à partir d'exemples et d'expériences, et cela aussi sans être explicitement programmé. Donc, au lieu d'écrire le code, ce que vous faites est de fournir des données à l'algorithme générique, et l'algorithme / la machine construit la logique en fonction des données données.



Qui est un ingénieur ML

Étapes de l'apprentissage automatique

Tout algorithme d'apprentissage automatique suit un modèle ou des étapes communs.



La collecte de données: Cette étape implique la collecte de toutes les données pertinentes provenant de diverses sources

Wrangling de données: C'est le processus de nettoyage et de conversion des «données brutes» dans un format qui permet une consommation pratique

Analyser les données: Les données sont analysées pour sélectionner et filtrer les données nécessaires à la préparation du modèle



Algorithme de train: L'algorithme est formé sur l'ensemble de données d'apprentissage, grâce auquel l'algorithme comprend le modèle et les règles qui régissent les données

Modèle d'essai: L'ensemble de données de test détermine la précision de notre modèle.

Déploiement: Si la vitesse et la précision du modèle sont acceptables, alors ce modèle doit être déployé dans le système réel. Une fois le modèle déployé en fonction de ses performances, le modèle est mis à jour et amélioré en cas de baisse des performances, le modèle est recyclé.

Types d'apprentissage automatique

L'apprentissage automatique est sous-catégorisé en trois types:

Enseignement supervisé: C'est celui où vous avez des variables d'entrée (x) et une variable de sortie (Y) et vous utilisez un algorithme pour apprendre la fonction de mappage de l'entrée vers la sortie.

Apprentissage non supervisé: Parfois, les données fournies ne sont ni structurées ni étiquetées. Il devient donc difficile de classer ces données dans différentes catégories. L'apprentissage non supervisé aide à résoudre ce problème. Cet apprentissage est utilisé pour regrouper les données d'entrée en classes sur la base de leurs propriétés statistiques.

Apprentissage par renforcement: Il s'agit de prendre les mesures appropriées afin de maximiser la récompense dans une situation particulière.
en ce qui concerne l'apprentissage par renforcement, il n'y a pas de résultat attendu. L'agent de renforcement décide des actions à entreprendre pour exécuter une tâche donnée. En l'absence d'un ensemble de données de formation, il est tenu d'apprendre de son expérience.

Jetons maintenant un coup d'œil à quelques projets d'apprentissage automatique réels qui peuvent aider les entreprises à générer des bénéfices.

Cas d'utilisation de l'industrie

1. MOTION STUDIO

Domaine: Moitié

Concentrer: Optimiser le processus de sélection

fonction membre statique en c ++

Défi commercial: Motion Studio est la plus grande maison de production radio d'Europe. Avec un chiffre d'affaires de plus d'un milliard de dollars, la société a décidé de lancer une nouvelle émission de télé-réalité: RJ Star. La réponse à l'émission est sans précédent et la société est inondée de clips vocaux. En tant qu'expert en ML, vous devez classer la voix comme homme / femme afin que le premier niveau de filtration soit plus rapide.

Questions clés: Les échantillons vocaux sont à travers les accents.

Avantage commercial: Puisque RJ Star est une émission de télé-réalité, le temps de sélection des candidats est très court. Tout le succès du spectacle et donc les bénéfices dépendent d'une exécution rapide et fluide

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-classification.csv') df.head ()

# Vérifiez le non. d'enregistrements df.info () df.describe () df.isnull (). sum ()

print ('Forme des données:', df.shape) print ('Nombre total d'étiquettes: {}'. format (df.shape [0])) print ('Nombre de mâles: {}'. format (df [ df.label == 'male']. shape [0])) print ('Number of female: {}'. format (df [df.label == 'female']. shape [0]))

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

depuis sklearn.preprocessing import LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y depuis sklearn.preprocessing import StandardScaler scaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) depuis sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) depuis sklearn.svm importation SVC depuis sklearn.svm importation SVC depuis sklearn.svm importation SVC depuis sklearn import metrics.report , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ('Score de précision:') print (metrics.accuracy_score (y_test, y_pred))

impression (confusion_matrix (y_test, y_pred))

2. LITHIONPOWER

Domaine: Automobile

Concentrer: Inciter les conducteurs

Défi commercial: Lithionpower est le plus grand fournisseur de batteries pour véhicules électriques (véhicules électriques). Les conducteurs louent généralement la batterie pendant une journée, puis la remplacent par une batterie chargée de l'entreprise. Lithionpower a un modèle de tarification variable basé sur l'historique de conduite du conducteur. Comme la durée de vie d'une batterie dépend de facteurs tels que la survitesse, la distance parcourue par jour, etc. En tant qu'expert ML, vous devez créer un modèle de cluster où les conducteurs peuvent être regroupés en fonction des données de conduite.

Questions clés: Les conducteurs seront incités en fonction du cluster, le regroupement doit donc être précis.

Avantages commerciaux: Augmentation des bénéfices, jusqu'à 15-20% car les conducteurs avec des antécédents médiocres seront facturés plus.

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

df.info () df.describe ()

à partir de sklearn.cluster import KMeans # Prise de 2 clusters kmeans = KMeans (n_clusters = 2) df_analyze = df.drop ('id', axis = 1) kmeans.fit (df_analyze)

kmeans.cluster_centers_

impression (kmeans.labels_) impression (len (kmeans.labels_))

print (type (kmeans.labels_)) unique, count = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (unique, count)))

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, aspect = 1, fit_reg = False)

#Maintenant, vérifions les clusters, quand 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, count = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (unique, count)))

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, aspect = 1, fit_reg = False)

3. BluEx

Domaine: Logistique

Concentrer: Chemin optimal

Défi commercial: BluEx est une entreprise de logistique leader en Inde. Il est connu pour la livraison efficace de paquets aux clients. Cependant, BluEx est confronté à un défi où ses chauffeurs de camionnette empruntent un chemin sous-optimal pour la livraison. Cela entraîne des retards et des coûts de carburant plus élevés. En tant qu'expert en ML, vous devez créer un modèle de ML à l'aide de l'apprentissage par renforcement afin de trouver un chemin efficace dans le programme.

Questions clés: Les données ont de nombreux attributs et la classification peut être délicate.

Avantages commerciaux: Jusqu'à 15% du coût du carburant peuvent être économisés en empruntant le chemin optimal.

import numpy as np import pylab as plt import networkx as nx #Initializing points points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] objectif = 7 mapping = {0: 'Début', 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 (shape = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 pour le point dans la liste de points: print (point) si le point [1] == objectif: R [point] = 150 else: R [point] = 0 if point [0] == but: R [point [:: - 1]] = 150 else: # inverse du point R [point [:: - 1]] = 0

R [objectif, objectif] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # Le paramètre d'apprentissage gamma = 0.8 initial_state = 1 def available_actions (state): current_state_row = R [state,] av_act = np.where (current_state_row & ampampampampgt = 0 ) [1] return av_act available_act = available_actions (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] si max_index.shape [0] & ampampampgt 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] + gamma * max_value print ('max_value', R [current_state, action] + gamma * max_value) if (np.max (Q) & ampampampgt 0): return (np.sum (Q / np.max (Q) * 100)) else: return (0) update (initial_state, action, gamma)

scores = [] pour i dans la plage (700): état_actuel = np.random.randint (0, int (Q.shape [0])) available_act = available_actions (état_actuel) action = sample_next_action (available_act) score = update (état_actuel, action, gamma) scores.append (score) print ('Score:', str (score)) print ('Matrice Q formée:') print (Q / np.max (Q) * 100) # Test current_state = 0 pas = [état_actuel] while current_state! = 7: next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] if 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 ('Chemin le plus efficace:') print (étapes) plt.plot (scores) plt.show ()

Projets d'apprentissage automatique Open Source en 2019

Detectron : Detectron est le système logiciel de Facebook AI Research qui implémente des algorithmes de détection d'objets de pointe. Il est écrit en Python et alimenté par le framework d'apprentissage en profondeur Caffe2.

L'objectif de Detectron est de fournir une base de code de haute qualité et haute performance pour la recherche sur la détection d'objets. Il est conçu pour être flexible afin de permettre une mise en œuvre et une évaluation rapides de nouvelles recherches. Il contient plus de 50 modèles pré-formés.

fonction power en java pour les entiers

Denspose : L'estimation de la pose humaine dense vise à cartographier tous les pixels humains d'une image RVB sur la surface 3D du corps humain. DensePose-RCNN est implémenté dans le framework Detectron.

TensorFlow.js : Il s'agit d'une bibliothèque pour le développement et la formation de modèles ML et leur déploiement dans le navigateur. C'est devenu une version très populaire depuis sa sortie plus tôt cette année et continue de surprendre par sa flexibilité. Avec cela, vous pouvez

  • Développer ML dans le navigateur: Utilisez des API flexibles et intuitives pour créer des modèles à partir de zéro à l'aide de la bibliothèque d'algèbre linéaire JavaScript de bas niveau ou de l'API des couches de haut niveau.
  • Exécuter des modèles existants : Utilisez les convertisseurs de modèles TensorFlow.js pour exécuter des modèles TensorFlow préexistants directement dans le navigateur.
  • Recycler les modèles existants: Reconditionnez les modèles ML préexistants à l'aide de données de capteur connectées au navigateur ou d'autres données côté client.

Waveglow: L'apprentissage automatique fait également des progrès majeurs dans le traitement audio et il ne s'agit pas seulement de générer de la musique ou de la classification. WaveGlow est un réseau génératif basé sur le flux pour la synthèse vocale de NVIDIA. Les chercheurs ont également répertorié les étapes que vous pouvez suivre si vous souhaitez entraîner votre propre modèle à partir de zéro.

Peinture d'image : Imaginez que vous ayez une demi-image d’une scène et que vous vouliez le paysage complet, eh bien, c’est ce que la peinture d’image peut faire pour vous. Ce projet est une implémentation Keras du papier Image Outpainting de Stanford. Le modèle a été formé avec 3500 données de plage abandonnées avec une argumentation totalisant jusqu'à 10 500 images pour 25 époques .

Ceci est un article étonnant avec une explication détaillée étape par étape. Un exemple incontournable pour tous les passionnés de Machine Learning. Personnellement, c'est mon projet d'apprentissage machine préféré.

Harmonisation picturale profonde : Eh bien, en parlant d'images, celle-ci est un chef-d'œuvre. Ce que fait cet algorithme, c'est prendre une image comme entrée, puis si vous ajoutez un élément externe à l'image, il mélange cet élément dans l'environnement comme s'il en faisait partie.

Pouvez-vous faire la différence? Aucun droit? Eh bien, cela nous montre à quel point nous avons progressé en termes d'apprentissage automatique.

DeepMimic: Maintenant, regardez de près les images ici, vous voyez une figure de bâton faisant spin-kick, backflip et cartwheel. Que mon ami est l'apprentissage par renforcement en action. DeepMimic est un apprentissage par renforcement profond guidé par exemple des compétences de caractère basées sur la physique.

Magenta : Magenta est un projet de recherche explorant le rôle de l'apprentissage automatique dans le processus de création artistique et musicale. Cela implique principalement le développement de nouveaux algorithmes d'apprentissage profond et d'apprentissage par renforcement pour générer des chansons, des images, des dessins et d'autres matériaux.

C'est aussi une exploration de la construction d'outils et d'interfaces intelligents qui permettent aux artistes et musiciens de s'étendre ( pas remplacer! ) leurs processus utilisant ces modèles. Allez déployer vos ailes, créez votre contenu unique pour Instagram ou Soundcloud et devenez un influenceur.

Alors les gars, avec cela, nous arrivons à la fin de cet article incroyable sur les projets d'apprentissage automatique. Essayez ces exemples et faites-le nous savoir dans la section commentaires ci-dessous. J'espère que vous avez appris à connaître la mise en œuvre pratique de l'apprentissage automatique dans l'industrie. Edureka vous permet de maîtriser des techniques telles que l'apprentissage supervisé, l'apprentissage non supervisé et le traitement du langage naturel. Il comprend une formation sur les dernières avancées et approches techniques en intelligence artificielle et apprentissage automatique telles que l'apprentissage en profondeur, les modèles graphiques et l'apprentissage par renforcement.