Mašininio mokymosi etapai yra struktūrizuotas požiūris į mašininio mokymosi modelių kūrimą, diegimą ir priežiūrą. Šios fazės užtikrina, kad mašininio mokymosi procesas būtų sistemingas, atkuriamas ir keičiamas. Tolesniuose skyriuose pateikiama išsami kiekvieno etapo apžvalga, išsamiai aprašant pagrindines veiklas ir svarstymus.
1. Problemos apibrėžimas ir duomenų rinkimas
Problemos apibrėžimas
Pradiniame etape reikia aiškiai apibrėžti problemą, kurią siekiama išspręsti mašininio mokymosi modeliu. Tai apima verslo tikslų supratimą ir jų pavertimą mašininio mokymosi problema. Pavyzdžiui, verslo tikslas gali būti sumažinti klientų pasitraukimą. Atitinkama mašininio mokymosi problema galėtų būti nuspėti, kurie klientai greičiausiai atsisakys, remiantis istoriniais duomenimis.Duomenų rinkimas
Apibrėžus problemą, kitas žingsnis yra surinkti duomenis, reikalingus modeliui išmokyti. Duomenų rinkimas gali apimti įvairius šaltinius, pvz., duomenų bazes, API, žiniatinklio rinkimą ir trečiųjų šalių duomenų rinkinius. Surinktų duomenų kokybė ir kiekis yra esminiai veiksniai, turintys įtakos mašininio mokymosi modelio veikimui.2. Duomenų paruošimas
Duomenų valymas
Neapdoroti duomenys dažnai yra triukšmingi ir juose trūksta arba yra nenuoseklių verčių. Duomenų valymas apima trūkstamų verčių tvarkymą, dublikatų pašalinimą ir neatitikimų taisymą. Šioje fazėje dažniausiai naudojami tokie metodai kaip imputacija, interpoliacija ir nuokrypių aptikimas.Duomenų transformavimas
Duomenų transformavimas apima tokias operacijas kaip normalizavimas, mastelio keitimas ir kategorinių kintamųjų kodavimas. Šios transformacijos užtikrina, kad duomenys būtų tinkamo formato mašininio mokymosi algoritmams. Pavyzdžiui, skaitinių savybių normalizavimas gali padėti pagerinti gradientu pagrįstų algoritmų konvergencijos greitį.Duomenų skaidymas
Duomenų rinkinys paprastai yra padalintas į mokymo, patvirtinimo ir bandymų rinkinius. Treniruočių rinkinys naudojamas modeliui apmokyti, patvirtinimo rinkinys naudojamas hiperparametrų derinimui, o testų rinkinys – modelio veikimui įvertinti. Įprastas padalijimo santykis yra 70 % mokymui, 15 % patvirtinimui ir 15 % testavimui.3. Funkcijų inžinerija
Funkcijos pasirinkimas
Funkcijų pasirinkimas apima svarbiausių ypatybių, kurios prisideda prie modelio nuspėjimo galios, nustatymą. Metodai, tokie kaip koreliacijos analizė, abipusė informacija ir savybių svarbos balai iš medžių modelių, naudojami funkcijoms pasirinkti.Funkcijos ištraukimas
Funkcijų išgavimas apima naujų funkcijų kūrimą iš esamų. Tai gali apimti duomenų kaupimą, daugianario savybių generavimą arba specifinių domeno žinių naudojimą prasmingoms ypatybėms kurti. Pavyzdžiui, laiko eilučių duomenų rinkinyje galima išskirti tokias funkcijas kaip slenkamieji vidurkiai arba vėluojančios reikšmės.4. Modelių parinkimas ir mokymas
Modelio pasirinkimas
Norint sėkmingai įgyvendinti mašininio mokymosi projektą, svarbu pasirinkti tinkamą algoritmą. Algoritmo pasirinkimas priklauso nuo problemos pobūdžio, duomenų rinkinio dydžio ir tipo bei turimų skaičiavimo išteklių. Įprasti algoritmai apima tiesinę regresiją, sprendimų medžius, paramos vektorines mašinas ir neuroninius tinklus.Modelių mokymas
Modelio mokymas apima mokymo duomenų įvedimą į pasirinktą algoritmą, kad būtų išmokti pagrindiniai modeliai. Šio etapo metu modelio parametrai koreguojami, kad būtų sumažinta nuostolių funkcija, kuri matuoja skirtumą tarp numatomų ir faktinių verčių. Optimizavimui dažniausiai naudojami tokie metodai kaip gradiento nusileidimas.5. Hiperparametrų derinimas
Tinklelio paieška
Tinklelio paieška apima išsamią paiešką iš anksto nustatytame hiperparametrų rinkinyje, kad būtų galima rasti derinį, kuris užtikrina geriausią patvirtinimo rinkinio našumą. Šis metodas gali būti brangus skaičiavimais, tačiau yra veiksmingas mažiems ir vidutinio dydžio duomenų rinkiniams.Atsitiktinė paieška
Atsitiktinė paieška apima atsitiktinį hiperparametrų atranką iš iš anksto nustatyto skirstinio. Šis metodas dažnai yra efektyvesnis nei tinklelio paieška, nes per trumpesnį laiką ištiria platesnį hiperparametrų spektrą.Bajeso optimizavimas
Bajeso optimizavimas naudoja tikimybinius modelius hiperparametrams pasirinkti. Jis sukuria pakaitinį modelį, kad aproksimuotų tikslinę funkciją, ir naudoja šį modelį, kad priimtų sprendimus, kuriuos hiperparametrus vertinti toliau. Šis metodas yra efektyvesnis nei tinklelis ir atsitiktinė paieška, ypač sudėtingiems modeliams.6. Modelio įvertinimas
Našumo metrika
Modelio našumo įvertinimas apima įvairių metrikų naudojimą, kad būtų galima įvertinti jo tikslumą, tikslumą, atšaukimą, F1 balą ir kitus susijusius rodiklius. Metrikos pasirinkimas priklauso nuo konkrečios problemos. Pavyzdžiui, klasifikavimo uždavinyje dažniausiai naudojamas tikslumas ir F1 balas, o regresijos užduotyje labiau tinka vidutinė kvadratinė paklaida (MSE) ir R kvadratas.Kryžminis patvirtinimas
Kryžminis patvirtinimas apima duomenų rinkinio padalijimą į keletą kartų ir modelio mokymą pagal skirtingus duomenų pogrupius. Šis metodas suteikia patikimesnį modelio veikimo įvertinimą, nes sumažina dispersiją, susijusią su vienu traukinio bandymo padalijimu. Įprasti metodai apima k-kartinį kryžminį patvirtinimą ir stratifikuotą kryžminį patvirtinimą.7. Modelio diegimas
Modelių serializavimas
Modelio serializavimas apima apmokyto modelio įrašymą į failą, kad vėliau jį būtų galima įkelti ir naudoti prognozėms. Įprasti serializavimo formatai apima „Python“ modeliams skirtą „pickle“ ir „ONNX“, skirtą modeliams, kuriuos reikia įdiegti įvairiose platformose.Modelio aptarnavimas
Modelio aptarnavimas apima jo diegimą gamybinėje aplinkoje, kur jis gali gauti įvesties duomenis ir grąžinti prognozes. Tai galima padaryti naudojant REST API, mikropaslaugas arba debesies pagrindu sukurtas platformas, tokias kaip „Google Cloud AI Platform“, „AWS SageMaker“ ir „Azure Machine Learning“.8. Stebėjimas ir priežiūra
Veiklos stebėjimas
Kai modelis yra įdiegtas, būtina stebėti jo veikimą realiuoju laiku. Tai apima metrikos, pvz., delsos, pralaidumo ir klaidų dažnio, stebėjimą. Šiuo tikslu gali būti naudojami stebėjimo įrankiai, pvz., „Prometheus“, „Grafana“ ir vietiniai debesies sprendimai.Modelio perkvalifikavimas
Laikui bėgant modelio našumas gali pablogėti dėl pagrindinių duomenų pasiskirstymo pokyčių – reiškinio, vadinamo koncepcijos dreifu. Reguliarus modelio perkvalifikavimas su naujais duomenimis padeda išlaikyti jo tikslumą ir aktualumą. Norint supaprastinti šį procesą, galima nustatyti automatizuotus vamzdynus.A/B testavimas
A/B testavimas apima kelių modelio versijų diegimą ir jų našumo palyginimą, siekiant nustatyti geriausią. Ši technika padeda priimti duomenimis pagrįstus sprendimus dėl modelio atnaujinimų ir patobulinimų.9. Dokumentacija ir ataskaitos
Modelio dokumentacija
Išsami modelio dokumentacija, įskaitant jo architektūrą, hiperparametrus, mokymo procesą ir našumo metriką, yra svarbi atkuriamumui ir bendradarbiavimui. Išsamiai dokumentacijai kurti galima naudoti tokius įrankius kaip Jupyter Notebooks, Sphinx ir MkDocs.Ataskaitinis
Suinteresuotoms šalims turėtų būti teikiamos reguliarios ataskaitos apie modelio veikimą, atnaujinimus ir visas iškilusias problemas. Tai užtikrina skaidrumą ir palengvina pagrįstų sprendimų priėmimą.Pavyzdys: Numatyti klientų atsitraukimą
Norėdami iliustruoti mašininio mokymosi etapus, apsvarstykite pavyzdį, kaip nuspėti telekomunikacijų įmonės klientų mažėjimą.
1. Problemos apibrėžimas: Verslo tikslas – sumažinti klientų trūkumą. Mašininio mokymosi problema yra numatyti, kurie klientai gali atsisakyti, remiantis jų naudojimo modeliais, demografiniais rodikliais ir paslaugų istorija.
2. Duomenų rinkimas: Duomenys renkami iš įvairių šaltinių, įskaitant klientų duomenų bazes, naudojimo žurnalus ir klientų aptarnavimo įrašus.
3. Duomenų paruošimas: duomenys išvalomi, kad būtų pašalintos trūkstamos reikšmės ir neatitikimai. Tokios funkcijos kaip mėnesinis naudojimas, klientų trukmė ir skundai dėl paslaugų yra normalizuojami ir užkoduojami.
4. Funkcijų inžinerija: atitinkamos ypatybės parenkamos atsižvelgiant į jų ryšį su mažėjimu. Išgaunamos naujos funkcijos, tokios kaip vidutinė pokalbių trukmė ir skundų dėl paslaugų dažnis.
5. Modelių parinkimas ir mokymas: Sprendimų medžio klasifikatorius pasirenkamas dėl jo interpretavimo. Modelis yra apmokytas mokymo duomenų rinkinyje, kad būtų išmokti modeliai, susiję su churn.
6. Hiperparametrų derinimas: Tinklelio paieška naudojama optimaliems sprendimų medžio hiperparametrams rasti, pvz., didžiausiam gyliui ir mažiausiam lapo mėginiui.
7. Modelio įvertinimas: modelio veikimas vertinamas naudojant tikslumą, tikslumą, atšaukimą ir F1 balą. Siekiant užtikrinti tvirtumą, atliekamas kryžminis patvirtinimas.
8. Modelio diegimas: Apmokytas modelis yra serijinis ir įdiegtas debesies pagrindu veikiančioje platformoje, kur jis gali gauti įvesties duomenis ir pateikti prognozes.
9. Stebėjimas ir priežiūra: modelio veikimas stebimas realiu laiku. Reguliarus perkvalifikavimas planuojamas siekiant įtraukti naujų duomenų ir išlaikyti tikslumą. A/B testavimas atliekamas siekiant palyginti skirtingas modelių versijas.
10. Dokumentai ir ataskaitos: Sukuriama išsami modelio dokumentacija, įskaitant jo architektūrą, mokymo procesą ir našumo metriką. Reguliariai kuriamos ataskaitos ir dalijamasi su suinteresuotosiomis šalimis.
Šiuose etapuose aprašytas struktūrinis metodas užtikrina, kad mašininio mokymosi modelis būtų sistemingai kuriamas, veiksmingai įdiegtas ir veiksmingai prižiūrimas, o tai galiausiai lemia geresnius verslo rezultatus.
Kiti naujausi klausimai ir atsakymai apie EITC/AI/GCML „Google Cloud Machine Learning“:
- Kokie yra modelio našumo vertinimo metrikai?
- Kas yra tiesinė regresija?
- Ar įmanoma derinti skirtingus ML modelius ir sukurti pagrindinį AI?
- Kokie yra dažniausiai mašininio mokymosi algoritmai?
- Kaip sukurti modelio versiją?
- Kaip pritaikyti 7 ML veiksmus pavyzdiniame kontekste?
- Kaip mašininį mokymąsi galima pritaikyti statybos leidimų duomenims?
- Kodėl AutoML lentelės buvo nutrauktos ir kas jas pakeičia?
- Kokia yra žaidėjų pieštų papuoštų logotipų interpretavimo AI kontekste užduotis?
- Kai skaitomojoje medžiagoje kalbama apie „tinkamo algoritmo pasirinkimą“, ar tai reiškia, kad iš esmės visi galimi algoritmai jau egzistuoja? Kaip žinoti, kad algoritmas yra „tinkamas“ konkrečiai problemai spręsti?
Peržiūrėkite daugiau klausimų ir atsakymų EITC/AI/GCML Google Cloud Machine Learning