|
|
4 months ago | |
|---|---|---|
| .. | ||
| README.md | 4 months ago | |
| assignment.md | 7 months ago | |
README.md
Технике машинског учења
Процес изградње, коришћења и одржавања модела машинског учења и података које они користе је веома другачији процес у односу на многе друге развојне радне токове. У овој лекцији ћемо разјаснити процес и представити главне технике које треба да знате. Ви ћете:
- Разумети процесе који стоје иза машинског учења на високом нивоу.
- Истражити основне појмове као што су 'модели', 'предвиђања' и 'подаци за тренирање'.
Преквизни тест
🎥 Кликните на слику изнад за кратак видео који објашњава ову лекцију.
Увод
На високом нивоу, занат стварања процеса машинског учења (ML) састоји се из низа корака:
- Одлучите о питању. Већина ML процеса почиње постављањем питања на које није могуће одговорити једноставним условним програмом или мотором заснованим на правилима. Ова питања често се односе на предвиђања заснована на скупу података.
- Прикупите и припремите податке. Да бисте могли да одговорите на своје питање, потребни су вам подаци. Квалитет и понекад количина ваших података одредиће колико добро можете одговорити на почетно питање. Визуализација података је важан аспект ове фазе. Ова фаза такође укључује дељење података на групу за тренирање и тестирање како би се изградио модел.
- Изаберите методу тренирања. У зависности од вашег питања и природе ваших података, требало би да одаберете како желите да тренирате модел да би најбоље одразио ваше податке и направио тачна предвиђања. Ово је део ML процеса који захтева специфично знање и често знатну количину експериментисања.
- Тренирајте модел. Користећи податке за тренирање, употребићете различите алгоритме да обучите модел да препозна образце у подацима. Модел може користити унутрашње тежине којима је могуће управљати како би се одређени делови података фаворизовали у односу на друге за израду бољег модела.
- Оцените модел. Користите податке које модел раније није видео (ваши тест подаци) из прикупљеног скупа да проверите како модел функционише.
- Подешавање параметара. На основу перформанси вашег модела, можете поново покренути процес користећи различите параметре или променљиве које контролишу понашање алгоритама коришћених за тренирање модела.
- Предвиђање. Користите нови унос за испитивање тачности вашег модела.
Које питање поставити
Рачунари су посебно вешти у откривању сакривених образаца у подацима. Ова корисност је веома помоћна истраживачима који имају питања о одређеној области на која није лако одговорити креирањем мотора правила заснованог на условима. На пример, имајући актуарски задатак, научник података може конструисати ручно направљена правила о смртности пушача у односу на непушаче.
Међутим, када се у једначину уведу многе друге променљиве, ML модел може бити ефикаснији у предвиђању будућих стопа смртности заснованих на претходној здравственој историји. Веселији пример може бити прављење прогноза времена за април у одређеној локацији, узимајући у обзир податке који обухватају географску ширину, дужину, климатске промене, близину океана, шеме ваздушних струја и друге факторе.
✅ Ова презентација о моделима времена пружа историјски преглед коришћења ML у анализи времена.
Задаци пре изградње
Пре него што почнете да градите свој модел, потребно је да урадите неколико задатака. Да бисте тестирали своје питање и формирали хипотезу на основу предвиђања модела, потребно је да идентификујете и конфигуришете неколико елемената.
Податке
Да бисте били у стању да одговорите на питање с било каквом сигурношћу, потребна вам је добра количина података од правог типа. У овом тренутку треба да урадите две ствари:
- Прикупите податке. Имајући у виду претходну лекцију о правичности у анализи података, сакупљајте податке пажљиво. Будите свесни извора тих података, могућих пристрасности које садрже и забележите њихов извор.
- Припремите податке. Постоји неколико корака у процесу припреме података. Можда ће бити потребно да скупите податке и нормализујете их ако долазе из различитих извора. Можете побољшати квалитет и количину података различитим методама као што је конверзија низа у бројеве (као што радимо у Кластеризацији). Такође можете генерисати нове податке на основу оригиналних (као што радимо у Класификацији). Можете очистити и уредити податке (што ћемо урадити пре лекције о Веб апликацији). На крају, можда ћете морати и да их насумично поређате и мењате редослед у зависности од техника тренирања.
✅ Након прикупљања и обраде података, одвојите тренутак да проверите да ли њихов облик омогућава да одговорите на своје питање. Могуће је да подаци неће добро функционисати у вашем задатку, као што сазнајемо у лекцијама из Кластеризације!
Карактеристике и циљеви
Карактеристика је мерљиво својство ваших података. У многим скупинама података она је представљена као наслов колоне као што су 'датум', 'величина' или 'боја'. Ваша променљива карактеристика, обично означена као X у коду, представља улазну променљиву која ће се користити за тренирање модела.
Циљ је нешто што покушавате да предвидите. Циљ, обично означен као y у коду, представља одговор на питање које постављате вашим подацима: у децембру, која ће боја одбојних тикви бити најјефтинија? у Сан Франциску, која ће четврт бити са најбољом ценом некретнина? Понекад се циљ назива и ознака атрибута.
Избор променљиве карактеристике
🎓 Избор и екстракција карактеристика Како знате коју променљиву да одаберете при изградњи модела? Веројатно ћете проћи кроз процес избора или екстракције карактеристика како бисте изабрали праве променљиве за најефикаснији модел. Међутим, ово није исто: "Екстракција карактеристика ствара нове карактеристике из функција оригиналних карактеристика, док избор карактеристика враћа подскуп карактеристика." (извор)
Визуализација ваших података
Важан део алата научника података је способност визуализације података уз помоћ неколико одличних библиотека попут Seaborn или Matplotlib. Визуелно представљање ваших података може вам помоћи да откријете скривене корелације које можете искористити. Визуелизације вам такође могу помоћи да уочите пристрасност или неуравнотежене податке (као што сазнајемо у Класификацији).
Разделите свој скуп података
Пре тренирања потребно је да поделите свој скуп података на два или више делова различите величине који ипак добро представљају податке.
- Тренирање. Овај део скупа података користи се за тренирање модела. Овај скуп чини већину оригиналних података.
- Тестирање. Скуп за тестирање је независна група података, често изведена из оригиналних, коју користите да потврдите учинак изграђеног модела.
- Валидација. Скуп за валидацију је мања независна група примера коју користите за подешавање хиперпараметара или архитектуре модела како бисте га побољшали. У зависности од величине ваших података и питања коју постављате, можда нећете морати да градите овај трећи скуп (као што наводимо у Прогнозирању временских низа).
Изградња модела
Користећи своје податке за тренирање, циљ вам је да направите модел или статистички приказ својих података користећи различите алгоритме за тренирање модела. Тренирање модела излажући га подацима омогућава му да прави претпоставке о уоченим образцима које открије, верификује и прихвати или одбаци.
Одлучите о методи тренирања
У зависности од вашег питања и природе података, одабраћете методу за тренирање. Проходећи документацију Scikit-learn - коју користимо у овом курсу - можете испитати многе начине тренирања модела. У зависности од искуства, можда ћете морати испробати неколико различитих метода како бисте изградили најбољи модел. Вероватно ћете проћи процес у коме научници података процењују перформансе модела тако што му дају непознате податке, проверавају тачност, пристрасност и друге проблеме који умањују квалитет, и бирају најприкладнију методу тренирања за дати задатак.
Тренирајте модел
Опремљени својим тренинг подацима, спремни сте да их 'прилагодите' за израду модела. Примијетићете да ћете у многим библиотекама машинског учења наћи код 'model.fit' - то је тренутак када уносите вашу променљиву карактеристику као низ вредности (обично 'X') и циљну променљиву (обично 'y').
Оцените модел
Када се процес тренирања заврши (може потрајати много итерација или 'епоха' за тренирање великог модела), моћи ћете да процените квалитет модела користећи тест податке да измерите његову успешност. То су подаци из оригиналног скупа које модел раније није анализирао. Можете одштампати табелу метрика о квалитету вашег модела.
🎓 Фитовање модела
У контексту машинског учења, фитовање модела односи се на тачност основне функције модела док покушава да анализира непознате податке.
🎓 Мањак уклапања (underfitting) и прекомеран уклапање (overfitting) су уобичајени проблеми који умањују квалитет модела, јер модел није нити довољно нити преглупо прилагођен. Ово узрокује да модел прави предвиђања која су или превише блиска или пренаглашена у односу на податке за тренирање. Прекомеран модел предвиђа податке за тренирање прецизно зато што је превише научио детаље и шум података. Мањак уклапања значи да модел није тачан јер не може ни прецизно анализирати податке за тренирање ни оне које раније није 'видео'.
Инфографика од Jen Looper
Подешавање параметара
Када је почетно тренирање завршено, посматрајте квалитет модела и размотрите његово побољшање подешавањем његових 'хиперпараметара'. Више о процесу прочитајте у документацији.
Предвиђање
Ово је тренутак када можете користити потпуно нове податке да тестирате тачност свог модела. У примењеном ML окружењу, где креирате веб ресурсе за коришћење модела у продукцији, овај процес може укључивати прикупљање корисничког уноса (нпр. притисак дугмета) ради подешавања променљиве и слања модела на извршавање, односно процену.
У овим лекцијама открићете како користити ове кораке да припремите, изградите, тестирате, оцијените и предвидите — све покрете научника података и још више, како напредујете у свом путу ка постајању 'фул стацк' ML инжењер.
🚀Изазов
Нацртајте дијаграм тока који приказује кораке ML практичара. Где себе видите у овом процесу? Где сматрате да ћете имати потешкоћа? Шта вам делује једноставно?
Пост-лекцијски квиз
Преглед и самостално учење
Претражите онлајн интервјуе са научницима података који причају о свом свакодневном раду. Ево једног.
Задатак
Интервјуишите научника података
Ограничавање одговорности: Овај документ је преведен коришћењем AI услуге за превођење Co-op Translator. Иако се трудимо да превод буде тачан, молимо имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Првобитни документ на оригиналном језику треба сматрати ауторитетним извором. За важне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразумевања или погрешне интерпретације које произилазе из коришћења овог превода.

