Ձեր մարզումների ամենամեծ հնարավոր ձեռքբերումների պատվիրված ցանկը՝ հիմնված ձեր և այլ մարզիկների սպորտային ժամացույցների տվյալների վրա:

Խելացի՞ եք վազում:

Որպես վազորդ, որը միշտ ձգտում է բարելավել իմ Անձնական Լավագույնները (PBs), ես հաճախ մտածում եմ, թե ինչպես կարող եմ օպտիմալացնել վազքիս ծախսած ժամանակը լավագույն ձեռքբերումների հասնելու համար, մինչդեռ հնարավորինս ծույլ եմ: Երբեմն ես շաբաթը յոթ անգամ եմ վազում, բայց մի քանի ամսվա ընթացքում արագությունս չեմ բարձրացնում: Ուրիշ անգամ, արշավի, խմելու և շաբաթը միայն մեկ կամ երկու անգամ վազելու շաբաթներ անցած, ես իսկապես լավ PB-ներ եմ վազել: Սա հակասում է ֆորումների և վերապատրաստման ծրագրերի խելամտությանը: Բարեբախտաբար, ես ավելի քան հինգ տարի իմ մարզումները ձայնագրել եմ Strava-ում, ինչպես նաև շատ ուրիշներ: Այս բոլոր տվյալների մեջ պետք է լինի օրինաչափություն։

Այսպիսով, ես ստեղծեցի ծառայություն՝ այլ մարզիկների թույլտվությամբ Strava-ից՝ մարզիկի սոցիալական ցանցից, տվյալներ հանելու համար: Մեքենայական ուսուցման ալգորիթմը բոլոր մարզիկների տվյալներից որոշում է, թե որ գործոններն են առավել կարևոր նրանց վազքը բարելավելու համար: Այս ալգորիթմից հնարավոր է մարզիկներին տալ մարզումների բարելավումների պատվիրված ցանկ, որոնք նրանք կարող են կատարել՝ ավելի արագ անցնելու համար:

Այս գրառումը երկար է:

Խնդիրը հեշտ լուծելի չէ, և լուծումը հեշտ չէ կարճ բացատրել, քանի որ վազող մարզիչների և մեքենայական ուսուցման ինժեներների միջև համընկնումը հավանաբար բավականին փոքր է: Այդ իսկ պատճառով, ես վերևում դրել եմ ամփոփման բաժին և յուրաքանչյուր տեխնիկական բաժին պահել եմ բավականին ինքնամփոփ նրանց համար, ովքեր նայում են մանրամասներին: Ես բացատրել եմ ամբողջ գործընթացը՝ սկզբից մինչև վերջ, ներառյալ «արտադրանքի» արտադրությունը:

Ամփոփում

Մի քանի վազորդներից տվյալներ ստանալուց հետո ես կառուցեցի երկու մոդել.

  • Մոդել, որը կարող է կանխատեսել մինչև 89% ճշգրտությամբ (R²), թե մարզիկը որ ժամին կվազի մրցավազքում (5k-ից 42k)՝ հիմնվելով զուտ մարզումների ծրագրի վրա: Այլ կերպ ասած, որոշել նրանց տեմպը առանց դրանց տեմպերի տվյալների ընդհանրապես օգտագործման: Այս մոդելը միշտ չէ, որ օգտակար է սովորական վազորդի համար, քանի որ շատ կապ կա ձեր արագության և հաճախակի կամ հեռու վազքի միջև: Մոդելի հետ համեմատելով, միջին մարզիկը կարող է տեսնել, թե ինչպես են նրանք մարզվում լավագույն մարզիկների համեմատ, բայց չի տեսնում, թե ինչպես հասնել այնտեղ:
  • Մոդել, որը կարող է կանխատեսել միայն մինչև 54% ճշգրտությամբ (R²), թե մարզիկը որքանով կբարելավի իր մարզումների ծրագրի հիման վրա: Այս մոդելը շատ ավելի օգտակար է վազորդների համար, քանի որ այն կարող է ցույց տալ միջին վազորդին, թե ինչ պետք է անի, որպեսզի լավանա: Այնուամենայնիվ, ես զգում եմ, որ ինձ շատ ավելի շատ վերապատրաստման տվյալներ են պետք, որպեսզի դա հասնի ընդունելի 70%-ի:

Ամբողջ համակարգը այժմ հասանելի է պարզ վեբկայքում [թարմացում. ես վեբկայքն անջատել եմ, քանի որ համակարգը շատ արագ անցել է իմ հոսթինգի բյուջեն], որտեղ մարզիկները կարող են գրանցվել և ծանոթանալ իրենց մարզումների ծրագրին:

