2019 년에 시도 할 최신 머신 러닝 프로젝트



이 기사는 업계의 머신 러닝 프로젝트에 대한 포괄적 인 지식과이 분야에서 이루어진 혁신을 제공합니다.

지난 몇 년 동안 미친 발전을 보인 분야입니다. 이러한 추세와 발전은 업계에서 많은 일자리를 창출했습니다. 에 대한 필요성 기계 학습 엔지니어 수요가 많으며 이러한 급증은 진화하는 기술과 빅 데이터라고하는 엄청난 양의 데이터 생성으로 인한 것입니다. 따라서이 기사에서는 다음과 같은 순서로 확실히 알고 작업해야하는 가장 놀라운 기계 학습 프로젝트에 대해 논의 할 것입니다.

머신 러닝이란?

기계 학습은 기계가 예제와 경험을 통해 학습 할 수 있도록하는 개념이며 명시 적으로 프로그래밍하지 않아도됩니다. 따라서 코드를 작성하는 대신 일반 알고리즘에 데이터를 공급하면 알고리즘 / 기계가 주어진 데이터를 기반으로 논리를 구축합니다.





ML 엔지니어는 누구입니까

기계 학습 단계

모든 기계 학습 알고리즘은 일반적인 패턴 또는 단계를 따릅니다.



데이터 수집 : 이 단계에는 다양한 소스에서 모든 관련 데이터 수집이 포함됩니다.

데이터 랭 글링 : 'Raw Data'를 정리하여 편리하게 사용할 수있는 형식으로 변환하는 과정입니다.

데이터 분석 : 모델을 준비하는 데 필요한 데이터를 선택하고 필터링하기 위해 데이터를 분석합니다.



기차 알고리즘 : 알고리즘은 훈련 데이터 세트에서 훈련되며,이를 통해 알고리즘은 데이터를 관리하는 패턴과 규칙을 이해합니다.

테스트 모델 : 테스트 데이터 세트는 모델의 정확성을 결정합니다.

전개: 모델의 속도와 정확성이 만족 스러우면 해당 모델을 실제 시스템에 배포해야합니다. 성능을 기반으로 모델이 배포 된 후 모델이 업데이트되고 성능이 저하되면 모델이 다시 학습됩니다.

기계 학습의 유형

기계 학습은 세 가지 유형으로 분류됩니다.

지도 학습 : 입력 변수 (x)와 출력 변수 (Y)가 있고 알고리즘을 사용하여 입력에서 출력으로의 매핑 함수를 학습하는 곳입니다.

비지도 학습 : 때때로 주어진 데이터는 구조화되지 않고 레이블이 지정되지 않습니다. 따라서 해당 데이터를 다른 범주로 분류하는 것이 어려워집니다. 비지도 학습은이 문제를 해결하는 데 도움이됩니다. 이 학습은 통계적 속성을 기반으로 클래스의 입력 데이터를 클러스터링하는 데 사용됩니다.

강화 학습 : 특정 상황에서 보상을 극대화하기 위해 적절한 조치를 취하는 것이 전부입니다.
강화 학습에 관해서는 예상되는 결과가 없습니다. 강화 에이전트는 주어진 작업을 수행하기 위해 취할 조치를 결정합니다. 훈련 데이터 세트가 없으면 경험에서 배울 수밖에 없습니다.

이제 기업이 수익을 창출하는 데 도움이 될 수있는 몇 가지 실제 기계 학습 프로젝트를 살펴 보겠습니다.

산업 사용 사례

1. 모션 스튜디오

도메인: 절반

초점: 선택 프로세스 최적화

데이터 과학에 대한 간단한 소개

비즈니스 과제 : Motion Studio는 유럽에서 가장 큰 라디오 제작사입니다. 10 억 달러 이상의 수익을 올린이 회사는 새로운 리얼리티 쇼를 시작하기로 결정했습니다. RJ 스타. 쇼에 대한 반응은 전례가 없었고 회사는 음성 클립으로 넘쳐납니다. ML 전문가는 첫 번째 수준의 필터링이 더 빨라지도록 음성을 남성 / 여성으로 분류해야합니다.

주요 이슈 : 음성 샘플은 억양에 걸쳐 있습니다.

비즈니스 이점 : 이후 RJ 스타 리얼리티 쇼이므로 후보자를 선택하는 시간이 매우 짧습니다. 쇼의 전체 성공과 그에 따른 수익은 빠르고 원활한 실행에 달려 있습니다.

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 ()

