Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Ni muhimu kwetu kuelewa kile kinachotokea kwa wanafunzi wetu wakati wa mafunzo na jinsi matukio haya yanavyoathiri matokeo, kwa hivyo tunaunda Ramani ya Safari ya Wateja - ramani ya uzoefu wa wateja. Baada ya yote, mchakato wa kujifunza sio kitu kinachoendelea na muhimu, ni mlolongo wa matukio yaliyounganishwa na vitendo vya mwanafunzi, na vitendo hivi vinaweza kutofautiana sana kati ya wanafunzi tofauti. Sasa amemaliza somo lake: atafanya nini baadaye? Je, itaenda kwenye kazi ya nyumbani? Je, itazindua programu ya rununu? Je, atabadili kozi, aombe kubadili walimu? Je, utaenda moja kwa moja kwenye somo linalofuata? Au ataondoka tu akiwa amekata tamaa? Je, inawezekana, kwa kuchambua ramani hii, kutambua mwelekeo unaosababisha kukamilika kwa mafanikio ya kozi au, kinyume chake, kwa "kuacha" kwa mwanafunzi?

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Kwa kawaida, zana maalum, ghali sana za chanzo funge hutumiwa kujenga CJM. Lakini tulitaka kuja na kitu rahisi, kinachohitaji juhudi kidogo na, ikiwezekana, chanzo wazi. Kwa hivyo wazo lilikuja la kutumia minyororo ya Markov - na tulifanikiwa. Tulitengeneza ramani, tukafasiri data kuhusu tabia ya wanafunzi kwa njia ya grafu, tuliona majibu yasiyo dhahiri kwa masuala ya biashara ya kimataifa, na hata tukapata hitilafu zilizofichwa sana. Tulifanya haya yote kwa kutumia suluhisho la maandishi ya Python ya chanzo wazi. Katika makala hii nitazungumzia kuhusu kesi mbili na matokeo hayo yasiyo ya wazi sana na kushiriki script na kila mtu.

Kwa hivyo, minyororo ya Markov inaonyesha uwezekano wa mabadiliko kati ya matukio. Hapa kuna mfano wa zamani kutoka Wikipedia:

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Hapa "E" na "A" ni matukio, mishale ni mabadiliko kati yao (ikiwa ni pamoja na mabadiliko kutoka kwa tukio hadi sawa), na uzito wa mishale ni uwezekano wa mpito ("grafu iliyoelekezwa yenye uzito").

Ulitumia nini?

Mzunguko huo ulifunzwa kwa utendaji wa kawaida wa Chatu, ambao ulilishwa na kumbukumbu za shughuli za wanafunzi. Grafu kwenye matrix iliyosababishwa iliundwa na maktaba ya NetworkX.

Logi inaonekana kama hii:

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Hii ni faili ya csv iliyo na jedwali la safu wima tatu: kitambulisho cha mwanafunzi, jina la tukio, wakati lilipotokea. Sehemu hizi tatu zinatosha kufuatilia mienendo ya mteja, kujenga ramani na hatimaye kupata mnyororo wa Markov.

Maktaba hurejesha grafu zilizoundwa katika umbizo la .dot au .gexf. Ili kuibua ya kwanza, unaweza kutumia kifurushi cha Graphviz bila malipo (zana ya gvedit), tulifanya kazi na .gexf na Gephi, pia bila malipo.

Ifuatayo ningependa kutoa mifano miwili ya kutumia minyororo ya Markov, ambayo ilituruhusu kuangalia upya malengo yetu, michakato ya elimu, na mfumo ikolojia wa Skyeng wenyewe. Naam, kurekebisha mende.

Kesi ya kwanza: programu ya rununu

Kuanza, tuligundua safari ya wanafunzi kupitia bidhaa yetu maarufuβ€”kozi ya Jumla. Wakati huo, nilikuwa nikifanya kazi katika idara ya watoto ya Skyeng na tulitaka kuona jinsi programu ya rununu ilifanya kazi vizuri na hadhira ya watoto wetu.

Kuchukua magogo na kuyaendesha kupitia hati, nilipata kitu kama hiki:

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Node ya kuanzia ni Start General, na chini kuna nodes tatu za pato: mwanafunzi "alilala," akabadilisha kozi, na kumaliza kozi.

  • Alilala, "Alilala" - hii inamaanisha kuwa hachukui tena madarasa, uwezekano mkubwa alianguka. Tunaita hali hii kwa matumaini "kulala", kwa sababu ... kwa nadharia, bado ana nafasi ya kuendelea na masomo yake. Matokeo mabaya zaidi kwetu.
  • Jenerali aliyeshuka, Alibadilisha kozi - ilibadilishwa kutoka kwa Jumla hadi kitu kingine na ikapotea kwa mnyororo wetu wa Markov.
  • Kozi ya kumaliza, Imemaliza kozi - hali bora, mtu amekamilisha 80% ya masomo (sio masomo yote yanahitajika).

