22 KiB
Технике машинског учења
Процес креирања, коришћења и одржавања модела машинског учења и података које они користе веома се разликује од многих других развојних токова рада. У овом лекцији, разјаснићемо процес и представити главне технике које треба да знате. Ви ћете:
- Разумети процесе који подупиру машинско учење на високом нивоу.
- Истражити основне концепте као што су „модели“, „предвиђања“ и „тренинг подаци“.
Квиз пре предавања
🎥 Кликните на слику изнад за кратак видео који обрађује ову лекцију.
Увод
На високом нивоу, вештина креирања процеса машинског учења (ML) састоји се од неколико корака:
- Одлучите о питању. Већина процеса машинског учења почиње постављањем питања које не може бити одговорено једноставним условним програмом или системом заснованим на правилима. Ова питања често се односе на предвиђања заснована на збирци података.
- Сакупите и припремите податке. Да бисте могли да одговорите на своје питање, потребни су вам подаци. Квалитет и, понекад, количина ваших података одредиће колико добро можете одговорити на почетно питање. Визуализација података је важан аспект ове фазе. Ова фаза такође укључује поделу података на групу за тренинг и тестирање ради изградње модела.
- Изаберите метод тренинга. У зависности од вашег питања и природе ваших података, потребно је да изаберете како желите да обучите модел да најбоље одражава ваше податке и прави тачна предвиђања. Ово је део вашег процеса машинског учења који захтева специфичну експертизу и, често, значајну количину експериментисања.
- Тренирајте модел. Користећи ваше тренинг податке, користићете различите алгоритме да обучите модел да препозна обрасце у подацима. Модел може користити унутрашње тежине које се могу прилагодити да би се одређени делови података привилеговали у односу на друге ради изградње бољег модела.
- Оцените модел. Користите податке које модел никада раније није видео (ваше тест податке) из ваше сакупљене збирке да бисте видели како модел функционише.
- Подешавање параметара. На основу перформанси вашег модела, можете поново урадити процес користећи различите параметре или променљиве које контролишу понашање алгоритама коришћених за тренинг модела.
- Предвиђање. Користите нове уносе да бисте тестирали тачност вашег модела.
Које питање поставити
Рачунари су посебно вешти у откривању скривених образаца у подацима. Ова корисност је веома корисна за истраживаче који имају питања о одређеној области која се не могу лако одговорити креирањем система заснованог на условима. На пример, у актуарском задатку, научник података може бити у стању да конструише ручно израђена правила о смртности пушача у односу на непушаче.
Међутим, када се у једначину укључи много других променљивих, модел машинског учења може се показати ефикаснијим за предвиђање будућих стопа смртности на основу историје здравља из прошлости. Веселији пример може бити прављење временских предвиђања за месец април на одређеној локацији на основу података који укључују географску ширину, дужину, климатске промене, близину океана, обрасце млазног струјања и још много тога.
✅ Ова презентација о временским моделима нуди историјску перспективу коришћења машинског учења у анализи времена.
Задаци пре изградње
Пре него што почнете да градите свој модел, постоји неколико задатака које треба да завршите. Да бисте тестирали своје питање и формирали хипотезу засновану на предвиђањима модела, потребно је да идентификујете и конфигуришете неколико елемената.
Подаци
Да бисте могли да одговорите на своје питање са било каквом сигурношћу, потребна вам је добра количина података одговарајућег типа. У овом тренутку треба да урадите две ствари:
- Сакупите податке. Имајући на уму претходну лекцију о правичности у анализи података, сакупите своје податке пажљиво. Будите свесни извора ових података, било каквих урођених пристрасности које могу имати и документујте њихово порекло.
- Припремите податке. Постоји неколико корака у процесу припреме података. Можда ћете морати да сакупите податке и нормализујете их ако долазе из различитих извора. Можете побољшати квалитет и количину података кроз различите методе као што је конвертовање стрингова у бројеве (као што радимо у Кластерисању). Можда ћете такође генерисати нове податке, засноване на оригиналним (као што радимо у Класификацији). Можете очистити и уредити податке (као што ћемо урадити пре лекције о Веб апликацији). На крају, можда ћете морати да их рандомизујете и измешате, у зависности од ваших техника тренинга.
✅ Након сакупљања и обраде ваших података, одвојите тренутак да видите да ли њихов облик омогућава да се адресира ваше намеравано питање. Може се десити да подаци неће добро функционисати у вашем задатом задатку, као што откривамо у нашим лекцијама о Кластерисању!
Карактеристике и циљ
Карактеристика је мерљиво својство ваших података. У многим скуповима података она је изражена као наслов колоне, као што су „датум“, „величина“ или „боја“. Ваша променљива карактеристика, обично представљена као X
у коду, представља улазну променљиву која ће се користити за тренинг модела.
Циљ је оно што покушавате да предвидите. Циљ, обично представљен као y
у коду, представља одговор на питање које покушавате да поставите вашим подацима: у децембру, која боја тиквица ће бити најјефтинија? У Сан Франциску, који квартови ће имати најбољу цену некретнина? Понекад се циљ назива и атрибутом етикете.
Избор променљиве карактеристике
🎓 Избор карактеристика и екстракција карактеристика Како знате коју променљиву да изаберете приликом изградње модела? Вероватно ћете проћи кроз процес избора карактеристика или екстракције карактеристика да бисте изабрали праве променљиве за најперформантнији модел. Међутим, они нису исто: „Екстракција карактеристика креира нове карактеристике из функција оригиналних карактеристика, док избор карактеристика враћа подскуп карактеристика.“ (извор)
Визуализујте своје податке
Важан аспект алатки научника података је моћ визуализације података користећи неколико одличних библиотека као што су Seaborn или MatPlotLib. Представљање ваших података визуелно може вам омогућити да откријете скривене корелације које можете искористити. Ваше визуализације могу вам такође помоћи да откријете пристрасност или неуравнотежене податке (као што откривамо у Класификацији).
Поделите свој скуп података
Пре тренинга, потребно је да поделите свој скуп података на два или више делова неједнаке величине који и даље добро представљају податке.
- Тренинг. Овај део скупа података се уклапа у ваш модел да би га обучио. Овај сет чини већину оригиналног скупа података.
- Тестирање. Тест скуп података је независна група података, често сакупљена из оригиналних података, коју користите да потврдите перформансе изграђеног модела.
- Валидација. Валидациони сет је мања независна група примера коју користите да подесите хиперпараметре модела или архитектуру како бисте побољшали модел. У зависности од величине ваших података и питања које постављате, можда нећете морати да изградите овај трећи сет (као што напомињемо у Предвиђању временских серија).
Изградња модела
Користећи ваше тренинг податке, ваш циљ је да изградите модел, или статистичку репрезентацију ваших података, користећи различите алгоритме да га тренирате. Тренинг модела излаже га подацима и омогућава му да прави претпоставке о уоченим обрасцима које открива, верификује и прихвата или одбацује.
Одлучите о методу тренинга
У зависности од вашег питања и природе ваших података, изабраћете метод за тренинг. Пролазећи кроз документацију Scikit-learn - коју користимо у овом курсу - можете истражити многе начине за тренинг модела. У зависности од вашег искуства, можда ћете морати да испробате неколико различитих метода да бисте изградили најбољи модел. Вероватно ћете проћи кроз процес у којем научници података процењују перформансе модела тако што му дају податке које није видео, проверавајући тачност, пристрасност и друге проблеме који умањују квалитет, и бирајући најприкладнији метод тренинга за задатак.
Тренирајте модел
Наоружани вашим тренинг подацима, спремни сте да их „уклопите“ да бисте креирали модел. Приметићете да у многим библиотекама машинског учења налазите код „model.fit“ - у то време шаљете своју променљиву карактеристику као низ вредности (обично „X“) и циљну променљиву (обично „y“).
Оцените модел
Када је процес тренинга завршен (може бити потребно много итерација, или „епоха“, да се обучи велики модел), моћи ћете да процените квалитет модела користећи тест податке да бисте измерили његове перформансе. Ови подаци су подскуп оригиналних података које модел раније није анализирао. Можете одштампати табелу метрика о квалитету вашег модела.
🎓 Уклапање модела
У контексту машинског учења, уклапање модела односи се на тачност основне функције модела док покушава да анализира податке са којима није упознат.
🎓 Недовољно уклапање и претерано уклапање су уобичајени проблеми који умањују квалитет модела, јер модел или није довољно добро уклопљен или је превише добро уклопљен. Ово узрокује да модел прави предвиђања која су или превише блиско или превише лабаво повезана са његовим тренинг подацима. Претерано уклопљен модел предвиђа тренинг податке превише добро јер је превише добро научио детаље и шум података. Недовољно уклопљен модел није тачан јер не може ни тачно анализирати своје тренинг податке ни податке које још није „видео“.
Инфографика од Jen Looper
Подешавање параметара
Када је ваш почетни тренинг завршен, посматрајте квалитет модела и размислите о његовом побољшању подешавањем његових „хиперпараметара“. Прочитајте више о процесу у документацији.
Предвиђање
Ово је тренутак када можете користити потпуно нове податке да тестирате тачност вашег модела. У „примењеном“ окружењу машинског учења, где градите веб ресурсе за коришћење модела у продукцији, овај процес може укључивати сакупљање корисничког уноса (на пример, притисак на дугме) да бисте поставили променљиву и послали је моделу за инференцију или евалуацију.
У овим лекцијама, открићете како да користите ове кораке за припрему, изградњу, тестирање, евалуацију и предвиђање - све гестове научника података и више, док напредујете на свом путу да постанете „фул стејк“ инжењер машинског учења.
🚀Изазов
Нацртајте дијаграм тока који одражава кораке практичара машинског учења. Где себе видите тренутно у процесу? Где предвиђате да ћете наћи потешкоће? Шта вам се чини лако?
Квиз после предавања
Преглед и самостално учење
Претражите интернет за интервјуе са научницима података који говоре о свом свакодневном раду. Ево једног.
Задатак
Интервјуишите научника података
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако настојимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква погрешна тумачења или неспоразуме који могу произаћи из коришћења овог превода.