Най-новите проекти за машинно обучение, които да изпробвате през 2019 г.



Тази статия ще ви предостави изчерпателни познания за проектите за машинно обучение в индустрията и постиженията в тази област.

очевидно е поле, което е видяло луд напредък през последните няколко години. Тази тенденция и напредък създадоха много възможности за работа в индустрията. Нуждата за Инженери по машинно обучение са с голямо търсене и този скок се дължи на развиващите се технологии и генерирането на огромни количества данни, известни още като Big Data. И така, в тази статия ще обсъждам най-удивителните проекти за машинно обучение, с които определено трябва да се познава и да работи, в следния ред:

Какво е машинно обучение?

Машинното обучение е концепция, която позволява на машината да се учи от примери и опит, и то също, без да е изрично програмирана. Така че вместо да пишете кода, това, което правите, е да подавате данни към общия алгоритъм и алгоритъмът / машината изгражда логиката въз основа на дадените данни.





Кой е инженер по ML

Стъпки за машинно обучение

Всеки алгоритъм за машинно обучение следва общ модел или стъпки.



Събиране на данни: Този етап включва събирането на всички съответни данни от различни източници

Разбъркване на данни: Това е процесът на почистване и преобразуване на „Сурови данни“ във формат, който позволява удобна консумация

Анализирайте данни: Данните се анализират, за да се изберат и филтрират данните, необходими за подготовката на модела



Алгоритъм на влака: Алгоритъмът се обучава на базата данни за обучение, чрез която алгоритъмът разбира модела и правилата, които управляват данните

Тестов модел: Наборът от данни за тестване определя точността на нашия модел.

Внедряване: Ако скоростта и точността на модела са приемливи, тогава този модел трябва да бъде внедрен в реалната система. След внедряване на модела въз основа на неговата производителност, моделът се актуализира и подобрява, ако има спад в производителността, моделът се преквалифицира.

Видове машинно обучение

Машинното обучение се подразделя на три типа:

Контролирано обучение: Той е този, при който имате входни променливи (x) и изходна променлива (Y) и използвате алгоритъм, за да научите функцията за картографиране от входа към изхода.

Учене без надзор: Понякога дадените данни са неструктурирани и немаркирани. Така става трудно да се класифицират тези данни в различни категории. Ученето без надзор помага за решаването на този проблем. Това обучение се използва за групиране на входните данни в класове въз основа на техните статистически свойства.

Подсилващо обучение: Всичко е свързано с предприемане на подходящи действия с цел максимизиране на наградата в конкретна ситуация.
що се отнася до засилване на обучението, няма очакван резултат. Подсилващият агент решава какви действия да предприеме, за да изпълни дадена задача. При липса на набор от данни за обучение той е длъжен да се поучи от своя опит.

Сега нека да разгледаме няколко проекта за машинно обучение в реалния живот, които могат да помогнат на компаниите да генерират печалба.

Случаи на използване в индустрията

1. ДВИЖЕНИЕ СТУДИЯ

Домейн: Половината

Фокус: Оптимизиране на процеса на подбор

какви са функциите в sql

Бизнес предизвикателство: Motion Studio е най-голямата радиопродукция в Европа. Имайки приходи над милиард долара, компанията реши да стартира ново риалити шоу: RJ Star. Отговорът на шоуто е безпрецедентен и компанията е залята от гласови клипове. Вие като експерт по ML трябва да класифицирате гласа като мъж / жена, така че първото ниво на филтрация да е по-бързо.

Ключови въпроси: Гласовата извадка е с акценти.

Бизнес полза: От RJ Star е риалити шоу, времето за избор на кандидати е много кратко. Целият успех на шоуто и следователно печалбите зависят от бързото и плавно изпълнение

импортиране на панди като pd импортиране на numpy като np внос matplotlib.pyplot като plt внос seaborn като sns% matplotlib вградени предупреждения за внос warnings.filterwarnings ('игнориране') df = pd.read_csv ('voice-класификация.csv') df.head ()

# Проверете не. от записи df.info () df.describe () df.isnull (). sum ()

print ('Shape of Data:', df.shape) print ('Общ брой етикети: {}'. format (df.shape [0])) print ('Number of male: {}'. format (df [ df.label == 'мъжки']. форма [0])) print ('Брой женски: {}'. формат (df [df.label == 'женски']. форма [0]))

X = df.iloc [:,: -1] print (df.shape) print (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 = StandardScaler () scaler.fit (X) X = scaler.transform (X) от sklearn.model_selection импорт train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) от sklearn.svm import SVC от sklearn import metrics from sklearn.metrics , 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))

печат (объркване_матрица (y_test, y_pred))

2. LITHIONPOWER

Домейн: Автомобилна

Фокус: Стимулирайте драйверите

Бизнес предизвикателство: Lithionpower е най-големият доставчик на батерии за електрически превозни средства (е-превозно средство). Шофьорите наемат батерията обикновено за един ден и след това я заменят с заредена батерия от компанията. Lithionpower има модел с променливи цени, базиран на историята на шофиране на водача. Тъй като животът на батерията зависи от фактори като превишаване на скоростта, изминато разстояние на ден и т.н. Вие като експерт по ML трябва да създадете модел на клъстер, където водачите могат да бъдат групирани заедно въз основа на данните за шофиране.

Основни въпроси: Драйверите ще бъдат стимулирани въз основа на клъстера, така че групирането трябва да бъде точно.

Бизнес ползи: Увеличение на печалбите, до 15-20%, тъй като шофьорите с лоша история ще бъдат таксувани повече.

импортиране на панди като pd импортиране на numpy като np импортиране matplotlib.pyplot като plt внос seaborn като sns sns.set () # за стил на парцела% matplotlib вградени предупреждения за внос warnings.filterwarnings ('игнориране') import matplotlib.pyplot като plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.describe ()

от sklearn.cluster импортиране на 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, аспект = 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', оста = 1)) print (kmeans_4.cluster_centers_) уникален, брой = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (уникален, броя))))

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, аспект = 1, fit_reg = False)

3. BluEx

Домейн: Логистиката

Фокус: Оптимален път

Бизнес предизвикателство: BluEx е водеща логистична компания в Индия. Известен е с ефективната доставка на пакети до клиентите. BluEx обаче е изправен пред предизвикателство, когато шофьорите му на фургони поемат по неоптимален път за доставка. Това води до закъснения и по-високи разходи за гориво. Вие като експерт по ML трябва да създадете модел на ML, използвайки Reinforcement Learning, така че чрез програмата да се намери ефективен път.

Основни въпроси: Данните имат много атрибути и класификацията може да бъде трудна.

Бизнес ползи: Докато се движите по оптимален път, можете да спестите до 15% от разходите за гориво.

импортиране на numpy като np импортиране на pylab като plt импортиране на мрежаx като nx # Инициализиране на точки points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] цел = 7 картографиране = {0: 'Старт', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-Дестинация '} G = nx.Graph () G.add_edges_from (списък с точки) 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 # Инициализиране на R матрица R = np.matrix (np.ones (shape = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 за точка в points_list: print (point) if point [1] == goal: R [точка] = 150 друго: R [точка] = 0, ако точка [0] == цел: R [точка [:: - 1]] = 150 друго: # обратна точка на точка R [точка [:: - 1]] = 0

R [гол, цел] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # Учебният параметър гама = 0,8 начално_състояние = 1 def available_action (състояние): current_state_row = R [състояние,] av_act = np.where (current_state_row & ampampampgt = 0 ) [1] връщане av_act available_act = налични_акции (начално_ състояние) def sample_next_action (налични_акции_диапазон): 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 [действие,] == np.max (Q [действие,])) [1] ако 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] + гама * max_value) if (np.max (Q) & ampampampgt 0): return (np.sum (Q / np.max (Q) * 100)) else: return (0) update (Initial_state, action, gamma)

резултати = [] за i в обхват (700): current_state = np.random.randint (0, int (Q.shape [0])) available_act = available_action (current_state) action = sample_next_action (available_act) score = update (current_state, действие, гама) scores.append (score) print ('Score:', str (score)) print ('Обучена Q матрица:') print (Q / np.max (Q) * 100) # Тестване current_state = 0 стъпки = [current_state] докато current_state! = 7: next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] ако 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 ('Най-ефективен път:') print (стъпки) plt.plot (резултати) plt.show ()

Проекти за машинно обучение с отворен код през 2019 г.

Детектрон : Detectron е софтуерната система на Facebook AI Research, която прилага най-съвременните алгоритми за откриване на обекти. Той е написан на Python и се задвижва от рамката за дълбоко обучение Caffe2.

Целта на Detectron е да осигури висококачествена, високоефективна кодова база за изследване на откриване на обекти. Той е проектиран да бъде гъвкав, за да подпомогне бързото прилагане и оценка на нови изследвания. Съдържа повече от 50 предварително обучени модела.

Denspose : Оценката на плътната човешка поза има за цел да картографира всички човешки пиксели от RGB изображение към 3D повърхността на човешкото тяло. DensePose-RCNN е внедрен в рамката на Detectron.

подниз в sql сървър с пример

TensorFlow.js : Това е библиотека за разработване и обучение на модели на ML и внедряване в браузъра. Стана много популярно издание, тъй като излезе по-рано тази година и продължава да изумява с гъвкавостта си. С това можете

  • Разработете ML в браузъра: Използвайте гъвкави и интуитивни приложни програмни интерфейси (API), за да изграждате модели от нулата, като използвате библиотеката с линейна алгебра на JavaScript на ниско ниво или API на слоевете на високо ниво.
  • Стартирайте съществуващи модели : Използвайте преобразуватели на модели TensorFlow.js, за да стартирате съществуващи модели TensorFlow направо в браузъра.
  • Повторно обучение на съществуващи модели: Преквалифицирайте вече съществуващи модели ML, като използвате данни от сензори, свързани към браузъра, или други данни от страна на клиента.

Waveglow: Машинното обучение също прави основен напредък в обработката на звука и не е само генериране на музика или класификация. WaveGlow е базирана на потока генеративна мрежа за синтез на реч от NVIDIA. Изследователите също са изброили стъпките, които можете да следвате, ако искате да обучите собствения си модел от нулата.

Image Outpainting : Представете си, че имате половин образ на сцена и сте искали пълната природа, ето това може да направи това за вас. Този проект е реализация на Keras на хартията на Stanford’s Image Outpainting. Моделът беше обучен с 3500 бракувани плажни данни с обща аргументация до 10 500 изображения за 25 епохи .

Това е невероятна хартия с подробно обяснение стъпка по стъпка. Трябва да опитате пример за всички ентусиасти по машинно обучение. Лично това е любимият ми проект за машинно обучение.

Дълбока живописна хармонизация : Е, говорейки за изображения, това е шедьовър. Това, което прави този алгоритъм, е да вземе изображение като вход и след това, ако добавите външен елемент към изображението, той смесва този елемент в околната среда, сякаш е част от него.

Можете ли да кажете разликата? Няма право? Е, това ни показва докъде сме стигнали по отношение на машинното обучение.

DeepMimic: Сега, разгледайте внимателно изображенията тук, виждате фигура на пръчка, която прави въртене, заден ход и колело. Че моят приятел е подкрепящо обучение в действие. DeepMimic е примерно ориентирано обучение за дълбоко усилване на физически базирани умения за характер.

Пурпурен : Magenta е изследователски проект, изследващ ролята на машинното обучение в процеса на създаване на изкуство и музика. На първо място това включва разработването на нови алгоритми за задълбочено учене и подсилване за генериране на песни, изображения, рисунки и други материали.

Това също е проучване в изграждането на интелигентни инструменти и интерфейси, които позволяват на художниците и музикантите да се разширяват ( не замени! ) техните процеси, използващи тези модели. Раздвижете крилата си, създайте уникалното си съдържание за Instagram или Soundcloud и станете влиятелен човек.

И така, момчета, с това стигнахме до края на тази невероятна статия за проекти за машинно обучение. Изпробвайте тези примери и ни уведомете в раздела за коментари по-долу. Надявам се, че сте се запознали с практическото внедряване на машинното обучение в индустрията. Edureka’s ви прави владеещи техники като контролирано обучение, ненаблюдавано обучение и обработка на естествен език. Включва обучение за най-новите постижения и технически подходи в областта на изкуствения интелект и машинното обучение като дълбоко обучение, графични модели и обучение за усилване