Kuingia katika nodi ya darasa la kufaulu kunamaanisha kukamilisha somo kwa ufanisi kwenye jukwaa letu pamoja na mwalimu. Inarekodi maendeleo kwenye kozi na mbinu ya matokeo yaliyohitajika - "Imekamilisha kozi." Ni muhimu kwetu kwamba wanafunzi wahudhurie kadri inavyowezekana.

Ili kupata hitimisho sahihi zaidi la idadi ya programu ya simu (nodi ya kipindi cha programu), tulijenga minyororo tofauti kwa kila nodi za mwisho kisha tukalinganisha uzito wa makali kwa jozi:

  • kutoka kwa kikao cha programu kurudi kwake;
  • kutoka kwa kikao cha programu hadi darasa la mafanikio;
  • kutoka kwa darasa lililofaulu hadi kipindi cha programu.

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python
Kushoto ni wanafunzi waliomaliza kozi hiyo, kulia ni wale "waliolala"

Kingo hizi tatu zinaonyesha uhusiano kati ya mafanikio ya mwanafunzi na matumizi yao ya programu ya simu. Tulitarajia kuona kwamba wanafunzi waliomaliza kozi wangekuwa na muunganisho mkubwa zaidi wa maombi kuliko wanafunzi waliolala. Walakini, kwa ukweli tulipata matokeo tofauti kabisa:

  • tulihakikisha kuwa vikundi tofauti vya watumiaji vinaingiliana na programu ya simu kwa njia tofauti;
  • wanafunzi waliofaulu kutumia programu ya simu kwa bidii kidogo;
  • wanafunzi wanaolala hutumia programu ya rununu kwa bidii zaidi.

Hii ina maana kwamba wanafunzi wanaolala huanza kutumia muda zaidi na zaidi katika programu ya simu na, mwisho, kubaki ndani yake milele.

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Mwanzoni tulishangaa, lakini baada ya kufikiria juu yake, tuligundua kuwa hii ilikuwa athari ya asili kabisa. Wakati mmoja, nilisoma Kifaransa peke yangu kwa kutumia zana mbili: programu ya rununu na mihadhara ya sarufi kwenye YouTube. Mwanzoni, niligawanya wakati kati yao kwa uwiano wa 50 hadi 50. Lakini maombi ni ya kufurahisha zaidi, kuna uboreshaji, kila kitu ni rahisi, haraka na wazi, lakini katika hotuba lazima uingie ndani yake, andika kitu chini. , fanya mazoezi kwenye daftari. Hatua kwa hatua, nilianza kutumia muda zaidi kwenye smartphone yangu, mpaka sehemu yake ilikua kwa 100%: ikiwa unatumia saa tatu juu yake, unaunda hisia ya uwongo ya kazi iliyokamilishwa, kwa sababu ambayo huna hamu ya kwenda na kusikiliza chochote. .

Lakini hii inawezaje kuwa? Baada ya yote, tuliunda programu ya rununu maalum, kujengwa ndani yake Curve ya Ebbinghaus, ilifanya iwe ya kuvutia ili watu watumie muda ndani yake, lakini inageuka kuwa inawavuruga tu? Kwa kweli, sababu ni kwamba timu ya programu ya rununu ilikabiliana na majukumu yake vizuri sana, kwa sababu hiyo ikawa bidhaa nzuri, inayojitosheleza na ilianza kuanguka kutoka kwa mfumo wetu wa ikolojia.

Kama matokeo ya utafiti, ilionekana wazi kuwa programu ya rununu inahitajika kubadilishwa kwa njia fulani ili isiwe na usumbufu mdogo kutoka kwa kozi kuu ya masomo. Na watoto na watu wazima. Kazi hii inaendelea kwa sasa.

Kesi ya pili: hitilafu za kuingia

