Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

Tha e cudromach gun tuig sinn dè thachras dha na h-oileanaich againn rè trèanadh agus mar a bheir na tachartasan sin buaidh air an toradh, agus mar sin togaidh sinn Mapa Turas Luchd-ceannach - mapa de eòlas teachdaiche. Às deidh na h-uile, chan e rudeigin leantainneach agus bunaiteach a th 'anns a' phròiseas ionnsachaidh, tha e na shreath de thachartasan eadar-cheangailte agus gnìomhan nan oileanach, agus faodaidh na gnìomhan sin atharrachadh gu mòr am measg oileanaich eadar-dhealaichte. A‑nis tha e air a leasan a chrìochnachadh: dè an ath rud a nì e? An tèid e gu obair-dachaigh? An cuir e air bhog tagradh gluasadach? An atharraich e cùrsa, an iarr e tidsearan atharrachadh? An tèid thu dìreach chun ath leasan? No am fàg e dìreach briseadh-dùil? A bheil e comasach, le bhith a’ dèanamh anailis air a’ mhapa seo, pàtrain a chomharrachadh a lean gu crìoch shoirbheachail a’ chùrsa no, air an làimh eile, gu “dropout” an oileanach?

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

Mar as trice, bithear a’ cleachdadh innealan stòr dùinte speisealta, gu math daor gus CJM a thogail. Ach bha sinn airson rudeigin sìmplidh a chruthachadh, a dh 'fheumadh glè bheag de oidhirp agus, ma ghabhas e dèanamh, stòr fosgailte. Mar sin thàinig am beachd gu bhith a’ cleachdadh slabhraidhean Markov - agus shoirbhich leinn. Thog sinn mapa, mhìnich sinn dàta mu ghiùlan oileanach ann an cruth graf, chunnaic sinn freagairtean gu tur neo-fhollaiseach do chùisean gnìomhachais cruinneil, agus lorg sinn eadhon biastagan falaichte domhainn. Rinn sinn seo uile a’ cleachdadh fuasglaidhean sgriobt Python le còd fosgailte. San artaigil seo bruidhnidh mi mu dhà chùis leis na toraidhean sin a tha gu math neo-fhollaiseach agus roinnidh mi an sgriobt leis a h-uile duine.

Mar sin, tha slabhraidhean Markov a 'sealltainn coltachd eadar-ghluasadan eadar tachartasan. Seo eisimpleir prìomhadail bho Wikipedia:

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

An seo tha “E” agus “A” nan tachartasan, is e eadar-ghluasadan eadar na saighdean (a’ toirt a-steach an gluasad bho thachartas chun an aon rud), agus is e cuideaman nan saighdean an coltachd gluasaid (“graf stiùiridh le cuideam”).

Dè a chleachd thu?

Chaidh an cuairteachadh a thrèanadh le gnìomhachd àbhaisteach Python, a bha air a bhiadhadh le logaichean gnìomhachd oileanach. Chaidh an graf air a’ mhaitrix a thàinig às a sin a thogail le leabharlann NetworkX.

Tha an clàr a’ coimhead mar seo:

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

Is e faidhle csv a tha seo anns a bheil clàr de thrì colbhan: id oileanach, ainm an tachartais, uair a thachair e. Tha na trì raointean sin gu leòr airson gluasadan an neach-dèiligidh a lorg, mapa a thogail agus slabhraidh Markov fhaighinn aig a’ cheann thall.

Bidh an leabharlann a' tilleadh nan grafaichean a chaidh a thogail ann an cruth .dot no .gexf. Gus am fear roimhe fhaicinn, faodaidh tu am pasgan Graphviz an-asgaidh (inneal gvedit) a chleachdadh, dh’ obraich sinn le .gexf agus Gephi, cuideachd an-asgaidh.

An uairsin bu mhath leam dà eisimpleir a thoirt seachad de bhith a’ cleachdadh slabhraidhean Markov, a leig leinn sùil às ùr a thoirt air na h-amasan againn, pròiseasan foghlaim, agus eag-shiostam Skyeng fhèin. Uill, socraich na bugs.