Ստորև ներկայացված է առաջին մոդելի համակարգի ելքի նախատիպը: Այստեղ կապույտ մարկերները ցույց են տալիս, թե ինչպես է մարզիկը մարզվում՝ համեմատած մարզիկների վերին 10%-ի և ստորին 10%-ի հետ: Ցուցակը դասավորված է ըստ այդ մարզիկի մարզման ամենակարևոր գործոնների, յուրաքանչյուր գործոնի կարևորության և դրանում մարզիկի թերության արդյունք:

Այստեղ միանգամայն ակնհայտ է, որ մարզիկին պետք է շաբաթական ավելի շատ վազել և ավելի շատ տարածություն: Դա անելիս նրանք պետք է շատ ավելի շատ ժամանակ անցկացնեն սրտի զարկերի 2-րդ գոտում: Այնուամենայնիվ, կան որոշ բաներ, որոնք նրանք իսկապես լավ են արել նույնիսկ լավագույն մարզիկների համեմատ: Օրինակ, իրենց PB-ին նախորդող երեք ամիսների ընթացքում նրանք կրճատեցին իրենց ժամանակը, որը ծախսում էին չգործարկվող գործունեության վրա, քանի որ ավելի մեծ ուշադրություն էին դարձնում վազքի վրա, և նրանք մեծացնում էին երկար վազքների համամասնությունը:

Խորը.

Այսուհետ ամեն ինչ ավելի տեխնիկական է դառնում.

Խնդրի համար որոշ սահմաններ դնելը

  • Strava API-ն չի վերադարձնում իր ունեցած բոլոր տվյալները (սրտի հաճախականության մանրակրկիտ տվյալներ) կամ պատկերացումները: Վերադարձված տվյալները միջինացված են մեկ կիլոմետրի համար, ինչը նշանակում է, որ չի կարելի դիտարկել այն գործոնները, որոնք հավասարվում են րոպեների ընթացքում: Օրինակ, սրտի բաբախյունի կամ արագության բարձրացումները, որոնք պայմանավորված են իսկապես կարճ սպրինտ մարզումների ծրագրերով, չեն կարող դիտարկվել:
  • Այս վերլուծությունը ուսումնասիրում է «մակրո» ուսուցման նախաձեռնությունները՝ ինչպես եք վարվում ուսուցման երկար ժամանակահատվածում: Օրինակ, թե ինչպես եք դասավորել ձեր շաբաթները, մեծացրել եք հեռավորությունը, որքան հեշտ եք կատարել ձեր վազքերը միջինում: Բարեբախտաբար, սա վազորդների ամենաթեժ խնդիրներից մեկն է: Արդյունավետ վերապատրաստման ծրագիր ընտրելը դժվար է:
  • Այս խնդիրը լուծելու ՇԱՏ եղանակներ կան, որոնք հանգեցնում են բազմաթիվ մոդելային և առանձնահատկությունների ինժեներական որոշումների, որոնք ավելի շատ արվեստ են, քան գիտություն: Օրինակ, ես ընտրել եմ գործոնները միայն երեք ամիս տեւողությամբ ուսուցման պատուհանի համար, նախքան Անձնական Լավագույնը (PB): Որոշման հետևում կա որոշակի գիտություն, բայց կարող է լինել, որ ավելի արդյունավետ կլիներ ընտրել երկու ամիսը կամ վեցը: Նման այլ որոշումները ներառում էին այնպիսի բաներ, ինչպիսիք են շեմերի սահմանումը, որը համարվում է «երկար» վազք կամ «արագ» վազք՝ համեմատած այլ վազքերի:
  • Շատ գործոններ, որոնք ես կցանկանայի ունենալ, բացակայում են: Մոդելները երբեք կատարյալ չեն լինի, քանի որ Garmin-ը և Strava-ն շատ մոտ են պահում իրենց քաշը, սննդակարգը, սթրեսը և քնի վիճակագրությունը:
  • Նմանապես, մոդելները միջին հաշվով լավ են աշխատելու, բայց կարող են տարբերվել արդյունավետությամբ յուրաքանչյուր մարզիկի համար: Որոշ մարզիկներ ավելի շատ աղմուկ են բարձրացնում մոդելներին, քան մյուսները: Ավելի շատ տվյալների դեպքում այս աղմուկը կհաշվառվի մոդելներում: Բայց երբ խոսքը վերաբերում է անհատականացված վիզուալիզացիային, խորհուրդները տարբեր կլինեն. Օրինակ, դուք կարող եք անսովոր մարզավիճակ ունեցող անձնավորություն լինել, ով հիանալի մարզվում է, բայց բարելավվելու համար անհրաժեշտ է կորցնել 10 կգ մարմնի վերին մկանները:
  • Նույն գծերով այս մոդելը կառուցված է միջին վազորդի համար: Շատ ավելի մեծ տվյալների բազայի առկայության դեպքում ես կարծում եմ, որ ես կարող եմ մոդելը գործարկել նմանատիպ վազորդների ենթաբազմության վրա, որպեսզի վազորդներին ավելի համապատասխան խորհուրդներ տամ, օրինակ՝ ցույց տալով վազորդների ստորին 10%-ին, թե ինչպես են նրանց նման մարդիկ բարելավվել:

Տեխնիկական ձեռքբերում՝ նախ՝ որոշակի ընթացիկ գիտության հետ

Խնդիրը, որը ես լուծում եմ այստեղ, վազքի հեռավորության համար է՝ 5 կմ-ից մինչև 42 կմ: Թեև դրանք դեռ շատ տարբեր մրցավազք են, դինամիկան նման է այնքանով, որքանով կա բանաձև և հաստատուն փոփոխական, որը կարգավորում է մարզիկի արագության քարտեզագրումը այս տիրույթում ցանկացած հեռավորության վրա: Ենթադրելով, որ ես կանոնավոր կերպով վազում եմ արագ (տեմպով կամ շեմով) վազքներով և երկար վազքերով մոտ 25 կմ-ից մինչև 30 կմ, բավականին պարզ է իմ մարաթոնի ժամանակն իմ 5k ժամանակից էքստրապոլացիա անել: Դա արվում է vdot-ի միջոցով՝ մշտական ​​և բանաձևի, որը մշակվել է լեգենդար վազքի մարզիչ Ջեք Դենիելսի կողմից: Իմ մոդելի ողջ ընթացքում ենթադրվում է, որ vdot-ը ձեր ընդհանուր վազքի մարզավիճակի ճշգրիտ ներկայացումն է, և որ մենք գործ ունենք ֆիթնեսի հետ 5–42 կմ հեռավորության վրա:

Այնուամենայնիվ, vdot-ը ֆիթնեսի կատարյալ հոմանիշ չէ, որքան արագության չափանիշ: Ֆիթնեսի ամբողջական չափման համար պետք է դիտարկել OBLA-ն, V02max-ը, մկանների արդյունավետությունը և մկանային հզորությունը ոտքի հարվածի տևողության համեմատ: Մենք չենք կարող չափել դրանք ձեռքի ժամացույցի տվյալներով։ Բայց մենք կարող ենք չափել, թե ինչն է օգնում մարդկանց բարելավել վերջնական նպատակը՝ արագությունը:

Վազորդներից շատերն օգտագործում են Strava-ն՝ մարզիկների համար նախատեսված սոցիալական ցանցը՝ իրենց տվյալները վերբեռնելու համար, որտեղից ես տվյալներ եմ ստանում: Strava-ն գնահատում է ձեր մարզավիճակը (vdot կամ իր չափը) իր սեփական մոդելներում, բայց դա հասանելի չի դարձնում իր API-ի միջոցով: Այդ իսկ պատճառով, իմ ստեղծած մոդելը կարող է էքստրապոլյացնել ձեր մարզավիճակը միայն այն ժամանակ, երբ դուք վարում եք Personal Best (PB), որը Strava-ն հասանելի է դարձնում որպես «գնահատված լավագույն ջանքեր»: Գոյություն ունեին հասանելի տարբերակներ, ինչպիսիք են՝ գնահատել համապատասխանությունը սրտի զարկերի և արագության միջև ձեր կապից, բայց դա չափազանց մեծ աղմուկ կբարձրացներ նվազագույն կենսունակ արտադրանքի (MVP) մոդելի համար:

Այս լավագույն ջանքերին հասնելու համար, ընդհանուր առմամբ, ընդունված է, որ դուք պետք է հետևեք մանրակրկիտ հավասարակշռությանը ծանր մարզումների և վերականգնման միջև, ինչպես նաև ձեր մեքենան յուղով պահեք շատ հեշտ վազքների ընթացքում: Առաջինը որոշվում է այն բանով, որ trainingpeaks-ը անվանում է Իմպուլս-արձագանքման մոդել. դուք ձեր մարմինը դնում եք սթրեսի տակ, և նա արձագանքում է այս սթրեսին՝ ուժեղանալով: Վերջինս պարզապես այն պատճառով է, որ գիտությունը ցույց է տվել, որ մեր մարմինը ամենաարդյունավետ արդյունավետությունն է ապահովում սրտի զարկերի զարկերի գոտում, ինչը համապատասխանում է 2-րդ գոտում համեմատաբար հեշտ վազքի տեմպին:

Որը մեզ բերում է սրտի բաբախման գոտիներ. մարզիչներն ու մարզիկները մեզ համար պարզեցրել են ամեն ինչ՝ յուրաքանչյուր մարզիկի սրտի առավելագույն հաճախականության հիման վրա սահմանելով գոտիների կամ միջակայքների մի շարք, որոնք մեզ հնարավորություն են տալիս մարզվելու նպատակային շրջաններին՝ մեր սրտի զարկերի տվյալները: Այս գոտիները տատանվում են Z1-ից Z5-ից՝ նվազագույնից մինչև առավելագույն ջանք: Պրոֆեսիոնալ շատ մարզիկներ մարզվում են ամբողջովին ըստ սրտի զարկերի գոտու, այլ ոչ թե արագության, քանի որ մեր սրտերը լավագույն ցուցանիշն են մեր մարմնի արձագանքի մարզմանը: Ստորև բերված պատկերը ցույց է տալիս գոտիները: Խնդրում ենք նկատի ունենալ, որ համեմատաբար վատ պրակտիկա է գնահատել ձեր սրտի զարկերի գոտիները՝ ելնելով ձեր տարիքից, քանի որ դա մեծապես տարբերվում է՝ ելնելով գենետիկայից, այլ ոչ թե ֆիթնեսից: Օրինակ, Քրիս Ֆրումի սրտի առավելագույն հաճախականությունը 161 է, և այս մոդելի հիման վրա պետք է լինի 186: Բարեբախտաբար, Strava-ն չի անում այս ենթադրությունը, այլ որոշում է դա ժամանակի ընթացքում:

Մենք ի վիճակի ենք ավելի քիչ ժամանակ հատկացնել մարզվելուն ավելի բարձր սրտի զարկերի գոտիներում, բայց մեծապես օգուտ քաղել ավելի բարձր գոտիներում մի փոքր ժամանակ անցկացնելուց: Տարբեր մարզիչներ դա այլ կերպ են տեսնում, ընդհանուր խորհուրդն է՝ ժամանակի 80%-ը ծախսել հեշտ Z1-Z3 և 20%-ը՝ կոշտ՝ Z4 և Z5 գոտիներում: Այնուամենայնիվ, սա նաև տարբերվում է՝ կախված նրանից, թե արդյոք դուք շուտ եք սկսել ձեր մարզման սեզոնը, պատրաստվում եք գագաթնակետին հասնել մրցավազքի կամ նվազեցնել ձեր ջանքերը՝ հանգստանալու մրցավազքում:

Այս գոտիները ձեր ժամանակը կառավարելու և մարզումները ավելի պարզեցնելու համար մարզիչները խորհուրդ են տալիս վազքի մի քանի տեսակներ.

  • Հեշտ վազք
  • Երկար վազք
  • Ինտերվալային մարզում
  • Տեմպը աշխատում է
  • Հեշտ վազք քայլերով կամ ֆարտլեքներով, արագ տեմպերով առանց սրտի բաբախյունի չափից շատ բարձրացման
  • Վերոնշյալի ցանկացած համակցություն:

Եվ եթե դա բավարար չէ, կա նաև գիտություն շաբաթական որքանով բարձրացնել ձեր վազքը, մակրոտիպի իմպուլսային արձագանքման մոդել, որտեղ ձեր մարմինը կամաց-կամաց հարմարվում է ավելի շատ ջանքերի, հետևաբար դառնում է ավելի լավ: Գինը, որը պետք է վճարել այս չափից ավելի մեծացման համար, իհարկե վնասվածքն է կամ այրումը:

Վարող գիտությունը՝ պարզեցված

Հաշվի առնելով վերը նշված բոլորը, յուրաքանչյուր մարզիկի համար գոյություն ունի օպտիմալ, բայց խեղդված մարզումների միջև հավասարակշռություն գտնելը:

  • Հեշտ և դժվար ջանքեր գործադրելու համար
  • Վազել և հանգստանալ՝ կախված ձեր նախկին գործունեությունից
  • Հեշտ վազք, երկար վազք, ինտերվալային մարզումներ, տեմպով վազք
  • Վազք և խաչաձև մարզում
  • Շաբաթ առ շաբաթ ավելացրեք ձեր ջանքերը

Առանց ձեր կամ մարզչի մասին մեծ գիտելիքների, դժվար է գտնել այս հավասարակշռությունը, նույնիսկ որպես փորձառու վազորդ: Կան մատչելի գործիքներ, ինչպիսիք են TrainingPeaks-ի կատարողականի մենեջերը և Strava-ի պրեմիում առաջարկը: Նրանք հիանալի են, հատկապես նրանով, թե ինչպես են ասում ձեզ, որ դուք չափազանց ծանր մարզվում եք և հանգստանալու կարիք ունեք: Այնուամենայնիվ, ես գտնում եմ, որ նրանք բոլորն էլ կենտրոնանում են փորձելու վրա գնահատել, թե որն է ձեր ընթացիկ մարզման ծանրաբեռնվածությունը, հետևաբար, հենվելով սրտի հաճախականության ամենօրյա ոչ ճշգրիտ տվյալների վրա: Ինձ պետք էր ինչ-որ բան, որը խորհուրդ կտա ինձ, թե ինչ կարող եմ տարբեր կերպ անել ամիսների ընթացքում, ի տարբերություն ամենօրյա:

Այսպիսով, որպես վազորդ, ես կառուցեցի այս վերլուծությունը որպես լրացուցիչ գործիք՝ ասելու ինձ, թե ինչ կարող եմ տարբեր կերպ անել ավելի երկար ամիսների ընթացքում՝ համեմատած այլ մարզիկների:

Համակարգի բարձր մակարդակի ակնարկ

Նման համակարգի մի քանի մասեր կան, որոնք պետք է հավաքեն տվյալներ, վարժեցնեն մոդելը, գործարկեն մոդելը և պատկերացումներ ստեղծեն օգտատերերի համար առաջին մասում: Կարելի է դրանք տեսնել որպես համակարգ, որը փոխազդում է հետևյալ կերպ՝ կանաչ գծերով, որոնք ցույց են տալիս համաժամանակյա հոսքեր, և նարնջագույն գծերով, որոնք ներկայացնում են ասինխրոն հոսքեր՝ պայմանավորված API-ի մուտքի կամ մշակման համար պահանջվող ժամանակով.

Տվյալների ստացում. Strava API

Strava-ն լուրջ սահմանափակումներ ունի իր API-ի օգտագործման հարցում: Այն չի կարող հարցվել առանց մարզիկի թույլտվության, և այնուհետև այն սահմանափակվում է, որպեսզի թույլ տա օրական քիչ թե շատ վազորդների տվյալները հավաքել: Սա դանդաղեցնում է տվյալների հավաքագրումը:

Ի թիվս այլ բաների, Strava API-ն յուրաքանչյուր մարզիկի համար տրամադրում է.

  • Սրտի զարկերի գոտիներ մարզիկների համար. սրտի կուրսի որ դեպքում նրանք զգում են Z1-Z5
  • Գործողությունների ցանկ, որը նշված է ըստ իրենց տեսակի.
  • Յուրաքանչյուր վազքի, հեռավորության, սրտի զարկերի, արագության և «շրջապտույտի» համար՝ ընդհանուր առմամբ բաժանված կմ-ով
  • Յուրաքանչյուր շրջանի համար սրտի միջին հաճախականությունը, արագությունը և արագությունը
  • Յուրաքանչյուր վազքի համար՝ անկախ նրանից, թե դա «լավագույն ջանք» էր, այլ կերպ ասած՝ PB