Kuabiri ni utaratibu wa ziada wa hiari wakati wa kusajili mwanafunzi mpya, kuondoa matatizo ya kiufundi yanayoweza kutokea katika siku zijazo. Hali ya msingi inadhani kuwa mtu amejiandikisha kwenye ukurasa wa kutua, alipata upatikanaji wa akaunti yake ya kibinafsi, anawasiliana na kupewa somo la utangulizi. Wakati huo huo, tunaona asilimia kubwa ya matatizo ya kiufundi wakati wa somo la utangulizi: toleo lisilo sahihi la kivinjari, kipaza sauti au sauti haifanyi kazi, mwalimu hawezi kupendekeza suluhisho mara moja, na yote haya ni vigumu sana linapokuja. kwa watoto. Kwa hivyo, tumeanzisha programu ya ziada katika akaunti yako ya kibinafsi, ambapo unaweza kukamilisha hatua nne rahisi: angalia kivinjari chako, kamera, kipaza sauti na uhakikishe kuwa wazazi watakuwa karibu wakati wa somo la utangulizi (baada ya yote, wao ndio wanaolipa. elimu ya watoto wao).

Kurasa hizi chache za kuabiri zilionyesha faneli kama hii:

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python
1: block ya kuanzia na tatu tofauti kidogo (kulingana na mteja) kuingia na kuingia password fomu.
2: kisanduku cha kuteua kinachokubali utaratibu wa ziada wa kuabiri.
2.1-2.3: Angalia uwepo wa mzazi, toleo la Chrome na sauti.
3: kizuizi cha mwisho.

Inaonekana asili sana: katika hatua mbili za kwanza, wageni wengi huondoka, wakigundua kuwa kuna kitu cha kujaza, angalia, lakini hakuna wakati. Ikiwa mteja amefikia hatua ya tatu, basi hakika atafikia mwisho. Hakuna sababu moja ya kushuku chochote kwenye faneli.

Walakini, tuliamua kuchambua upandaji wetu sio kwenye funnel ya kawaida ya mwelekeo mmoja, lakini kwa kutumia mnyororo wa Markov. Tuliwasha hafla zaidi, tukaendesha hati na tukapata hii:

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Katika machafuko haya, jambo moja tu linaweza kueleweka wazi: kitu kilienda vibaya. Mchakato wa upandaji ni wa mstari, hii ni asili katika muundo, haipaswi kuwa na wavuti kama hiyo ya viunganisho ndani yake. Na hapa ni wazi mara moja kwamba mtumiaji hutupwa kati ya hatua, kati ya ambayo haipaswi kuwa na mabadiliko kabisa.

Jinsi tunavyotumia minyororo ya Markov katika kutathmini suluhu na kutafuta hitilafu. Na hati ya Python

Kunaweza kuwa na sababu mbili za picha hii ya kushangaza:

  • shoals imeingia kwenye hifadhidata ya kumbukumbu;
  • Kuna makosa katika bidhaa yenyewe - onboarding.

Sababu ya kwanza inaweza kuwa kweli, lakini kuijaribu ni kazi kubwa sana, na kusahihisha kumbukumbu hakutasaidia kuboresha UX. Lakini pamoja na ya pili, ikiwa iko, kitu kilipaswa kufanywa haraka. Kwa hiyo, tulikwenda kuangalia nodes, kutambua kingo ambazo hazipaswi kuwepo, na kutafuta sababu za matukio yao. Tuliona kwamba watumiaji wengine walikwama na kutembea kwenye miduara, wengine walianguka kutoka katikati hadi mwanzo, na wengine, kwa kanuni, hawakuweza kutoka nje ya hatua mbili za kwanza. Tulihamisha data kwa QA - na ndio, ikawa kwamba kulikuwa na mende za kutosha katika upandaji ndege: hii ni bidhaa ndogo, mkongojo kidogo, haikujaribiwa kwa kina vya kutosha, kwa sababu ... Hatukutarajia matatizo yoyote. Sasa mchakato mzima wa kurekodi umebadilika.

Hadithi hii ilituonyesha matumizi yasiyotarajiwa ya minyororo ya Markov kwenye uwanja wa QA.

Jaribu mwenyewe!

Nilichapisha yangu Nakala ya Python ya mafunzo ya minyororo ya Markov katika kikoa cha umma - itumie kwa afya yako. Nyaraka kwenye GitHub, maswali yanaweza kuulizwa hapa, nitajaribu kujibu kila kitu.

Viungo muhimu: Maktaba ya NetworkX, Mtazamaji wa graphviz. Na hapa kuna makala kuhusu Habre Kuhusu Markov minyororo. Grafu katika makala zinafanywa kwa kutumia Gephi.

Chanzo: mapenzi.com

Kuongeza maoni