A 'chiad chùis: tagradh gluasadach

An toiseach, rannsaich sinn turas nan oileanach tron ​​toradh as mòr-chòrdte againn - an cùrsa Coitcheann. Aig an àm sin, bha mi ag obair ann an roinn na cloinne ann an Skyeng agus bha sinn airson faicinn dè cho èifeachdach sa bha an aplacaid gluasadach ag obair le luchd-èisteachd na cloinne againn.

A’ toirt na logaichean agus gan ruith tron ​​sgriobt, fhuair mi rudeigin mar seo:

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

Is e Start General an nòta tòiseachaidh, agus aig a’ bhonn tha trì comharran toraidh: thuit an oileanach “na chadal,” dh’ atharraich e cùrsa, agus chrìochnaich e an cùrsa.

  • Thuit na chadal, "Thuit na chadal" - tha seo a 'ciallachadh nach eil e a' gabhail clasaichean tuilleadh, is dòcha gun do thuit e dheth. Is e “cadal” a chanas sinn ris an stàit seo, leis gu bheil... ann an teòiridh, tha cothrom aige fhathast leantainn air adhart le a chuid ionnsachaidh. An toradh as miosa dhuinn.
  • Air tuiteam san fharsaingeachd, cùrsa air atharrachadh - air atharrachadh bhon t-Seanalair gu rudeigin eile agus air chall airson ar slabhraidh Markov.
  • Cùrsa crìochnaichte, Crìochnaichte a’ chùrsa - suidheachadh air leth freagarrach, tha an neach air 80% de na leasanan a chrìochnachadh (chan eil feum air a h-uile leasan).

Tha faighinn a-steach don nód clas soirbheachail a’ ciallachadh crìoch a chuir air an leasan air an àrd-ùrlar againn gu soirbheachail còmhla ris an tidsear. Bidh e a’ clàradh adhartas air a’ chùrsa agus dòigh-obrach a thaobh an toraidh a thathar ag iarraidh - “Crìochnaich an cùrsa.” Tha e cudromach dhuinne gum bi oileanaich a’ frithealadh cho mòr ‘s a ghabhas.

Gus co-dhùnaidhean cainneachdail nas cruinne fhaighinn airson an tagradh gluasadach (nòta seisean app), thog sinn slabhraidhean fa leth airson gach aon de na nodan deireannach agus an uairsin rinn sinn coimeas eadar na cuideaman iomaill ann an dà thaobh:

  • bhon t-seisean app air ais thuige;
  • bho sheisean app gu clas soirbheachail;
  • bho chlas soirbheachail gu seisean app.

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python
Air an taobh chlì tha na h-oileanaich a chrìochnaich an cùrsa, air an làimh dheis tha an fheadhainn a "thuit nan cadal"

Tha na trì oirean seo a’ sealltainn a’ cheangail eadar soirbheachas oileanach agus mar a chleachdas iad an app gluasadach. Bha sinn an dùil faicinn gum biodh ceangal nas làidire aig oileanaich a chrìochnaich an cùrsa ris an tagradh na oileanaich a thuit nan cadal. Ach, ann an da-rìribh fhuair sinn dìreach na toraidhean eile:

  • rinn sinn cinnteach gu bheil diofar bhuidhnean de luchd-cleachdaidh ag eadar-obrachadh leis an aplacaid fòn-làimhe ann an dòigh eadar-dhealaichte;
  • chan eil oileanaich soirbheachail a’ cleachdadh an aplacaid gluasadach cho dian;
  • bidh oileanaich a thuiteas nan cadal a’ cleachdadh an aplacaid gluasadach nas gnìomhaiche.

Tha seo a’ ciallachadh gum bi oileanaich a thuiteas nan cadal a’ tòiseachadh a’ caitheamh barrachd is barrachd ùine san tagradh gluasadach agus, aig a’ cheann thall, a’ fuireach ann gu bràth.

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