Իմ ընկերներից 20-ը բարի էին տրամադրել ինձ իրենց բոլոր տվյալները Strava-ի միջոցով: Հաշվի առնելով, որ նրանք ունեին միջինը 10 PB իրենց յուրաքանչյուր տվյալների մեջ, սա գրեթե 200 մուտքագրում էր իմ մոդելներին, ինչը բավական էր vdot-ի գնահատման համար ճշգրիտ մոդել ստեղծելու համար, բայց ոչ այնքան, որ մոդել ստեղծեր՝ vdot-ի բարելավումը գնահատելու համար. կբացատրի ավելի ուշ:

  1. Մարզիկների բոլոր գործողությունները կրկնվում են՝ որոշելով, թե որոնք են PB-ները: Յուրաքանչյուր PB-ի համար, եթե այն նախորդ PB-ից մեկ ամսից ավելի է անցել, և նախորդ գրառումից ավելի քան 0,5 vdot, դառնում է տվյալների կետ: Սա պետք է համոզվի, որ յուրաքանչյուր տվյալների կետը բավարար մեծության առանձին PB է:
  2. Մարզիկների բոլոր գործողություններից կառուցված է ռեգրեսոր՝ այս մարզիկի համար մեկամսյա ընդմիջումներով քարտեզագրելով սրտի հաճախության տեմպերը: Դա պայմանավորված է նրանով, որ շատ մարզիկների գործունեությունը կատարվում էր առանց սրտի զարկերի մոնիտորների (ընդհանուր առմամբ, սրտի զարկերի մոնիտորները լայնորեն օգտագործվել են միայն վերջին երկու կամ երեք տարիների ընթացքում): Այնուամենայնիվ, սրտի բաբախյունը դեռևս կարելի է բավականին ճշգրիտ գնահատել այս ռեգրեսորի միջոցով՝ R²-ով 0,9: Սա բացառապես օգտակար է մեքենայական ուսուցման մոդելի ուսուցման համար. այն բարելավել է ընդհանուր մոդելի R²-ը 0.1-ով:
  3. Յուրաքանչյուր PB-ի համար PB-ի vdot-ը որոշվում է՝ օգտագործելով Jack Daniels-ի բանաձևը: Սա առաջին մեքենայական ուսուցման մոդելի «y»-ն է. այն հատկանիշը, որի վրա մոդելը վերապատրաստվում է: Երկրորդ մոդելի համար օգտագործվում է vdot-ի փոփոխություն կամ delta-y: Նաև յուրաքանչյուր ԳԲ-ի համար արդյունահանվում են բոլոր գործողությունները մինչև ԳԲ-ն 3 ամսվա ընթացքում: 3 ամիսն ընտրվել է վերջնական մոդելի R²-ի հարաբերակցության հիման վրա:
  4. Յուրաքանչյուր գործունեության համար արդյունահանվում են օգտակար առանձնահատկություններ, ինչպիսիք են գործունեության տեսակը, տևողությունը, ընդհանուր ջանքերը և այլն: Թեև ես շատ չեմ մանրամասնի մոդելի առանձնահատկությունները, նման բաները, ինչպիսիք են ստանդարտ շեղման դրույքաչափի սիրտը, օգտագործվում են որոշելու համար, թե արդյոք գործունեությունը ինտերվալային պարապմունք է, և գործունեության հարաբերական ջանքերն ու տեւողությունը օգտագործվում են որոշելու՝ դա տեմպ է, թե երկարաժամկետ: Նմանատիպ տրամաբանությունը կիրառվում է քայլերը բարձրացնելու, բլուրների կրկնությունների և այլնի դեպքում:
  5. Հատկապես մի քանի տարի առաջվա գործողությունների դեպքում, տեմպերի տվյալները օգտագործվում են ակտիվության համար սրտի ակնկալվող հաճախականությունը էքստրապոլավորելու համար, որպեսզի հնարավոր դառնա վերը նշված և ստորև նշված որոշ առանձնահատկություններ արդյունահանվել սրտի զարկերից:
  6. Գործողությունները խմբավորվում են շաբաթների մեջ, մի մեթոդ, որը ես դեռ մի փոքր անհարմար եմ զգում, քանի որ որոշ մարզիկներ կարող են մարզվել 10 կամ 14 օր ցիկլերով: Յուրաքանչյուր շաբաթվա համար արդյունահանվում են ավելի շատ առանձնահատկություններ, ինչպիսիք են շաբաթական վազքը, վազքի և այլ գործողությունների միջև բաժանումը և վազքի տեսակների միջև հարաբերակցությունը:
  7. Նույնը արվում է շաբաթները վերապատրաստման բլոկների մեջ խմբավորելու համար: Այստեղ դիտարկվում են ամբողջ երեք ամիսները, և առանձնահատկությունները ավելի շատ համընկնում են վազքի, ջանքերի և ընդհանուր վարքագծի փոփոխության հետ երեք ամսվա ընթացքում: Վերջապես, մրցավազքից առաջ անկումը նույնպես վերլուծվում է որպես գործոն:

Վերոհիշյալ բոլոր հատկանիշները պահվում են տվյալների բազայում յուրաքանչյուր PB-ի համար, յուրաքանչյուր մարզիկի համար: Դրանք բոլորն օգտագործվում են մեքենայական ուսուցման վերջնական մոդելները վերապատրաստելու համար: Կարևոր է նշել, որ տեմպը հատկանիշ ՉԷ, քանի որ սա բավականին հիմար կլինի օգտագործել՝ լավ... տեմպը կանխատեսելու համար:

Մեքենայի ուսուցման մոդելը

Այս բաժինը բավականին ճնշող կլինի մեքենայական ուսուցման փորձագետների համար: Ընտրված առանձնահատկությունների հիման վրա լավագույն կատարող մոդելը որոշման ծառն էր, որին մոտիկից հետևում էր վանիլային XGBoost-ը: Այս մոդելների շտկումը քիչ օգուտներ ցույց տվեց՝ կապված որոշ առանձնահատկությունների ինժեներական տվյալների բարելավման հետ, ինչպես, օրինակ, սրտի բաբախյունի էքստրապոլյացիա այն արագությունից, որտեղ սրտի հաճախության տվյալներ չկան:

Ինտուիտիվորեն և մոդելի կատարողականի հիման վրա խնդիրը գրեթե գծային է:

Մոդելը բաժանված է երկու մասի, ինչպես նշված է շատ վաղ հոդվածում.

  • Մոդելներից մեկը մարզվում է vdot-ի վրա՝ որոշելով մարզիկի vdot-ը բացատրող առանձնահատկությունները, որն ըստ էության մարաթոնյան տեմպ է: Սա լավագույն դեպքում ունի 0,89 R², բայց կախված մարզիկից կարող է հասնել մինչև 0,6:
  • Մեկ այլ մոդել՝ իսկական ոսկու ամանը, մարզվում է vdot-ի փոփոխության վրա՝ սկսած մարզիկի վերջին PB-ից: Սա շատ ավելի արժեքավոր է, քանի որ շատ ավելի քիչ ենթակա է հարաբերակցության և շփոթեցնող գործոնների: Այնուամենայնիվ, այստեղ լավագույն դեպքում R²-ն ընդամենը 0,5 է:

