Ang layunin ng artikulo ay magbigay ng suporta sa mga baguhang data scientist. SA
Bakit makatuwirang bigyang-pansin ang formula ?
Ito ay sa matrix equation na sa karamihan ng mga kaso ay nagsisimula ang kakilala sa linear regression. Kasabay nito, bihira ang mga detalyadong kalkulasyon kung paano nakuha ang formula.
Halimbawa, sa mga kurso sa pag-aaral ng makina ng Yandex, kapag ipinakilala ang mga mag-aaral sa regularisasyon, inaalok silang gumamit ng mga function mula sa library sklearn, habang walang nabanggit na salita tungkol sa representasyon ng matrix ng algorithm. Ito ay sa puntong ito na ang ilang mga tagapakinig ay maaaring nais na maunawaan ang isyung ito nang mas detalyado - magsulat ng code nang hindi gumagamit ng mga yari na function. At para dito, kailangan muna nating ipakita ang equation na may regularizer sa matrix form. Ang artikulong ito, lamang, ay magpapahintulot sa mga nagnanais na makabisado ang gayong mga kasanayan. Magsimula na tayo.
Mga paunang kondisyon
Mga target
Mayroon kaming hanay ng mga target na halaga. Halimbawa, ang isang target ay maaaring ang presyo ng isang asset: langis, ginto, trigo, dolyar, atbp. Kasabay nito, sa ilalim ng hanay ng mga halaga ng tagapagpahiwatig ng target, ibig sabihin namin ang bilang ng mga obserbasyon. Ang ganitong mga obserbasyon ay maaaring, halimbawa, buwanang presyo ng langis para sa taon, iyon ay, magkakaroon tayo ng 12 target na halaga. Simulan natin ang pagpapakilala ng notasyon. Tukuyin natin ang bawat halaga ng target na tagapagpahiwatig bilang . Sa kabuuan mayroon kami mga obserbasyon, upang mairepresenta namin ang aming mga obserbasyon bilang .
Mga regressor
Ipagpalagay namin na may mga kadahilanan na sa isang tiyak na lawak ay nagpapaliwanag ng mga halaga ng target na tagapagpahiwatig. Halimbawa, ang halaga ng palitan ng pares ng dolyar/ruble ay malakas na naiimpluwensyahan ng presyo ng langis, rate ng Fed, atbp. Ang mga naturang kadahilanan ay tinatawag na mga regressor. Kasabay nito, ang bawat halaga ng target na tagapagpahiwatig ay dapat na tumutugma sa halaga ng regressor, iyon ay, kung mayroon tayong 12 target na tagapagpahiwatig para sa bawat buwan sa 2018, dapat din tayong magkaroon ng 12 mga halaga ng regressor para sa parehong panahon. Tukuyin ang mga halaga ng bawat regressor sa pamamagitan ng . Hayaan sa aming kaso mayroon kami regressors (i.e. mga kadahilanan na nakakaimpluwensya sa mga halaga ng target na tagapagpahiwatig). Kaya't ang ating mga regressor ay maaaring katawanin tulad ng sumusunod: para sa 1st regressor (halimbawa, ang presyo ng langis): , para sa 2nd regressor (halimbawa, ang Fed rate): , Para sa "-th" regressor:
Pag-asa ng mga target na tagapagpahiwatig sa mga regressor
Ipagpalagay natin na ang dependence ng target indicator mula sa mga regressor-th" na obserbasyon ay maaaring ipahayag sa pamamagitan ng isang linear regression equation ng form:
Saan - "-th" na halaga ng regressor mula 1 hanggang ,
β ang bilang ng mga regressor mula 1 hanggang
β slope coefficients, na kumakatawan sa halaga kung saan ang kalkuladong target na indicator ay magbabago sa average kapag nagbago ang regressor.
Sa madaling salita, kami ay para sa lahat (maliban sa ) ng regressor, tinutukoy namin ang "aming" koepisyent , pagkatapos ay pinarami namin ang mga coefficient sa mga halaga ng mga regressors "-th" obserbasyon, bilang isang resulta nakakakuha kami ng isang tiyak na pagtatantya "-th" na tagapagpahiwatig ng target.
Samakatuwid, kailangan nating pumili ng gayong mga coefficient , kung saan ang mga halaga ng aming tinatayang function ay matatagpuan nang mas malapit hangga't maaari sa mga target na halaga.
Pagtatantya ng kalidad ng approximating function
Tutukuyin namin ang pagtatantya ng kalidad ng approximating function sa pamamagitan ng least squares method. Ang pagpapaandar ng pagsusuri ng kalidad sa kasong ito ay kukuha ng sumusunod na anyo:
Kailangan nating pumili ng mga naturang halaga ng mga coefficient $w$ kung saan ang halaga magiging pinakamaliit.
Isinasalin namin ang equation sa isang matrix form
Representasyon ng vector
Upang magsimula, upang gawing mas madali ang iyong buhay, dapat mong bigyang pansin ang linear regression equation at mapansin na ang unang koepisyent ay hindi pinarami ng anumang regressor. Kasabay nito, kapag na-convert namin ang data sa isang matrix form, ang sitwasyon sa itaas ay seryosong magpapalubha sa mga kalkulasyon. Kaugnay nito, iminungkahi na magpakilala ng isa pang regressor para sa unang koepisyent at itumbas ito sa isa. Sa halip, bawat isaequate ang "th" na halaga ng regressor na ito sa isa - pagkatapos ng lahat, kapag nagpaparami ng isa, walang magbabago mula sa punto ng view ng resulta ng mga kalkulasyon, at mula sa punto ng view ng mga patakaran para sa produkto ng mga matrice, ang aming ang pagdurusa ay mababawasan nang malaki.
Ngayon, sa sandaling ito, para sa kapakanan ng pagiging simple, ipagpalagay natin na mayroon lamang tayong isa "ika obserbasyon. Pagkatapos, ipinakita namin ang mga halaga ng mga regressor "ika" obserbasyon bilang isang vector . Vector may sukat Iyon ay, mga row at 1 column:
Kinakatawan namin ang mga kinakailangang coefficient bilang isang vector , na may sukat :
Linear regression equation para sa "-th" na obserbasyon ay kukuha ng anyo:
Ang pagpapaandar ng pagtatasa ng kalidad ng linear na modelo ay kukuha ng anyo:
Tandaan na alinsunod sa mga patakaran ng matrix multiplication, kailangan naming i-transpose ang vector .
Representasyon ng matrix
Bilang resulta ng pagpaparami ng vector, nakakakuha tayo ng numero: , na dapat asahan. Ang numerong ito ay isang pagtatantya-th" target na tagapagpahiwatig. Ngunit kailangan namin ng isang pagtatantya hindi ng isang halaga ng target na tagapagpahiwatig, ngunit ng lahat. Upang gawin ito, isinulat namin ang lahat-th" na mga regressor sa matrix na format . Ang resultang matrix ay may sukat :
Ngayon ang linear regression equation ay kukuha ng form:
Tukuyin natin ang mga halaga ng mga target na tagapagpahiwatig (lahat ) bawat vector sukat :
Ngayon ay maaari nating isulat sa isang matrix na format ang equation para sa pagtantya ng kalidad ng isang linear na modelo:
Sa totoo lang, mula sa formula na ito, mas nakukuha natin ang formula na alam natin
Paano ito nagawa? Binubuksan ang mga panaklong, ginagawa ang pagkakaiba-iba, binago ang mga resultang expression, atbp., at ito ang gagawin natin ngayon.
Mga pagbabago sa matrix
Buksan natin ang mga bracket
Ihanda natin ang equation para sa differentiation
Upang gawin ito, magsasagawa kami ng ilang mga pagbabago. Sa kasunod na mga kalkulasyon, ito ay magiging mas maginhawa para sa amin kung ang vector ipapakita sa simula ng bawat produkto sa equation.
Pagbabago 1
Paano ito nangyari? Upang masagot ang tanong na ito, ito ay sapat na upang tingnan ang mga laki ng multiply matrices at makita na sa output makakakuha tayo ng isang numero o kung hindi man. .
Isulat natin ang mga sukat ng matrix expression.
Pagbabago 2
Isulat natin ang katulad ng pagbabagong-anyo 1
Sa output, nakakakuha tayo ng equation na kailangan nating pag-iba-ibahin:
Pinag-iiba namin ang function ng pagtatasa sa kalidad ng modelo
Magkaiba nang may paggalang sa vector :
Mga tanong kung bakit hindi dapat, ngunit susuriin namin ang mga operasyon para sa pagtukoy ng mga derivative sa iba pang dalawang expression nang mas detalyado.
Derivation 1
Palawakin natin ang pagkakaiba-iba:
Upang matukoy ang derivative ng isang matrix o vector, kailangan mong tingnan kung ano ang nasa loob nila. Tumingin kami:
Tukuyin ang produkto ng matrices sa pamamagitan ng matris . Matrix parisukat at bukod dito, ito ay simetriko. Ang mga pag-aari na ito ay magiging kapaki-pakinabang sa amin sa ibang pagkakataon, tandaan ang mga ito. Matrix may sukat :
Ngayon ang aming gawain ay upang tama na i-multiply ang mga vectors sa pamamagitan ng matrix at hindi makakuha ng "dalawang beses dalawang lima", kaya mag-focus tayo at maging lubhang maingat.
Gayunpaman, mayroon kaming masalimuot na ekspresyon! Sa katunayan, nakakuha kami ng isang numero - isang scalar. At ngayon, sa totoo lang, bumaling tayo sa pagkakaiba-iba. Kinakailangang hanapin ang derivative ng resultang expression para sa bawat coefficient at kunin ang vector ng dimensyon ng output . Kung sakali, isusulat ko ang mga pamamaraan para sa mga aksyon:
1) pagkakaiba-iba nang may paggalang sa , nakukuha namin ang:
2) pagkakaiba-iba nang may paggalang sa , nakukuha namin ang:
3) pagkakaiba-iba nang may paggalang sa , nakukuha namin ang:
Ang output ay ang ipinangakong vector ng laki :
Kung titingnan mo ang vector, mapapansin mo na ang kaliwa at kaukulang kanang elemento ng vector ay maaaring pagsama-samahin sa paraang, bilang isang resulta, ang isang vector ay maaaring mapili mula sa ipinakita na vector. laki . Halimbawa (kaliwang elemento ng tuktok na hilera ng vector) (ang kanang elemento ng tuktok na hilera ng vector) ay maaaring katawanin bilang At - bilang atbp. para sa bawat linya. Mag grupo tayo:
Ilabas ang vector at sa output nakukuha natin:
Ngayon, tingnan natin ang resultang matrix. Ang matrix ay ang kabuuan ng dalawang matrice :
Alalahanin na medyo mas maaga, nabanggit namin ang isang mahalagang katangian ng matrix - ito ay simetriko. Batay sa pag-aari na ito, maaari naming kumpiyansa na sabihin na ang expression katumbas ng . Ito ay madaling suriin sa pamamagitan ng pagpapalawak ng produkto ng matrices na elemento sa pamamagitan ng elemento . Hindi namin ito gagawin dito, ang mga nais ay maaaring suriin ito sa kanilang sarili.
Balik tayo sa expression natin. Pagkatapos ng aming mga pagbabago, ito ay naging paraang gusto namin itong makita:
Kaya, hinarap namin ang unang pagkakaiba. Lumipat tayo sa pangalawang expression.
Derivation 2
Tara na. Ito ay magiging mas maikli kaysa sa nauna, kaya huwag masyadong lumayo sa screen.
Palawakin natin ang elemento ng vector at matrix ayon sa elemento:
Sa ilang sandali, aalisin namin ang deuce mula sa mga kalkulasyon - hindi ito gumaganap ng malaking papel, pagkatapos ay ibabalik namin ito sa lugar nito. Pinaparami namin ang mga vector sa matrix. Una, i-multiply ang matrix bawat vector , wala kaming mga paghihigpit dito. Kunin ang laki ng vector :
Gawin natin ang sumusunod na aksyon - paramihin ang vector sa nagresultang vector. Sa output, isang numero ang naghihintay sa atin:
Iibahin natin ito. Sa output nakakakuha kami ng isang vector ng mga sukat :
Ito ba ay nagpapaalala sa iyo ng isang bagay? Lahat tama! Ito ang produkto ng matrix bawat vector .
Kaya, matagumpay na nakumpleto ang pangalawang pagkita ng kaibhan.
Sa halip ng isang konklusyon
Ngayon alam na natin kung paano nangyari ang pagkakapantay-pantay .
Sa wakas, inilalarawan namin ang isang mabilis na paraan upang baguhin ang mga pangunahing formula.
Suriin natin ang kalidad ng modelo alinsunod sa pamamaraan ng hindi bababa sa mga parisukat:
Pinag-iiba namin ang resultang expression:
Panitikan
Mga mapagkukunan sa Internet:
1)
2)
3)
4)
Mga aklat-aralin, mga koleksyon ng mga gawain:
1) Mga tala sa panayam sa mas mataas na matematika: buong kurso / D.T. Nakasulat - ika-4 na ed. - M .: Iris-press, 2006
2) Inilapat na pagsusuri ng regression / N. Draper, G. Smith - 2nd ed. - M .: Pananalapi at mga istatistika, 1986 (isinalin mula sa Ingles)
3) Mga gawain para sa paglutas ng mga equation ng matrix:
Pinagmulan: www.habr.com