An toiseach bha iongnadh oirnn, ach an dèidh smaoineachadh mu dheidhinn, thuig sinn gur e buaidh gu tur nàdarra a bha seo. Aig aon àm, rinn mi sgrùdadh air Fraingis leam fhìn a’ cleachdadh dà inneal: tagradh gluasadach agus òraidean gràmair air YouTube. An toiseach, roinn mi an ùine eatorra ann an co-mheas de 50 gu 50. Ach tha an tagradh nas spòrsail, tha gamification ann, tha a h-uile dad sìmplidh, luath agus soilleir, ach anns an òraid feumaidh tu sgrùdadh a dhèanamh air, sgrìobh rudeigin sìos. , cleachd ann an leabhar notaichean. Mean air mhean, thòisich mi air barrachd ùine a chaitheamh air an fhòn-smart agam, gus an do dh’ fhàs a chuibhreann gu 100%: ma chaitheas tu trì uairean a thìde air, cruthaichidh tu faireachdainn meallta de dh ’obair chrìochnaichte, air sgàth sin chan eil miann agad a dhol a dh’ èisteachd ri rud sam bith. .

Ach ciamar as urrainn seo a bhith? Às deidh na h-uile, chruthaich sinn tagradh gluasadach gu sònraichte, air a thogail ann an lùb Ebbinghaus, gamified e, ga dhèanamh tarraingeach gus am biodh daoine a’ caitheamh ùine ann, ach tha e a ’tionndadh a-mach nach eil e ach a’ tarraing aire orra? Gu dearbh, is e an adhbhar gun do dhèilig an sgioba tagraidh gluasadach ris na gnìomhan aca ro mhath, agus mar thoradh air an sin thàinig e gu bhith na thoradh fionnar, fèin-sheasmhach agus thòisich e a ’tuiteam a-mach às an eag-shiostam againn.

Mar thoradh air an rannsachadh, dh'fhàs e soilleir gum feumadh an aplacaid gluasadach atharrachadh dòigh air choireigin gus nach biodh e cho tarraingeach bhon phrìomh chùrsa sgrùdaidh. Agus an dà chuid clann agus inbhich. Tha an obair seo a’ dol air adhart an-dràsta.

An dàrna cùis: bugaichean air bòrd

Tha dol air bòrd na dhòigh-obrach a bharrachd roghainneil nuair a bhios tu a’ clàradh oileanach ùr, a’ cur às do dhuilgheadasan teicnigeach san àm ri teachd. Tha an suidheachadh bunaiteach a 'gabhail ris gu bheil neach air clàradh air an duilleag tighinn air tìr, air cothrom fhaighinn air a' chunntas pearsanta aige, gun deach fios a chur thuige agus leasan tòiseachaidh a thoirt dha. Aig an aon àm, tha sinn a 'toirt fa-near àireamh mhòr sa cheud de dhuilgheadasan teignigeach rè an leasan tòiseachaidh: chan eil an dreach ceàrr den bhrobhsair, am micreofon no fuaim ag obair, chan urrainn don tidsear fuasgladh a mholadh sa bhad, agus tha seo uile gu sònraichte duilich nuair a thig e. ri clann. Mar sin, tha sinn air tagradh a bharrachd a leasachadh sa chunntas pearsanta agad, far an urrainn dhut ceithir ceumannan sìmplidh a choileanadh: thoir sùil air do bhrobhsair, camara, microfòn agus dearbhaich gum bi pàrantan faisg air làimh tron ​​​​leas tòiseachaidh (às deidh a h-uile càil, is iadsan an fheadhainn a phàigheas airson). foghlam an cuid chloinne).

Sheall na beagan dhuilleagan air bòrd seo funail mar seo:

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python
1: bloc tòiseachaidh le trì foirmichean inntrigidh agus facal-faire beagan eadar-dhealaichte (a rèir an neach-dèiligidh).
2: bogsa seic ag aontachadh ris a 'mhodh-obrachaidh a bharrachd air bòrd.
2.1-2.3: Thoir sùil airson làthaireachd phàrantan, dreach Chrome agus fuaim.
3: bloc mu dheireadh.

