Как да започнете с машинното обучение?

Опитите да се проектират машини, по-умни от хората, не са нови.

Една от най-ранните атаки, които компютърната наука направи срещу човешкия „интелект“, беше чрез играта на шах. Шахът е (или трябва да кажем, беше?) приеман от мнозина като най-добрият тест за човешкия интелект и креативност, а през 1960-те и 70-те години имаше различни школи на мисълта в компютърните науки.

Някои смятаха, че е само въпрос на време компютрите да изпреварят хората в играта на шах, докато други вярваха, че това никога няма да се случи.

Каспаров срещу Deep Blue

Най-сензационното събитие, включващо човек срещу машина в битката на мисълта, беше шахматният мач през 1996 г. между тогавашния световен шампион Гари Каспаров (и може би най-добрият шахматист в историята) и Тъмносинсуперкомпютър, проектиран от IBM точно за това събитие.

Кредит за изображение: Wikipedia

Накратко, Каспаров спечели мача от 1996 г. убедително (4-2), но загуби реванша от 1997 г. (4,5-3,5) сред много полемика и директните обвинения на Каспаров в измама срещу IBM.

Независимо от това, една ера в шаха и компютърните науки приключи. Компютрите са смятани за по-умни от всеки възможен жив човек. IBM, щастлива от отмъщението, разглоби Deep Blue и продължи напред.

Днес е невъзможно за който и да е гросмайстор да победи който и да е обикновен шахматен двигател, работещ на стандартен хардуер.

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

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

Казано по-просто, машинното обучение е практика за прилагане на процеси на обучение чрез пример към компютри. Това контрастира с традиционния подход на разчитане на човешки програмист да измисли всички възможни сценарии и правила за твърд код за тях в система.

Честно казано, това е машинното обучение: подаването на тонове и тонове и тонове данни към компютър, така че той да може да се учи от примери (проба → грешка → сравнение → подобрение), вместо да разчита на изходния код.

  Как да използвате вашия Google Home Hub като цифрова фото рамка

Приложения на машинното обучение

И така, ако машинното обучение не е черна магия и нито нещо, което ще породи терминатори, за какво е полезно?

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

Както подсказва името, класификацията се отнася до правилното етикетиране на нещата, докато прогнозирането има за цел да коригира бъдещи прогнози, като се има предвид достатъчно голям набор от данни от минали стойности.

Някои интересни приложения на машинното обучение са:

Филтриране на спам

Спамът по имейл е широко разпространен, но опитът да го спрете може да бъде кошмар. Как точно се определя спамът? Наличието на конкретни ключови думи ли е? Или може би така, както е написано? Трудно е да се измисли изчерпателен набор от правила по отношение на програмата.

Ето защо използваме машинно обучение. Ние показваме на системата милиони спам съобщения и съобщения, които не са спам, и я оставяме да разбере останалото. Това беше тайната зад отличните спам филтри на Gmail, които разтърсиха личния имейл в началото на 2000-те!

Препоръки

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

Съвпадение? Въобще не!

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

Чатботове

Попадали ли сте на поддръжка на клиенти от първо ниво, която изглеждаше странно роботизирана и въпреки това можеше да води интересни разговори?

Е, тогава сте били грабнати от Machine Learning!

Ученето от разговори и определянето какво да се каже кога е предстояща и вълнуваща област на приложението на chatbot.

Премахване на плевели

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

В противен случай това би трябвало да се направи на ръка или би било изключително разточително, тъй като системата ще напръска продукта също с убийствената течност!

Гласовото взаимодействие с компютърните системи вече не е научна фантастика. Днес имаме цифрови асистенти като Alexa, Siri и Google Home, които могат да приемат команди вербално и да не объркват (е, почти!).

Някои може да възразят, че това е изобретение, което е най-добре да се избягва, тъй като прави човешката раса по-мързелива от всякога, но не можете да спорите с ефективността.

  Подобрете силата на сигнала на iPhone Carrier и WiFi с усилвател на сигнала

Медицинска диагноза

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

Моля, имайте предвид, че това не означава, че лекарите скоро няма да са необходими, но че качеството на медицинските грижи ще се повиши драстично, докато разходите ще паднат рязко (освен ако бизнес картелите не налагат друго!).

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

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

Техниките за машинно обучение са два вида.

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

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

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

Ако сте на достатъчно мощен компютър, за няколко часа може да бъде подготвен световен AI за игра!

Следните изображения илюстрират накратко тези идеи (източник: Medium):

Ресурси за първи стъпки в машинното обучение

И така, сега, когато всички сте запалени по темата за машинното обучение и как то може да ви помогне да завладеете света, откъде да започнете?

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

Така че, не се притеснявайте, независимо какво е вашето ниво в момента, вие можете, подобно на добра програма за машинно обучение, да се обучавате и да ставате по-добри. 😛

  Как да разширите пространството за съхранение във вашия дом „Animal Crossing: New Horizons“.

#1. Програмиране

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

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

The официален Ръководството за начинаещи е чудесно място да започнете, дори ако сте малко запознати с Python. Или вземете това Курс на Bootcamp да станеш герой от нулата.

#2. Помислете за статистика

След като приключите с основите на Python, втората ми препоръка е да прегледате две изключителни книги. Те са 100% безплатни и достъпни като PDF за изтегляне. Помислете за статистика и Помислете за Байс са две модерни класики, които всеки амбициозен инженер по машинно обучение трябва да усвои.

#3. Udemy

На този етап бих ви препоръчал да вземете няколко курса от Udemy. Интерактивният, самостоятелен формат ще ви помогне да навлезете в тънкостите и да изградите увереност.

Уверете се, че сте проверили прегледа на курса, рецензиите (особено отрицателните!) и цялостното усещане за курса, преди да започнете.

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

#4. Андрю Нг

Курсът, преподаван от Андрю Нг на Coursera е може би най-популярният учебен ресурс за основите на машинното обучение.

Въпреки че използва езика за програмиране R, той остава несравним в отношението си към темата и нейните ясни обяснения. Благодарение на този курс Андрю Нг е постигнал донякъде божествено положение в кръговете на ML и хората гледат на него за върховна мъдрост (не се шегувам!).

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

#5. Udacity

Станете инженер по машинно обучение, като вземете тази наностепен Udacity.

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

Заключение

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

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

Забавлявай се! 🙂