Добици:
- Способност постављања цевовода података (прикупљање, валидација, чишћење, трансформација, раздвајање, верзионисање) и постављање провере шеме на почетак цевовода
- Способност доношења одлука о вредности која недостаје и означавању на основу значења и поделе поља како би се спречило цурење података (групно и временско)
- Способност креирања поновљиве базе података фиксирањем верзије података и насумичне основе
Права моћ сваког система машинског учења лежи у подацима, а не моделу. Искусни инжењери знају: „смеће унутра, смеће напоље“ — чак и најнапреднији модел са лошим подацима ће дати лоше резултате. У овој јединици успостављамо цевовод података (цевовод података: ланац корака који сирове податке чине спремним за обуку модела) од краја до краја и учимо на ком кораку ове линије можемо безбедно да користимо вештачку интелигенцију.
Кораци линије података
Линија података обично пролази кроз ове станице:
- Прикупљање (уношење): Повлачење података из извора (база података, АПИ, датотеке евиденције, токови догађаја).
- Валидација: Провера да ли су подаци у складу са очекиваном шемом, типовима и опсезима.
- Чишћење: Руковање недостајућим вредностима, дуплираним записима, одступницима и недоследностима.
- Трансформација: Претварање необрађених података у атрибуте — као што је претварање категоричке променљиве у број, стварајући „дан у недељи“ из датума.
- Подела: Раздвајање на скупове за обуку, валидацију и тестирање.
- Версионирање: Снимање који модел је обучен са којим подацима.
Вештачка интелигенција штеди време генерисањем нацрта кода и идеја, посебно у корацима 2, 3 и 4. Али одлуке као што су који запис да се одбаци, коју вредност која недостаје и како попуни, припадају инжењеру који познаје податке; јер неправилно чишћење може да унесе скривену пристрасност у модел.
Провера података: рана одбрана линије
Најскупље грешке не почињу у производњи, већ тамо где се прескочи корак верификације. Валидација шеме аутоматски проверава да ли је свака долазна серија података у складу са очекиваном структуром. На пример, да ли је колона узраста између 0-120, да ли је поље е-поште празно, да ли се број колона променио?
Савет: Ставите верификацију на почетак реда. Што се пре открију оштећени подаци, то је јефтиније поправити. Грешка шеме ухваћена у продукцији је много пута скупља од оне ухваћене у фази обуке.
Напишите шему валидације са пандером (или Велика очекивања) за следећу шему података. Колоне и правила:- усер_ид: цео број, не може бити нул, јединствен- аге: цео број, не може бити од 0-120- сигнуп_дате: датум, не може бити у будућности- земља: категорички, из скупа {ТР, ДЕ, УС, УК}- стање: децимални, не може бити негативан Направите смислену поруку о грешци за свако кршење правила. Прикажите тест са примером испрекидане линије на крају кода.
Чишћење: човек је тај који одлучује
Вредности које недостају су реалност сваког скупа података. Начини за руковање:
- Брисање: Одбацивање реда/колоне са веома високом стопом недостајања. Али постоји ризик од губитка информација и пристрасности.
- Импутација: Импутација са средњом, медијаном, најчешћом вредношћу или предвиђањем заснованим на моделу.
- Ознака: Чување информација „недостајало је“ у засебној колони са заставицом — понекад је сам сигнал сигнал.
Која је тачна зависи од проблема. У скупу медицинских података, информације о „вредности крви нису мерене“ треба да буду сачуване уместо да се бришу; Јер чак и одбијање лекара да изврши мерења је сигнал. АИ вам може дати опције и код; Ви бирате који одговара реалности терена.
Слаби промпт / Јаки промпт
Слаб упит: „Унесите вредности које недостају.“
Снажан упит: „Недостају вредности у следећим колонама: приход (недостаје 12%, дистрибуција удесно), ласт_логин (недостаје 30%). Предложите да попуните приход са медијаном, али објасните зашто медијана, а не значи. За ласт_логин претпоставите да би вредност која недостаје могла бити значајна (корисник се можда никада није пријавио); размислите о генерисању заставице невер_ас било који приступ. додати моделу."
Разлика: јак промпт даје информације о дистрибуцији и значење области; вештачка интелигенција производи подршку одлучивању уместо механичког пуњења.
Означавање: квалитет се мери
У надгледаном учењу (учење у којима су примери дати са тачним одговорима), оно што модел учи су ознаке (ознаке: тачан одговор за сваки пример). Квалитет етикета поставља плафон — ако људи етикетирају недоследно, модел учи недоследно.
Споразум међу анотаторима мери стопу по којој различити људи дају исту ознаку истом узорку; Изражава се коефицијентом као што је Коенова Капа. Ниска усклађеност указује на то да је задатак нејасан или је инструкција слаба.
Вештачка интелигенција помаже у обележавању на два начина: (1) састављање смерница за напомене, (2) претходно означавање и омогућавање да их само човек исправи. Али претходно означавање помоћу ЛЛМ-а има замку: систематска грешка модела може процурити у цео сет етикета. Зато људи увек проверавају неке од ознака ЛЛМ.
Пажња: Не сматрајте етикете које производи ЛЛМ као „основну истину“. Проверите узорак са човеком и измерите ЛЛМ-људско уклапање. Ако је усклађеност ниска, претходно обележавање ће донети више штете него користи.
Партиција података: спречи цурење
Најопаснија грешка приликом поделе података на обуку/валидацију/тестирање је цурење података: мешање информација са теста у обуку. Примери:
- Записи истих корисника спадају у обуку и тестирање (групно цурење).
- Коришћење будућности у обуци и прошлости у тестирању у временским серијама (временско цурење).
- Израчунавање параметара скалирања (нормализације) из свих података и затим дељење.
Временско раздвајање је од суштинског значаја за проблеме који укључују време: тренирајте са прошлошћу, тестирајте у будућности. Насумично подела даје „будућу“ корист која се никада неће десити у производњи и надувава метрику.
Верзија података и репродуктивност
„Са којим подацима смо тренирали овај модел?“ Могућност да се одговори на питање месецима касније је обележје озбиљног МЛ инжењеринга. Верзија података чува сваки снимак података са ИД-ом (хеш или ознаку верзије). Алати као што су ДВЦ (Дата Версион Цонтрол) подаци о верзији као што је код.
Да би се репродуковао резултат модела, три ствари морају бити фиксиране: верзија података, верзија кода и насумично семе. Без ове тројке није могуће рећи „Исти резултат сам добио“. Репродуцибилност ћемо продубити у јединици 11; али фиксирање семена у цевоводу података почиње одавде.
три мини кофера
Случај 1 – Валидација шеме дана је сачувана. Када је тим претворио поље цена узводног система из пенија у лире, све цене су пале 100 пута. Валидација шеме је одбацила серију као „цена ван опсега“ и модел није обучен са оштећеним подацима. Без провере, грешка би се приметила само у производњи, уз нетачна предвиђања.
Случај 2 – Пристрасност неправилног пуњења. У кредитном моделу недостајуће вредности прихода су попуњене средњом вредности. Али приходи који недостају били су претежно у групи са ниским приходима; усредњавање је вештачки „обогатило” ову групу, а модел им је понудио неправедно високу границу. Решен је проблем са заставицом медијана + недостатак.
Случај 3 - Временско цурење. Модел за предвиђање потражње је изгледао сјајно на тест сету (95% тачности), али је пао у производњи. Зашто: због насумичне поделе, модел је видео будућност. Прелазак на временско биннинг пао је тачност теста на 78% — али то је био прави учинак и одржао га у производњи.
Шаблони који се могу копирати
Поделите следећи скуп података у три скупа: обука/валидација/тестирање. Ограничење: Ово је временска серија; Користите ТЕМПОРАЛНО раздвајање (обучите у прошлости, тестирајте у будућности). Спречите цурење серије: имајте исти `цустомер_ид` само у једном кластеру. Израчунајте параметре скалирања САМО из скупа за обуку, а затим примените на све. Одштампајте колико је редова остало у коду у сваком кораку и додајте потврду која проверава да нема цурења.
Напишите нацрт упутства за означавање за овај задатак обележавања. Задатак: [нпр. Означите рецензију купаца позитивно/негативно/неутрално]Разјасните граничне случајеве: сарказам, помешане емоције, како означити рецензију која није повезана са производом? Наведите 5 примера и 3 тешка ивична случаја који ће повећати доследност међу ознакама.
Направите контролну листу поновљивости за овај цевовод података: - Како треба поправити верзију података? - Које семе насумице треба поставити где? - Које метаподатке (хеш података, број редова, датум) треба да се евидентирају? Моја кодна база: [језик/библиотека]
Проверите овај код за чишћење због цурења података. Посебно погледајте ово: да ли се параметри скалирања/кодирања израчунавају ПРЕ поделе? Да ли се нека статистика израчунава из свих података или само из тренинга? Шифра: [шифра]
Табела одлука: стратегија недостајуће вредности
Статус
Препоручени приступ
Зашто
Нумеричка, искривљена дистрибуција
испунити медијаном
Просек је под утицајем одступања
Бројчано, симетрично
испунити просеком
Штити информације
Недостатак може бити значајан
Застави колона + попуна
Недостатак је сигнал
Стопа пропуштања > 60%
Процени/одбаци колону
Бука је превише
Категоричан
Категорија „Непознато“.
Не ствара вештачку већину
Уобичајене грешке
- Прескакање верификације. Без контроле шеме, оштећени подаци се тихо ушуњају.
- Скалирање пре раздвајања. Пропушта статистику тестова у образовање.
- Коришћење случајног цепања у временским серијама. Производи лажне високе метрике.
- Слепо веровати ЛЛМ етикетама. Систематска грешка се шири кроз податке.
- Не чува се верзија података. Не можете да репродукујете резултат.
- Механичко пуњење са просеком. Игнорише значење поља, додаје пристрасност.
Укратко
Цевовод података је основа МЛ система и заслужује више труда од модела. Ставите верификацију на врх; доносити одлуке о чишћењу и означавању са познавањем домена; спречити цурење (групно и временско) у одељку; поправите верзију података и семе. АИ генерише код и идеје на овој линији, али на вама је да одлучите које податке ћете обрадити и како — јер свака погрешна одлука овде прелази у модел као скривени недостатак.
Задатак апликације
Напишите шему валидације (пандера/Греат Екпецтатионс) на свом скупу података и намерно додајте лош ред и покажите да је ухваћен. Затим поделите податке временски или групно, израчунајте параметре скалирања само из обуке и потврдите да нема цурења помоћу тврдње. Упишите верзију података и број редова у датотеку метаподатака.
контролна листа
- [ ] Валидација шеме се покреће на врху линије.
- [ ] Изабрао сам стратегију вредности која недостаје на основу значења поља, нисам је попунио механички.
- [ ] Измерио сам квалитет етикете (усаглашеност); Проверио сам ЛЛМ ознаке.
- [ ] Спречио сам групно и временско цурење у окну.
- [ ] Скалирање/кодирање израчунато само из скупа за обуку.
- [ ] Верзија података, број редова и снимљено семе.