{"id":37955,"date":"2019-10-31T22:20:47","date_gmt":"2019-10-31T19:20:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya\/"},"modified":"2019-10-31T22:20:47","modified_gmt":"2019-10-31T19:20:47","slug":"linejnaya-regressiya-i-metody-eyo-vosstanovleniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya","title":{"rendered":"Line\u00e1rna regresia a met\u00f3dy jej obnovy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/60ca67872405e9f15b151e958f04260d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Zdroj: <noindex><a rel=\"nofollow\" href=\"https:\/\/xkcd.com\/1725\/\">xkcd<\/a><\/noindex><\/i><\/p>\n<p>Line\u00e1rna regresia je jedn\u00fdm z z\u00e1kladn\u00fdch algoritmov pre mnoh\u00e9 oblasti s\u00favisiace s anal\u00fdzou d\u00e1t. D\u00f4vod je zrejm\u00fd. Je to ve\u013emi jednoduch\u00fd a zrozumite\u013en\u00fd algoritmus, \u010do podporuje jeho \u0161irok\u00e9 pou\u017eitie u\u017e cel\u00e9 desa\u0165ro\u010dia, ak nie storo\u010dia. My\u0161lienka spo\u010d\u00edva v tom, \u017ee predpoklad\u00e1me line\u00e1rnu z\u00e1vislos\u0165 jednej premennej od s\u00faboru \u010fal\u0161\u00edch premenn\u00fdch a n\u00e1sledne sa sna\u017e\u00edme t\u00fato z\u00e1vislos\u0165 obnovi\u0165.<\/p>\n<p>Ale v tomto \u010dl\u00e1nku sa nebude hovori\u0165 o pou\u017eit\u00ed line\u00e1rnej regresie na rie\u0161enie praktick\u00fdch \u00faloh. Tu bud\u00fa presk\u00faman\u00e9 zauj\u00edmav\u00e9 vlastnosti implement\u00e1cie distribuovan\u00fdch algoritmov jej obnovy, s ktor\u00fdmi sme sa stretli pri p\u00edsan\u00ed modulu strojov\u00e9ho u\u010denia v <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/\">Apache Ignite<\/a><\/noindex>. Trochu z\u00e1kladnej matematiky, z\u00e1kladov strojov\u00e9ho u\u010denia a distribuovan\u00fdch v\u00fdpo\u010dtov pom\u00f4\u017ee pochopi\u0165, ako obnovi\u0165 line\u00e1rnu regresiu, aj ke\u010f s\u00fa d\u00e1ta rozdelen\u00e9 medzi tis\u00edckami uzlov.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>O \u010dom je re\u010d?<\/h3>\n<p>\nM\u00e1me pred sebou \u00falohu obnovy line\u00e1rnej z\u00e1vislosti. Ako vstupn\u00e9 \u00fadaje sa poskytuje mno\u017estvo vektorov predpokladane nez\u00e1visl\u00fdch premenn\u00fdch, ktor\u00fdm je priraden\u00e1 nejak\u00e1 hodnota z\u00e1vislej premennej. Tieto \u00fadaje m\u00f4\u017eeme predstavi\u0165 vo forme dvoch mat\u00edc:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/2ffbdd09fdc5efaf287fbb4935033302.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nTeraz, ke\u010f predpoklad\u00e1me z\u00e1vislos\u0165, a navy\u0161e aj line\u00e1rnu, zap\u00ed\u0161eme na\u0161e predpoklady vo forme s\u00fa\u010dinu mat\u00edc (pre zjednodu\u0161enie z\u00e1pisu sa tu a \u010falej predpoklad\u00e1, \u017ee vo\u013en\u00fd \u010dlen rovnice je skryt\u00fd za <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/21e90cb829e0bc2e12c836f7810c1b1a.png\" style=\"display:block;margin: 0 auto;\" \/>, a posledn\u00fd st\u013apec matice <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/25c0af2e153ae371e71588efe3bc2ee2.png\" style=\"display:block;margin: 0 auto;\" \/> obsahuje jedni\u010dky):<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/b1c3c8d2332ae27eedeef675178dee4f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nVe\u013emi podobn\u00e9 syst\u00e9mu line\u00e1rnych rovn\u00edc, \u017ee? Vyzer\u00e1 to tak, ale rie\u0161en\u00ed tohto syst\u00e9mu rovn\u00edc pravdepodobne nebude. Pr\u00ed\u010dinou je \u0161um, ktor\u00fd sa vyskytuje prakticky v ak\u00fdchko\u013evek re\u00e1lnych d\u00e1tach. \u010eal\u0161ou pr\u00ed\u010dinou m\u00f4\u017ee by\u0165 absencia line\u00e1rnej z\u00e1vislosti ako takej, s ktorou sa sna\u017e\u00edme bojova\u0165 zaveden\u00edm \u010fal\u0161\u00edch premenn\u00fdch, ktor\u00e9 s\u00fa neline\u00e1rne z\u00e1visl\u00e9 od p\u00f4vodn\u00fdch. Pozrime sa na nasledovn\u00fd pr\u00edklad:<br \/>\n<img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/d449b8f931e91cc7b33634ee8d4a4329.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Zdroj: <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Linear_regression\">Wikipedia<\/a><\/noindex><\/i><\/p>\n<p>Toto je jednoduch\u00fd pr\u00edklad line\u00e1rnej regresie, ktor\u00fd demon\u0161truje z\u00e1vislos\u0165 jednej premennej (po osi <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/fdea97dff413fb13444d7fd8ab65ca0b.png\" style=\"display:block;margin: 0 auto;\" \/>) od druhej premennej (po osi <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/edf9cb265e4e4655cd84fb8739843952.png\" style=\"display:block;margin: 0 auto;\" \/>). Aby syst\u00e9m line\u00e1rnych rovn\u00edc zodpovedaj\u00faci tomuto pr\u00edkladu mal rie\u0161enie, v\u0161etky body musia le\u017ea\u0165 presne na jednej priamke. Ale to nie je tak. A nelez\u00fa na jednej priamke pr\u00e1ve kv\u00f4li \u0161umu (alebo preto, \u017ee predpoklad o existencii line\u00e1rnej z\u00e1vislosti bol chybn\u00fd). Aby sa teda obnovila line\u00e1rna z\u00e1vislos\u0165 z re\u00e1lnych \u00fadajov, zvy\u010dajne je potrebn\u00e9 zavies\u0165 e\u0161te jedno predpoklad: vstupn\u00e9 \u00fadaje obsahuj\u00fa \u0161um a tento \u0161um m\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Normal_distribution\">norm\u00e1lne rozdelenie<\/a><\/noindex>. M\u00f4\u017eeme robi\u0165 predpoklady aj o in\u00fdch typoch rozdelenia \u0161umu, ale vo v\u00e4\u010d\u0161ine pr\u00edpadov sa zva\u017euje pr\u00e1ve norm\u00e1lne rozdelenie, o ktorom bude \u010falej re\u010d.<\/p>\n<h3>Met\u00f3da maxim\u00e1lnej pravdepodobnosti<\/h3>\n<p>\nTak\u017ee sme predpokladali existenciu n\u00e1hodne norm\u00e1lne rozdelen\u00e9ho \u0161umu. Ako sa teda m\u00e1me v tejto situ\u00e1cii? Na tento pr\u00edpad v matematike existuje a \u0161iroko sa pou\u017e\u00edva <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Maximum_likelihood_estimation\">met\u00f3da maxim\u00e1lnej pravdepodobnosti<\/a><\/noindex>. Ak to zhrnieme, jej podstata spo\u010d\u00edva vo v\u00fdbere <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Likelihood_function\">funkcie pravdepodobnosti<\/a><\/noindex> a jej n\u00e1slednej maximaliz\u00e1cii.<\/p>\n<p>Vr\u00e1\u0165me sa k obnoveniu line\u00e1rnej z\u00e1vislosti z d\u00e1t s norm\u00e1lnym \u0161umom. Poznamenajme, \u017ee predpokladan\u00e1 line\u00e1rna z\u00e1vislos\u0165 je matematick\u00fdm o\u010dak\u00e1van\u00edm <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/73cd24a6605bce1a4f38339ee8c61613.png\" style=\"display:block;margin: 0 auto;\" \/> existuj\u00faceho norm\u00e1lneho rozdelenia. Z\u00e1rove\u0148 pravdepodobnos\u0165 toho, \u017ee <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/caaf32b1af58d748244acbab640bbab8.png\" style=\"display:block;margin: 0 auto;\" \/> berie ur\u010dit\u00fa hodnotu, za podmienky existencie pozorovan\u00fdch <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/9cda87721bba4812b7cec96f204ff5f6.png\" style=\"display:block;margin: 0 auto;\" \/>, vyzer\u00e1 nasledovne:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/7acbd6bff263d52773617904d3249a96.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nTeraz dosad\u00edme nami potrebn\u00e9 premenn\u00e9: <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/d5a167a87fa416e938678b2a80b353dc.png\" style=\"display:block;margin: 0 auto;\" \/> a <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/330ad17be2629a5159b513ba95a96c72.png\" style=\"display:block;margin: 0 auto;\" \/> Zost\u00e1va len n\u00e1js\u0165 vektor<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/57531f93ee0d0050b1fbfc64419f44ad.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n, pri ktorom je t\u00e1to pravdepodobnos\u0165 maxim\u00e1lna. Aby sme maximalizovali tak\u00fa funkciu, je pohodln\u00e9 najprv ju prilogaritmizova\u0165 (logaritmus funkcie dosiahne maximum v tom istom bode, ako sama funkcia): <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/801ebcd43ae0bc0cf54bc0f68bdc21da.png\" style=\"display:block;margin: 0 auto;\" \/>\u010co sa zase zredukuje na minimaliz\u00e1ciu nasleduj\u00facej funkcie:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/7485448a44f8ee201254fea4208deb54.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nMimochodom, toto sa naz\u00fdva met\u00f3da<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/0957864e5dfbfc1147c24784df67af20.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nnajmen\u0161\u00edch \u0161tvorcov <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Linear_least_squares\">. \u010casto s\u00fa v\u0161etky uveden\u00e9 \u00favahy vynechan\u00e9 a jednoducho sa pou\u017e\u00edva t\u00e1to met\u00f3da.<\/a><\/noindex>QR rozklad<\/p>\n<h3>Minimum uvedenej funkcie m\u00f4\u017eeme n\u00e1js\u0165, ak n\u00e1jdeme bod, v ktorom gradient tejto funkcie je rovn\u00fd nule. A gradient bude zap\u00edsan\u00fd nasleduj\u00facim sp\u00f4sobom:<\/h3>\n<p>\nje maticovou met\u00f3dou rie\u0161enia probl\u00e9mu minimaliz\u00e1cie pou\u017e\u00edvanou v met\u00f3de najmen\u0161\u00edch \u0161tvorcov. V tejto s\u00favislosti prep\u00ed\u0161eme rovnicu v maticovej forme:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/1581c46f8fa625826ae2f76ec561dc3f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/QR_decomposition\">Minimum uvedenej funkcie m\u00f4\u017eeme n\u00e1js\u0165, ak n\u00e1jdeme bod, v ktorom gradient tejto funkcie je rovn\u00fd nule. A gradient bude zap\u00edsan\u00fd nasleduj\u00facim sp\u00f4sobom:<\/a><\/noindex> Tak\u017ee rozklad\u00e1me maticu<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/4ee809a96550577df855fbd57049a41c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nna matice <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/2fa2b32bef5246132da5b3b9bc713ab5.png\" style=\"display:block;margin: 0 auto;\" \/> na matrici <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/fd8c620c602ae49e8d6e39ef8b551d0b.png\" style=\"display:block;margin: 0 auto;\" \/> a <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/32804631a9a2f8bff35d0bcf7c29bfc6.png\" style=\"display:block;margin: 0 auto;\" \/> a vykon\u00e1vame rad transform\u00e1ci\u00ed (samotn\u00fd algoritmus QR rozkladu sa tu nebude posudzova\u0165, iba jeho vyu\u017eitie v s\u00favislosti s danou \u00falohou):<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/56cfb4ed9126e632cba51940c0d9afe6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nMatica <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/106bb4d6704eb9f42078555c662a8b97.png\" style=\"display:block;margin: 0 auto;\" \/> je ortogon\u00e1lna. To n\u00e1m umo\u017e\u0148uje zbavi\u0165 sa s\u00fa\u010dinu <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/618077c012f7b81f23756b9c1e54eb73.png\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/1715fb2e77d8be75e68e4791997aaa44.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nA ak nahrad\u00edme <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/926c51120ec8608bf81dc8f36fcc3ef4.png\" style=\"display:block;margin: 0 auto;\" \/> na <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/9e578153ea2dc36d0eb86be4eedf4899.png\" style=\"display:block;margin: 0 auto;\" \/>, dostaneme <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/8cd914db7317c01dc5449c70b36dba73.png\" style=\"display:block;margin: 0 auto;\" \/>. Ke\u010f\u017ee <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/88fa4e81fc2bedf16e41e90e320a5647.png\" style=\"display:block;margin: 0 auto;\" \/> je horn\u00e1 trojuholn\u00edkov\u00e1 matica, vyzer\u00e1 to nasledovne:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/689eaaece2a497c5bd02582e3e672a41.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nToto mo\u017eno rie\u0161i\u0165 met\u00f3dou substit\u00facie. Prvok <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/e163597c97a539238731c31ca5ce011b.png\" style=\"display:block;margin: 0 auto;\" \/> sa nach\u00e1dza ako <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/211d86418c9a38f164f490b1a7b5fb71.png\" style=\"display:block;margin: 0 auto;\" \/>, predch\u00e1dzaj\u00faci prvok <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/ed3742b3a7cfb14bad801485a8cf01df.png\" style=\"display:block;margin: 0 auto;\" \/> sa nach\u00e1dza ako <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/b3e582f565e1060b47af4008a98c3524.png\" style=\"display:block;margin: 0 auto;\" \/> a tak \u010falej.<\/p>\n<p>Tu treba poznamena\u0165, \u017ee zlo\u017eitosti z\u00edskan\u00e9ho algoritmu v\u010faka pou\u017eitiu QR rozkladu je rovn\u00e1k <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/c5c20145b7b165120d9979c2e2ca4711.png\" style=\"display:block;margin: 0 auto;\" \/>. Napriek tomu, \u017ee oper\u00e1cia n\u00e1sobenia mat\u00edc sa dobre paralelizuje, nap\u00edsa\u0165 efekt\u00edvnu distribuovan\u00fa verziu tohto algoritmu sa nezd\u00e1 mo\u017en\u00e9.<\/p>\n<h3>Gradientn\u00fd pokles<\/h3>\n<p>\nKe\u010f hovor\u00edme o minimaliz\u00e1cii nejakej funkcie, v\u017edy by sme mali spomen\u00fa\u0165 met\u00f3du (stochastick\u00e9ho) gradientn\u00e9ho poklesu. Je to jednoduch\u00e1 a efekt\u00edvna met\u00f3da minimaliz\u00e1cie zalo\u017een\u00e1 na iterat\u00edvnom v\u00fdpo\u010dte gradientu funkcie v bode a n\u00e1slednom posune v smere opa\u010dnom k gradientu. Ka\u017ed\u00fd tak\u00fd krok pribli\u017euje rie\u0161enie k minimu. Gradient pritom vyzer\u00e1 st\u00e1le rovnako:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/d195806787197323312be7c0b9d8b240.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Taktie\u017e je t\u00e1to met\u00f3da dobre paralelizovate\u013en\u00e1 a distribuovate\u013en\u00e1 v\u010faka line\u00e1rnym vlastnostiam oper\u00e1tora gradientu. Poznamenajme, \u017ee vo vy\u0161\u0161ie uvedenom vzorci pod znamienkom sumy s\u00fa nez\u00e1visl\u00e9 s\u010d\u00edtance. In\u00fdmi slovami, m\u00f4\u017eeme vypo\u010d\u00edta\u0165 gradient nez\u00e1visle pre v\u0161etky indexy <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/0c10d574f70b318b6562fb444e460fa7.png\" style=\"display:block;margin: 0 auto;\" \/> od prv\u00e9ho po <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/c9b39d76c5f724af137b5db3053e1a60.png\" style=\"display:block;margin: 0 auto;\" \/>, paralelne s t\u00fdm vypo\u010d\u00edta\u0165 gradient pre indexy od <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/1a9407fcb4ec67a171463d36dca30a80.png\" style=\"display:block;margin: 0 auto;\" \/> do <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/f1e29c5b16d68d6377108f53803a9cd0.png\" style=\"display:block;margin: 0 auto;\" \/>. Potom zahrnieme vzniknut\u00e9 gradienty. V\u00fdsledok s\u010d\u00edtania bude rovnak\u00fd, akoby sme vypo\u010d\u00edtali hne\u010f gradient pre indexy od prv\u00e9ho po <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/c5ec5004c59a5343f22894ef676606e3.png\" style=\"display:block;margin: 0 auto;\" \/>. Takto, ak s\u00fa d\u00e1ta rozdelen\u00e9 medzi viacer\u00e9 \u010dasti d\u00e1t, gradient m\u00f4\u017ee by\u0165 vypo\u010d\u00edtan\u00fd nez\u00e1visle na ka\u017edej \u010dasti, a potom m\u00f4\u017eu by\u0165 v\u00fdsledky t\u00fdchto v\u00fdpo\u010dtov s\u010d\u00edtan\u00e9 na z\u00edskanie kone\u010dn\u00e9ho v\u00fdsledku:<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/073ce5e3a6688e3a1ae7774aaff1a843.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Z h\u013eadiska realiz\u00e1cie sa to zmest\u00ed do paradigmy <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MapReduce\">MapReduce<\/a><\/noindex>. Na ka\u017edom kroku gradientn\u00e9ho poklesu je ka\u017ed\u00e9mu uzlu d\u00e1t odoslan\u00e1 \u00faloha na v\u00fdpo\u010det gradientu, potom sa vypo\u010d\u00edtan\u00e9 gradienty zhroma\u017e\u010fuj\u00fa spolu a v\u00fdsledok ich s\u010d\u00edtania sa pou\u017e\u00edva na zlep\u0161enie v\u00fdsledku.<\/p>\n<p>Napriek jednoduchej implement\u00e1cii a mo\u017enosti realiz\u00e1cie v paradigme MapReduce m\u00e1 gradientn\u00fd zostup aj svoje nedostatky. Konkr\u00e9tne, po\u010det krokov potrebn\u00fdch na dosiahnutie konvergencie je podstatne vy\u0161\u0161\u00ed v porovnan\u00ed s in\u00fdmi, viac \u0161pecializovan\u00fdmi met\u00f3dami.<\/p>\n<h3>LSQR<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/web.stanford.edu\/group\/SOL\/software\/lsqr\/\">LSQR<\/a><\/noindex> je \u010fal\u0161ou met\u00f3dou rie\u0161enia predlo\u017eenej \u00falohy, ktor\u00e1 je vhodn\u00e1 ako na obnovu line\u00e1rnej regresie, tak na rie\u0161enie syst\u00e9mov line\u00e1rnych rovn\u00edc. Jeho hlavn\u00e1 vlastnos\u0165 spo\u010d\u00edva v tom, \u017ee kombinuje v\u00fdhody maticov\u00fdch met\u00f3d a iterat\u00edvneho pr\u00edstupu. Implement\u00e1cie tejto met\u00f3dy je mo\u017en\u00e9 n\u00e1js\u0165 ako v kni\u017enici <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.scipy.org\/doc\/scipy-0.14.0\/reference\/generated\/scipy.sparse.linalg.lsqr.html\">SciPy<\/a><\/noindex>, tak aj v <noindex><a rel=\"nofollow\" href=\"http:\/\/matlab.izmiran.ru\/help\/techdoc\/ref\/lsqr.html\">MATLAB.<\/a><\/noindex>. Opis tejto met\u00f3dy nebude uveden\u00fd (mo\u017eno ho n\u00e1js\u0165 v \u010dl\u00e1nku <noindex><a rel=\"nofollow\" href=\"https:\/\/web.stanford.edu\/group\/SOL\/software\/lsqr\/lsqr-toms82a.pdf\">LSQR: An algorithm for sparse linear equations and sparse least squares<\/a><\/noindex>). Namiesto toho bude demon\u0161trovan\u00fd pr\u00edstup, ktor\u00fd umo\u017e\u0148uje prisp\u00f4sobi\u0165 LSQR pre vykon\u00e1vanie v distribuovanom prostred\u00ed.<\/p>\n<p>Z\u00e1kladom met\u00f3dy LSQR je <noindex><a rel=\"nofollow\" href=\"http:\/\/www.netlib.org\/utk\/people\/JackDongarra\/etemplates\/node198.html\">proced\u00fara bidiagonaliz\u00e1cie<\/a><\/noindex>. Ide o iterat\u00edvnu proced\u00faru, ktorej ka\u017ed\u00e1 iter\u00e1cia pozost\u00e1va z nasleduj\u00facich krokov:<br \/>\n<img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/3c2f7b5c6f57830e9b522023a8e72a48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAle ak vych\u00e1dzame z toho, \u017ee matica <img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/e86c3c422629b78bc574f66db8a6139d.png\" style=\"display:block;margin: 0 auto;\" \/> je horizont\u00e1lne part\u00edciovan\u00e1, ka\u017ed\u00fa iter\u00e1ciu je mo\u017en\u00e9 predstavi\u0165 vo forme dvoch krokov MapReduce. T\u00fdmto sp\u00f4sobom sa podar\u00ed minimalizova\u0165 prenosy d\u00e1t po\u010das ka\u017edej iter\u00e1cie (iba vektory d\u013a\u017eky rovnej po\u010dtu nezn\u00e1mych):<\/p>\n<p><img decoding=\"async\" alt=\"Line\u00e1rna regresia a met\u00f3dy jej obnovy\" src=\"\/wp-content\/uploads\/2019\/09\/6b67654b29ed24283c4b04d66c05ea5c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTento pr\u00edstup sa pou\u017e\u00edva pri implement\u00e1cii line\u00e1rnej regresie v <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/apache\/ignite\/blob\/master\/modules\/ml\/src\/main\/java\/org\/apache\/ignite\/ml\/math\/isolve\/lsqr\/AbstractLSQR.java\">Apache Ignite ML<\/a><\/noindex>.<\/p>\n<h3>Z\u00e1ver<\/h3>\n<p>\nExistuje mnoho algoritmov na obnovu line\u00e1rnej regresie, ale nie v\u0161etky m\u00f4\u017eu by\u0165 aplikovan\u00e9 za ak\u00fdchko\u013evek podmienok. Tak QR rozklad je vynikaj\u00faci pre presn\u00e9 rie\u0161enia na mal\u00fdch mno\u017estv\u00e1ch \u00fadajov. Gradientn\u00fd zostup je jednoducho realizovate\u013en\u00fd a umo\u017e\u0148uje r\u00fdchlo n\u00e1js\u0165 pribl\u00ed\u017een\u00e9 rie\u0161enie. A LSQR kombinuje najlep\u0161ie vlastnosti predch\u00e1dzaj\u00facich dvoch algoritmov, ke\u010f\u017ee m\u00f4\u017ee by\u0165 distribuovan\u00fd, r\u00fdchlej\u0161ie konverguje v porovnan\u00ed s gradientn\u00fdm zostupom, a tie\u017e umo\u017e\u0148uje pred\u010dasn\u00e9 zastavenie algoritmu na rozdiel od QR rozkladu pri h\u013eadan\u00ed pribl\u00ed\u017een\u00e9ho rie\u0161enia.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/465743\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: xkcd \u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u044d\u0442\u043e\u043c\u0443 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0447\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 \u0435\u0433\u043e \u0448\u0438\u0440\u043e\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0443\u0436\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u043e\u0442\u043d\u0438, \u043b\u0435\u0442. \u0418\u0434\u0435\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c \u043b\u0438\u043d\u0435\u0439\u043d\u0443\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0442 \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a:\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0435\u0451 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a:\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Line\u00e1rna regresia a met\u00f3dy jej obnovy | ProHoster","description":"Zdroj:","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0435\u0451 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster","og:description":"\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a:","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/linejnaya-regressiya-i-metody-eyo-vosstanovleniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:47+00:00","article:modified_time":"2019-10-31T19:20:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37955","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:55:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:17:23","updated":"2026-01-23 19:55:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/37955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=37955"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/37955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/28483"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=37955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=37955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=37955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}