Tha e a 'coimhead gu math nàdarra: anns a' chiad dà cheum, bidh a 'mhòr-chuid de luchd-tadhail a' fàgail, a 'tuigsinn gu bheil rudeigin ri lìonadh, seic, ach chan eil ùine ann. Ma tha an neach-dèiligidh air an treas ceum a ruighinn, cha mhòr gu cinnteach ruigidh e a ’chuairt dheireannach. Chan eil aon adhbhar ann a bhith fo amharas mu rud sam bith air an funail.

Ach a dh’ aindeoin sin, chuir sinn romhainn sgrùdadh a dhèanamh air ar bòrdadh chan ann air funail aon-mheudach clasaigeach, ach a’ cleachdadh slabhraidh Markov. Thionndaidh sinn beagan a bharrachd thachartasan, ruith sinn an sgriobt agus fhuair sinn seo:

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

Anns an ùpraid seo, chan urrainnear ach aon rud a thuigsinn gu soilleir: chaidh rudeigin ceàrr. Tha am pròiseas air bòrd sreathach, tha seo dualach don dealbhadh, cha bu chòir lìonra de cheanglaichean a bhith ann. Agus an seo tha e soilleir sa bhad gu bheil an neach-cleachdaidh air a thilgeil eadar ceumannan, eadar nach bu chòir eadar-ghluasad sam bith a bhith ann.

Mar a chleachdas sinn slabhraidhean Markov ann a bhith a’ luachadh fhuasglaidhean agus a’ lorg bhiteagan. Le sgriobt python

Is dòcha gu bheil dà adhbhar ann airson an dealbh neònach seo:

  • chaidh sgaothan a-steach don stòr-dàta log;
  • Tha mearachdan anns an toradh fhèin - air bòrd.

Tha e coltach gu bheil a’ chiad adhbhar fìor, ach tha e gu math saothair-dian a dhearbhadh, agus cha chuidich ceartachadh nan logaichean an UX a leasachadh. Ach leis an dàrna fear, ma tha e ann, dh'fheumadh rudeigin a dhèanamh gu h-èiginneach. Mar sin, chaidh sinn a choimhead air na nodan, comharrachadh oirean nach bu chòir a bhith ann, agus coimhead airson na h-adhbharan airson gun do thachair iad. Chunnaic sinn gu robh cuid de luchd-cleachdaidh a 'dol an sàs agus a' coiseachd ann an cearcallan, thuit cuid eile a-mach às a 'mheadhan chun an toiseach, agus cuid eile, ann am prionnsabal, cha b' urrainn dhaibh faighinn a-mach às a 'chiad dà cheum. Ghluais sinn an dàta gu QA - agus tha, thionndaidh e a-mach gu robh mialan gu leòr air bòrd: is e seo fo-toradh mar sin, beagan de chrutch, cha deach a dhearbhadh gu domhainn gu leòr, oir ... Cha robh dùil againn ri duilgheadasan sam bith. A-nis tha am pròiseas clàraidh gu lèir air atharrachadh.

Sheall an sgeulachd seo dhuinn cleachdadh ris nach robh dùil de shlabhraidhean Markov ann an raon QA.

Feuch e fhèin!

Chuir mi mo phost Python sgriobt airson trèanadh slabhraidhean Markov san raon phoblach - cleachd e airson do shlàinte. Sgrìobhainnean air GitHub, faodar ceistean fhaighneachd an seo, feuchaidh mi ri a h-uile dad a fhreagairt.

Uill, ceanglaichean feumail: Leabharlann NetworkX, Luchdaich a-nuas graphviz sealladair. Agus an seo tha artaigil ann mu Habré mu dheidhinn slabhraidhean Markov. Tha na grafaichean san artaigil air an dèanamh le bhith a’ cleachdadh Gephi.

Source: www.habr.com

Cuir beachd ann