Յուրաքանչյուրի առանձնահատկությունները (հիմնվելով իմ փոքր տվյալների վրա՝ n=200) ստորև են: Ես կթարմացնեմ սա, քանի որ տվյալների բազան մեծանում է.

vdot (ֆիթնես) բացատրող առանձնահատկություններ

Այստեղ մենք ունենք բավականին առողջ SHAP հողամաս: Այս սյուժեի առողջությունը պարզ համակարգում սովորաբար նշվում է կարմիր և կապույտ կետերի հստակ տարանջատմամբ:

  • Հատկանիշները նախատեսված են 3-ամսյա վերապատրաստման ժամանակահատվածի համար, նախքան PB-ն:
  • Սովորական հատկանիշները (հաստատունները) նախածանցվում են f_-ով: Օրինակ, f_avg_weekly_run_distance-ը մարզիկի անցած միջին տարածությունն է (կմ):
  • Հարաբերական հատկանիշները (համեմատաբար այս մարզիկի մնացած տվյալների հետ) նախածանցված են r_-ով: Օրինակ՝ «r_proportion_yoga»-ն այն է, թե որքան յոգա է արել մարզիկը այս երեք ամիսների ընթացքում համեմատած նախորդ մարզումների հետ:

Հիշեք, որ այս հատկանիշները համարվում են կարևոր ոչ գծային մոդելի համար՝ պատահական անտառային ռեգրեսիայի ալգորիթմը, ուստի մենք չենք կարող սա կարդալ որպես վազորդների համար կարևոր հատկանիշների ստուգաթերթ: Ես կվերցնեի որոշ առանձնահատկություններ, ինչպիսիք են «r_proportion_yoga»-ն մի պտղունց աղով: Օրինակ, մոդելը կարող էր որոշել, որ եթե մարզիկը շատ հեշտ չի վազում, ապա յոգայով զբաղվելու համար նրա ծախսած ժամանակը չափազանց կարևոր է: Բայց քանի որ այս մոդելի R²-ը բավականին լավն է, և հաշվի առնելով, որ մենք ունենք գրեթե գծային խնդիր, ապա կարելի է այս կերպ նայել առանձնահատկություններին կամ որպես այլընտրանք կատարել XGBoost-ի գծային վերլուծություն:

Կան մի քանի բավականին անվտանգ եզրակացություններ, որոնք մենք կարող ենք անել այն մասին, թե որքան արագ են վարվում վազորդները իրենց PB-ների առաջ.

  • Նրանք շատ ավելի շատ են վազում, քան դանդաղ վազորդները՝ ավելի շատ ընդհանուր վազքերով
  • Նրանք ավելի շատ ժամանակ են անցկացնում սրտի կուրսի 1, 2, 4 և 5 գոտիներում, և ավելի քիչ ժամանակ 3-ում: Այլ կերպ ասած, նրանք կա՛մ շատ հեշտ են վազում, կա՛մ շատ դժվար:
  • Նրանք վազում են ավելի շատ մարզիկների հետ (r_mean_athlete_count) — այստեղ հաստատ հարաբերակցությունը, քանի որ նրանք, ամենայն հավանականությամբ, կնայեն իրենց հիմնական հոբբին իրենց սոցիալական կյանքի համար:
  • Նրանք ավելի բարձր են վազում
  • … և այլն:

Հարաբերական vdot բացատրող առանձնահատկություններ (մարմնամարզության բարելավում)

Որպես արագ ամփոփում, ոչ թե նայելու, թե ինչ են անում մարզիկները, ես մարզեցի մոդելի, թե ինչ են արել մարզիկները, ընդհանուր առմամբ, առավելագույնը բարելավելու համար vdot-ի առումով: Սա կարող է լինել բացառիկ հզոր վերլուծություն՝ բավարար տվյալների հետ միասին, քանի որ այն կհանի հարաբերակցությունը հավասարումից: Մենք կտեսնեինք, թե միջին Ջոն ինչ արեց ավելի լավը դառնալու համար:

Այստեղ մենք SHAP հողամասը այնքան էլ առողջ չէ։ Կան բազմաթիվ արտաքին հատկանիշներ, որոնք մեծ ազդեցություն ունեն մոդելի վրա:

Լավագույն R²-ն այս մոդելի համար եղել է 0,5: Հետևաբար, տվյալների ընթացիկ չափերով, նույնիսկ ամենաբացատրելի մարզիկների կատարողականի համար, այն բացատրում է ավելի արագ հասնելու գործոնների մինչև 50%-ը:

Հավասարապես կարևոր է, որ այս մոդելը ավելի քիչ գծային է, քան զուտ vdot կանխատեսող մոդելը: Որոշ մարզիկներ կարող են վազել PB-ներով՝ նորեկ լինելով սպորտի մեջ, ուստի մոդելը կարող է որոշել. համեմատաբար քիչ վազել, բայց ավելի արագ վազել»։ Այնուամենայնիվ, եկեք տեսնենք, թե ինչ է ասում հատկանիշների միտումնավոր ընտրությունը.

  • Վազիր։ շատ.
  • Համեմատաբար ավելի քիչ քշեք, քան նախկինում (ես ապրում եմ Նիդեռլանդներում, ինչպես և շատ մարզիկներ տվյալ տվյալների բազայում, այնպես որ, հավանաբար, հասկացել է, որ երբ վերջապես դադարում ենք հեծանիվ վարել մեր սիրելի ամառվա ընթացքում և կենտրոնանալով վազքի վրա, մենք ավելի արագ ենք դառնում)
  • f_slope_time_before_taper. սա ցույց է տալիս ժամանակի «թեքվածքը», որը ծախսվում է մարզումների վրա, նախքան մարզիկը կնվազի: Կարևորվում է, որ կա՛մ շատ բարձրացնեք (որոշ մարզիկների համար), կա՛մ մի փոքր նվազեցնել բեռը (ավելի շատ մարզիկներ)
  • f_slope_distance_before_taper. Այստեղ բավականին հստակ ցուցում կա, որ մարզիկները պետք է ավելի շատ տարածություն վազեն: Այսպիսով, հաշվի առնելով դա նախորդ փոփոխականի հետ, կարող է լինել, որ նրանք պետք է ավելի քիչ գործարկեն, բայց ավելին աշխատեն:
  • f_proportion_distance_activities. Սա կրկնում է նախորդ երկու կետերը. Ակնհայտորեն կարևոր է երկար վազքների ավելի մեծ մասնաբաժին իրականացնել նախքան PB գործարկելը: Հիշեք այստեղ փոխկապակցման հնարավոր վտանգը. մարզիկները հաճախ կատարում են մի քանի երկար վազք, նախքան միտումնավոր մարաթոնյան PB-ն փորձելը:

Վիզուալիզացիաներ

Այսպիսով, ինչպե՞ս է սա օգտակար անհատի համար: Վերոնշյալ մոդելներով հնարավոր է համեմատել որոշակի մարզիկի մարզումը իդեալականի հետ: Սա ցույց է տրված ստորև՝ այստեղ գծապատկերը կարդալու բացատրությամբ։

Հատկանիշները դասակարգված են ըստ պոտենցիալ շահույթի. մոդելի հատկանիշի հզորությունը, բազմապատկված է նրանով, թե որքանով է ձեր մարզումը համեմատաբար վատն էր այդ առումով: Բացի ակնհայտ «վազել» և «ավելի հաճախ վազել» արտահայտություններից, այս մոդելը հստակ հրահանգում է մարզիկին «ավելի շատ վազել սրտի զարկերի հաճախականությամբ Z2», «ավելի շատ բլուրներով վազել» և «քիչ լողալ»:

Արտադրություն

Այս փոքր մասշտաբով արտադրությունը բավականին պարզ էր, և ես գնացի ամբողջությամբ Google Cloud-ի կարգավորումով: Արդյունքն այն է, որ ամեն ինչ արագ է ընթանում, բացի Strava API հարցումներից, որոնց արագությունը սահմանափակվում է վայրկյանում մոտ 1-ով:

  • Քանի որ առանձնահատկությունների ճարտարագիտությունը և մեքենայական ուսուցման հետին վերջը գործարկվում է Python-ում, ես գնացի Flask ճակատային մասով
  • Լուծումը տեղակայված է Google Cloud App Engine-ում
  • Տվյալների բազան տեղակայված է Google Cloud SQL-ում
  • Cron jobs-ը գործարկում է առանձնահատկությունների ինժեներական և ML մարզումների ալգորիթմները, երբ նոր մարզիկները բաժանորդագրվեն
  • Flask-ը հարցումներ է կատարում հետնամասում՝ matplotlib պատկերներ ստեղծելու համար, երբ բեռնում է իրենց վիզուալիզացիայի էջերը

Ի՞նչ է հաջորդը:

Կան բազմաթիվ բարելավումներ, որոնք կարելի է անել, հատկապես վիզուալիզացիաներում և դրանց բացատրություններում: Այնուամենայնիվ, նախ, ես կցանկանայի ավելի շատ տվյալներ ձեռք բերել, որպեսզի ավելի լավ մոդել ստեղծեմ՝ բացատրելով, թե ինչ է անհրաժեշտ ավելի արագ ստանալու համար: Այս ավելի պատճառահետևանքային մոդելը անսահմանորեն ավելի օգտակար կլինի առանձին մարզիկների համար: