Машинно обучение 101: контролирано, без надзор, подсилване и отвъд

Машинното обучение е съществена част от това да бъдеш a Data Scientist . Най-просто казано, машинното обучение използваалгоритми за откриване на модели и правене на прогнози.Това е един от най-популярните методи, използвани за обработка на големи количества необработени данни и ще нараства популярността си, тъй като все повече компании се опитват да вземат решения, базирани на данни.



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



Контролирано машинно обучение

Най-простите задачи попадат под чадъра на контролирано обучение .



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

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



Регресия и класификация

Задачите за контролирано машинно обучение могат да бъдат най-общо класифицирани в две подгрупи: регресия и класификация . Регресията е проблемът за оценка или прогнозиране на непрекъсната величина. Каква ще бъде стойността на S&P 500 един месец от днес? Колко високо ще бъде детето като възрастен? Колко от нашите клиенти ще заминат за конкурент тази година? Това са примери за въпроси, които биха попаднали под чадъра на регресията. За да разрешим тези проблеми в контролирана рамка за машинно обучение, ще съберем минали примери за двойки вход/изход с правилен отговор, които се занимават със същия проблем. За входните данни бихме идентифицирали Характеристика които вярваме, че биха предсказали резултатите, които искаме да предвидим.

За първия проблем може да се опитаме да съберем като характеристики историческите цени на акциите под S&P 500 на дадени дати, заедно със стойността на S&P 500 един месец по-късно. Това ще формира нашия набор за обучение, от който машината ще се опита да определи някаква функционална връзка между характеристиките и евентуалните стойности на S&P 500.

Класификация се занимава с разпределяне на наблюдения в отделни категории, а не с оценка на непрекъснати количества. В най-простия случай има две възможни категории; този случай е известен като двоична класификация . Много важни въпроси могат да бъдат формулирани по отношение на двоичната класификация. Дали даден клиент ще ни напусне заради конкурент? Има ли даден пациент рак? Дадено изображение съдържа ли хот-дог? Алгоритмите за извършване на двоична класификация са особено важни, тъй като много от алгоритмите за извършване на по-общ вид класификация, където има произволни етикети, са просто куп бинарни класификатори, работещи заедно. Например, просто решение на проблема с разпознаването на ръкописен текст е просто да се обучат куп двоични класификатори: детектор 0, детектор 1, детектор 2 и така нататък, които извеждат тяхната сигурност, че изображението е от техния съответна цифра. Класификаторът просто извежда цифрата, чийто класификатор има най-висока сигурност.



От друга страна, има съвсем различен клас задачи, наречени учене без надзор . Задачите за контролирано обучение намират модели, при които имаме набор от данни от правилни отговори, от които да се учим. Задачите за учене без надзор намират модели там, където ние не го правим. Това може да се дължи на факта, че правилните отговори са ненаблюдаеми или невъзможни за получаване, или може би за даден проблем дори няма правилен отговор сам по себе си.

Клъстериране и генеративно моделиране

Голям подклас от задачи без надзор е проблемът на групиране . Групирането се отнася до групиране на наблюдения по такъв начин, че членовете на обща група да са подобни един на друг и различни от членовете на други групи. Често срещано приложение тук е в маркетинга, където искаме да идентифицираме сегменти от клиенти или потенциални клиенти със сходни предпочитания или навици за купуване. Основно предизвикателство в клъстерирането е, че често е трудно или невъзможно да се знае колко клъстера трябва да съществуват или как трябва да изглеждат клъстерите.

машинно обучение

Много интересен клас от задачи без надзор е генеративно моделиране . Генеративните модели са модели, които имитират процеса, който генерира данните за обучение. Един добър генеративен модел би бил в състояние да генерира нови данни, които в известен смисъл наподобяват данните за обучение. Този тип обучение е без надзор, тъй като процес който генерира данните, не е пряко наблюдаван – само самите данни са наблюдаеми.



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

Учене с подсилване, хибриди и др

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

Ученето с подсилване е полезно в случаите, когато пространството за решение е огромно или безкрайно, и обикновено се прилага в случаите, когато машината може да се разглежда като агент, взаимодействащ със своята среда. Една от първите големи истории за успех на този тип модели беше от малък екип, койтообучи модел за обучение с подсилване да играе видеоигри на Atari, използвайки само изхода на пикселите от играта като вход. Моделът в крайна сметка успя да надмине човешките играчи в три от игрите и компанията, която създаде моделае придобит от Google за над $500 милионаскоро след това.

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

Често хибридните подходи водят до добри резултати. Например важна задача в някои области е задачата на откриване на аномалии . Алгоритъм за откриване на аномалии следи някакъв сигнал и показва кога нещо странно случва се. Добър пример е откриването на измами. Искаме алгоритъм, който следи поток от транзакции с кредитни карти и маркира странни такива. Но какво означава странно? Този проблем е подходящ за един вид хибриден контролиран/ненадзорен подход. Със сигурност има някои известни модели, които бихме искали алгоритъмът да може да открие, и можем да обучим модел на контролирано обучение, като му покажем примери за известните модели на измама. Но ние също така искаме да можем да открием неизвестни досега примери за потенциална измама или по друг начин необичайна дейност, която може да бъде постигната чрез методи на неконтролирано учене.

Основите на машинното обучение могат да имат голямо влияние

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

Добрата новина е, че можете да направите много с основите, които са широко достъпни. Разнообразие от контролирани и неконтролирани модели на обучение са внедрени в R и Python, които са свободно достъпни и лесни за настройка на вашия собствен компютър и дори прости модели като линейна или логистична регресия могат да се използват за изпълнение на интересни и важни задачи за машинно обучение.

Разгледайте нашите Курс за сертификат за машинно обучение за да научите основите и да започнете. ако искаш повече, кандидатствайте сега за BrainStation’s Дипломна програма за наука за данни.