# 번호를 확인하십시오. 레코드 수 df.info () df.describe () df.isnull (). sum ()

print ( '데이터의 모양 :', df.shape) print ( '총 레이블 수 : {}'. format (df.shape [0])) print ( '남성 수 : {}'. format (df [ df.label == 'male']. shape [0])) print ( '여성 수 : {}'. format (df [df.label == 'female']. shape [0]))

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

sklearn.preprocessing에서 import LabelEncoder y = df.iloc [:,-1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y sklearn.preprocessing에서 import StandardScaler () scaler.fit (X) X = sklearn.model_selection의 scaler.transform (X) import train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) from sklearn.svm import SVC from sklearn.metrics import metrics from sklearn.metrics import classification_report , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ( '정확도 점수 :') print (metrics.accuracy_score (y_test, y_pred))

인쇄 (confusion_matrix (y_test, y_pred))

2. LITHIONPOWER

도메인: 자동차

초점: 드라이버 인센티브

비즈니스 과제 : Lithionpower는 전기 자동차 (e-vehicle) 배터리의 최대 공급 업체입니다. 운전자는 일반적으로 하루 동안 배터리를 대여 한 다음 회사에서 충전 한 배터리로 교체합니다. Lithionpower는 운전자의 운전 기록을 기반으로하는 가변 가격 모델을 가지고 있습니다. 배터리 수명은 과속, 일일 주행 거리 등과 같은 요인에 따라 달라 지므로 ML 전문가는 운전 데이터를 기반으로 드라이버를 그룹화 할 수있는 클러스터 모델을 만들어야합니다.

주요 이슈 : 드라이버는 클러스터를 기반으로 인센티브를 받게되므로 그룹화가 정확해야합니다.

비즈니스 이점 : 이력이 좋지 않은 운전자에게 더 많은 비용이 청구됨에 따라 최대 15-20 %의 이익 증가.

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns sns.set () # 플롯 스타일 지정 용 % 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 # 2 개의 클러스터 가져 오기 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_)) 고유, counts = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (unique, counts)))

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)

# 이제 클러스터를 확인해 보겠습니다. 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_) 고유, counts = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (unique, counts)))

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

도메인: 물류 센터

초점: 최적 경로

비즈니스 과제 : BluEx는 인도의 선도적 인 물류 회사입니다. 고객에게 패킷을 효율적으로 전달하는 것으로 유명합니다. 그러나 BluEx는 밴 운전자가 배달을 위해 차선책을 선택하는 문제에 직면 해 있습니다. 이것은 지연과 더 높은 연료 비용을 유발합니다. ML 전문가는 프로그램을 통해 효율적인 경로를 찾을 수 있도록 강화 학습을 사용하여 ML 모델을 만들어야합니다.

주요 이슈 : 데이터에는 많은 속성이 있으며 분류는 까다로울 수 있습니다.

비즈니스 이점 : 최적의 경로를 선택하면 최대 15 %의 연료비를 절약 할 수 있습니다.

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)] 목표 = 7 매핑 = {0 : 'Start', 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 #Initlaizing R Matrix R = np.matrix (np.ones (shape = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 for point in points_list : print (point) if point [1] == goal : R [점] = 150 else : R [점] = 0 if point [0] == 목표 : R [점 [::-1]] = 150 else : # 점 R [점 [::-1]]의 반전 = 0

R [goal, goal] = 150R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # 학습 매개 변수 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_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] if max_index.shape [0] & ampgt 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) & ampampgt 0) : return (np.sum (Q / np.max (Q) * 100)) else : return (0) update (initial_state, action, gamma)

scores = [] for i in range (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, action, gamma) scores.append (score) print ( 'Score :', str (score)) print ( '훈련 된 Q 행렬 :') print (Q / np.max (Q) * 100) # current_state = 0 단계 테스트 = [current_state] while current_state! = 7 : next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] if next_step_index.shape [0] & ampampgt 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 ( '가장 효율적인 경로 :') print (단계) plt.plot (scores) plt.show ()

2019 년 오픈 소스 머신 러닝 프로젝트

디텍 트론 : Detectron은 최첨단 물체 감지 알고리즘을 구현하는 Facebook AI Research의 소프트웨어 시스템입니다. Python으로 작성되었으며 Caffe2 딥 러닝 프레임 워크로 구동됩니다.

Detectron의 목표는 물체 감지 연구를위한 고품질, 고성능 코드베이스를 제공하는 것입니다. 새로운 연구의 신속한 구현 및 평가를 지원하기 위해 유연하게 설계되었습니다. 여기에는 50 개 이상의 사전 학습 된 모델이 포함되어 있습니다.

고밀도 : 조밀 한 인간 포즈 추정은 RGB 이미지의 모든 인간 픽셀을 인체의 3D 표면에 매핑하는 것을 목표로합니다. DensePose-RCNN은 Detectron 프레임 워크에서 구현됩니다.

TensorFlow.js : ML 모델을 개발 및 훈련하고 브라우저에 배포하기위한 라이브러리입니다. 올해 초 출시 된 이후로 매우 인기있는 출시가되었으며 유연성으로 계속해서 놀라움을 금치 못했습니다. 이것으로 당신은 할 수 있습니다

  • 브라우저에서 ML 개발 : 유연하고 직관적 인 API를 사용하여 저수준 JavaScript 선형 대수 라이브러리 또는 고수준 레이어 API를 사용하여 처음부터 모델을 빌드합니다.
  • 기존 모델 실행 : TensorFlow.js 모델 변환기를 사용하여 브라우저에서 바로 기존 TensorFlow 모델을 실행합니다.
  • 기존 모델 재교육 : 브라우저에 연결된 센서 데이터 또는 기타 클라이언트 측 데이터를 사용하여 기존 ML 모델을 재교육합니다.

웨이브 글로우 : 기계 학습은 또한 오디오 처리에서 중요한 발전을 이루고 있으며 단순히 음악이나 분류를 생성하는 것이 아닙니다. WaveGlow는 NVIDIA의 음성 합성을위한 흐름 기반 생성 네트워크입니다. 연구원들은 또한 자신의 모델을 처음부터 훈련시키려는 경우 따를 수있는 단계를 나열했습니다.

단계별 학습 정보

이미지 아웃 페인팅 : 한 장면의 절반 이미지가 있고 전체 풍경을 원한다고 상상해보세요. 이것이 바로 이미지 아웃 페인팅이 할 수있는 일입니다. 이 프로젝트는 Stanford의 Image Outpainting 페이퍼의 Keras 구현입니다. 모델은 3500 논쟁의 총합과 함께 해변 데이터를 폐기 10,500 이미지 25 년 .

이것은 단계별 설명이 담긴 놀라운 논문입니다. 모든 머신 러닝 애호가에게 꼭 필요한 예제입니다. 개인적으로 이것은 제가 가장 좋아하는 머신 러닝 프로젝트입니다.

깊은 회화 적 조화 : 글쎄, 이미지에 대해 이야기하면 이것은 걸작입니다. 이 알고리즘이하는 일은 이미지를 입력으로 취한 다음 이미지에 외부 요소를 추가하면 해당 요소가 마치 일부인 것처럼 주변에 혼합됩니다.

차이점을 알 수 있습니까? 권리 없다? 음, 이것은 우리가 기계 학습 측면에서 얼마나 멀리 왔는지 보여줍니다.

DeepMimic : 이제 여기 이미지를 자세히 살펴보면 스핀 킥, 백 플립 및 수레 바퀴를하는 막대기 그림을 볼 수 있습니다. 제 친구가 실제로 강화 학습이라는 것입니다. DeepMimic은 물리 기반 캐릭터 기술에 대한 예제 안내 심층 강화 학습입니다.

마젠타 : Magenta는 예술과 음악을 만드는 과정에서 기계 학습의 역할을 탐구하는 연구 프로젝트입니다. 주로 여기에는 노래, 이미지, 그림 및 기타 자료를 생성하기위한 새로운 딥 러닝 및 강화 학습 알고리즘 개발이 포함됩니다.

또한 아티스트와 뮤지션이 확장 할 수있는 스마트 도구 및 인터페이스를 구축하는 탐구이기도합니다 ( 교체하지 마십시오! ) 이러한 모델을 사용하는 프로세스. 날개를 펼치고 Instagram 또는 Soundcloud를위한 고유 한 콘텐츠를 만들어 영향력을 행사하세요.

자 여러분, 이것으로 우리는이 놀라운 기계 학습 프로젝트 기사의 끝입니다. 이 예제를 시도하고 아래 댓글 섹션에서 알려주십시오. 업계에서 머신 러닝의 실제 구현을 알게 되었기를 바랍니다. 에두 레카 지도 학습, 비지도 학습 및 자연어 처리와 같은 기술에 능숙하게 만듭니다. 여기에는 딥 러닝, 그래픽 모델 및 강화 학습과 같은 인공 지능 및 기계 학습의 최신 발전 및 기술적 접근에 대한 교육이 포함됩니다.